Scope
- Nagios is an Open Source System Monitor that is available at http://www.nagios.org.
- You can monitor JobScheduler by use of Plugins that check the availability of the daemon/service.
Active Checks and Passive Checks
- Active Checks are initiated from the System Monitor server and are performed on a regular basis, e.g. every 5 minutes.
- The only purpose of Active Checks is to verify the availability of the JobScheduler application.
- This type of check does not provide information about the execution status of individual jobs.
- The System Monitor Plugins provided with this article are intended for Active Checks only.
- Passive Checks are initiated from JobScheduler and report individual execution results to the System Monitor.
- The JobScheduler Monitoring Interface is a complete solution for the management of Passive Checks.
Download and Configuration of the Plugins
Download
Two Plugins are available for download:
- JobScheduler Master: https://download.sos-berlin.com/SystemMonitor/check_jobscheduler.pl
- JobScheduler Universal Agent: https://download.sos-berlin.com/SystemMonitor/check_jobscheduler_agent.pl
Installation
Copy the files to the plugin directory of your System Monitor installation.
Configuration
The configuration for the JobScheduler Master and Agent Plugins includes to define
- a System Monitor Command that defines the parameterization of the Plugin and
- a System Monitor Service which is the visible point of control in the System Monitor console.
JobScheduler Master Plugin
Sample JobScheduler Master Command configuration
# 'check_jobscheduler' command definition define command\{ command_name check_jobscheduler command_line /opt/plugins/check_jobscheduler.pl -i $ARG1$ -H $HOSTADDRESS$ -p $ARG2$ -m $ARG3$ -j $ARG4$ -c $ARG5$ \}
Sample JobScheduler Master Service configuration
define service\{ use generic-service host_name localhost service_description JobScheduler is_volatile 0 check_period 24x7 max_check_attempts 1 normal_check_interval 1 retry_check_interval 1 contact_groups admins notification_options w,u,c,r notification_interval 960 notification_period 24x7 check_command check_jobscheduler!prodscheduler!4444!0!blacklist,test/job3!! active_checks_enabled 1 passive_checks_enabled 0
JobScheduler Agent Plugin
A service Command has to be declared before configuring the System Monitor Service that makes use of this Command.
Sample JobScheduler Agent command configuration
# 'check_jobscheduler_agent' command definition define command\{ command_name check_jobscheduler_agent command_line /opt/plugins/check_jobscheduler_agent.pl -u $ARG1$ -a $ARG2$ -o $ARG3$ -t $ARG4$ \}
When configuring the System Monitor Service then Command parameters have to be specified that are separated by exclamation marks, e.g.
Sample JobScheduler Agent Command parameterization
http://galadriel.sos:4445/jobscheduler/agent/overview!'{totalProcessCount},{currentProcessCount}'!'{startedAt},{totalProcessCount},{currentProcessCount},{isTerminating}'!20
Explanations
- First argument is the URL for the HTTP connection that addresses the Agent via host (
galadriel.sos
) and port 4445 that the Agent is listening to followed by a fixed path (/jobscheduler/agent/overview
). - Second argument is the list of attributes that are used to check the Agent availability. The specified attributes are recommended to check if the Agent answer if formally correct.
- Third argument is the list of attributes that are used for output of the script and that will be displayed in the System Monitor.
startedAt
: point in time when the Agent was started.totalProcessCount
: total number of jobs that have been executed during the lifetime of the Agent.currentProcessCount
: number of jobs that are currently executed by the Agent.isTerminating
: indicates whether the Agent is currently shutting down. Depending on the shutdown command that has been used an Agent will let run currently executed jobs before terminating.
- Fourth argument is the timeout for the connection to the Agent.
Notes
- Consider the use of the HTTPS protocol instead of the HTTP if the Agent is configured for use with Secure HTTPS communication