You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Scope

  • Nagios® is an Open Source System Monitor that is available at http://www.nagios.org. An ecosystem of more or less compatible System Monitors has evolved, e.g. op5®, that makes use of a similar design and configuration.
  • 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 explained in this article are intended for Active Checks only.
  • Passive Checks are initiated from JobScheduler and report individual execution results to a System Monitor.

Download and Installation of the Plugins

Download

Two Plugins are available for download:

Installation

Copy the files to the plugin directory of your System Monitor installation.

Configuration of the Plugins

The configuration for the JobScheduler Master and Agent Plugins includes to define

  • a System Monitor Command that specifies 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 Configuration

Sample JobScheduler Master Command configuration
# 'check_jobscheduler' command definition
define command {
    command_name                check_jobscheduler
    command_line                /opt/plugins/check_jobscheduler.pl -H $HOSTADRESS$ -p $ARG1$ -t $ARG2$ (-u $ARG3$)
}
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!homer.sos!4444!0!!
 active_checks_enabled           1          
 passive_checks_enabled          0  
}

Parameterization

Parameter

 

Default

Description

-H,

--hostname

Name or IP address of the host (homer.sos) on which JobScheduler is running

-p

--port

Port that JobScheduler listens to (4444)

-t

--timeout

30s

Timeout for establishing the connection to JobScheduler

-u--userUser and password for HTTP authentication

Example:

Example Active Check for JobScheduler Master
#JobScheduler running on a server 'test' using port 4444 and HTTP authentication (user and password 'test')
 
<path_to_plugins>/check_jobscheduler.pl -H test -p 4444 -t 30 -u test:test

Notes

  • Perl > 5.8 is required and the Perl package NET::HTTP. You can download and install Perl packages from e.g. http://www.cpan.

JobScheduler Master Plugin via JOC Cockpit with HTTP(S)

Sample Configuration

Sample JobScheduler Master Command configuration
# 'check_jobscheduler_with_joc' command definition
define command {
    command_name                check_jobscheduler_with_joc
    command_line                /opt/plugins/check_jobscheduler_with_joc.pl -j $ARG1$ -i $ARG2$ -a $ARG3$ -t $ARG4$
}
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_with_joc!http://localhost:4446!myJobSchedulerId!test:test!5!
 active_checks_enabled           1          
 passive_checks_enabled          0  
}

Parameterization

Parameter

 

Default

Description

-j--joc-urlUrl of JOC Cockpit
-i--idJobScheduler Id
-a--accountAccount for HTTP authentication to JOC Cockpit (=<user:password>)

-H

--hostname

Name or IP address of the host (homer) on which JobScheduler is running. Only required in a Cluster otherwise Id is unique

-p

--port

HTTP port that JobScheduler listens to (40444). Only required in a Cluster otherwise Id is unique

-t

--timeout

30s

Timeout for establishing the connection to JOC Cockpit

Example:

Example Active Check for JobScheduler Master with JOC Cockpit
#JobScheduler running with the id 'test' and JOC Cockpit has the url http://localhost:4446 where the account (user and password 'test') has access
 
<path_to_plugins>/check_jobscheduler_with_joc.pl -j http://localhost:4446 -i test -a test:test

Notes

  • JOC Cockpit installation since 1.11.4 is required.
  • Perl > 5.8 is required and some Perl packages are required. You can download and install Perl packages from e.g. http://www.cpan.

    • HTTP::Request

    • LWP::UserAgent

    • JSON

JobScheduler Agent Plugin

A service Command has to be declared before configuring the System Monitor Service that makes use of this Command.

Sample Configuration

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/api/overview!'{totalTaskCount},{currentTaskCount}'!'{startedAt},{totalTaskCount},{currentTaskCount},{isTerminating}'!20

Parameterization

Parameter

 

Default

Description

-u,

--url

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/api/overview).

-a

--attributes

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.

-o

--outputvars

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.
  • totalTaskCount: total number of jobs that have been executed during the lifetime of the Agent.
  • currentTaskCount: 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
-t--timeout15sTimeout for establishing 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.
  • Perl > 5.8 is required and some Perl packages are required. You can download and install Perl packages from e.g. http://www.cpan

    • HTTP::Request::Common

    • LWP::UserAgent

    • JSON
    • Data::Dumper

See also

  • JS-684 - Getting issue details... STATUS
  • JS-1480 - Getting issue details... STATUS
  • JS-1715 - Getting issue details... STATUS

Change Management References Web Services

T Key Linked Issues Fix Version/s Status P Summary Updated
Loading...
Refresh

 

 

  • No labels