Page History
...
- System Monitors are tools that execute repeated checks for availability of software components.
- For example, 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®, Checkmk and many others.
- Users can monitor JS7 by use of with both Open Source licensed products and by commercially licensed products that to check the availability of the JOC Cockpit, Controller and Agents..
Active
...
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 purpose of Active Checks is to verify the availability of the JS7 components.
- This type of check does not provide information about the execution status of individual jobs.
- Active Checks make use of the JS7 - REST Web Service API. For efficiency the checks are implemented with Perl.
- The System Monitor Plugins explained described in this article are intended for Active Checks.
- Passive Checks are initiated from the JOC Cockpit and report execution results of from workflows and jobs to a System Monitor.
- This mechanism is by far more accurate and efficient than polling the JS7 History for failed workflows and jobs.
- The JobScheduler Monitoring Interface is a complete solution for the management of complex Passive Checks.
...
- JS7 Controller: https://download.sos-berlin.com/SystemMonitor/check_js7_controller.pl
- JS7 Agents:: https://download.sos-berlin.com/SystemMonitor/check_js7_agent.pl
Both Plugins include to check the availability of JOC Cockpit.
...
The configuration for the JS7 Controller and Agent Plugins includes to definedefinitions of
- a System Monitor Command that specifies the parameterization of the Plugin and
- a System Monitor Service that is the visible point of control in the System Monitor console.
...
Code Block | ||||
---|---|---|---|---|
| ||||
# The JS7 Controller is operated for the ID 'jobscheduler' and JOC Cockpit has the URL http://localhost:4446 with the account (user and password 'test') enabled <path_to_plugins>/check_js7_controller.pl -j http://localhost:4446 -i jobscheduler -a test:test |
Notes
- JOC Cockpit installation since version 2.0.0 or newer 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
LWP::Protocol::https
(if HTTPS is used to connect to JOC Cockpit)JSON
MIME::Base64
...
Option | Option (long format) | Data Type | Required | Default | Description |
---|---|---|---|---|---|
-j | --joc-url | String | yes | — | URL of JOC Cockpit (HTTP and HTTPS are supported) |
-i | --id | String | yes | — | ID of a JS7 Controller |
-a | --account | String | yes | — | Account for HTTP authentication to JOC Cockpit (<user:password>) |
-A | --agent | String | no | — | URL of an Agent, optional, can be specified several times |
-c | --cafile | String | no | — | Location of a certificate file or a CA bundle file to verify the SSL connection to JOC Cockpit |
-C | --capath | String | no | — | Path to a directory that includes certificate files or CA bundle files to verify the SSL connection to JOC Cockpit |
-s | --hostname-verification | Switch | no | false | This switch activates SSL hostname verification (recommended) |
-t | --timeout | Number | no | 30 | Timeout in seconds for establishing the connection to JOC Cockpit |
-d | --detailed | Switch | no | false | This switch causes status information for each Agent instance to be returned individually |
...
Code Block | ||||
---|---|---|---|---|
| ||||
# The JS7 Controller is operated for the ID 'jobscheduler' and JOC Cockpit has the URL http://localhost:4446 with the account (user and password 'test') enabled <path_to_plugins>/check_js7_agent.pl -j http://localhost:4446 -i jobscheduler -a test:test |
Notes
- JOC Cockpit installation since version 2.0.0 or newer 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
LWP::Protocol::https
(if HTTPS is used to connect to JOC Cockpit)JSON
MIME::Base64
- Cwd
...
check_js7_agent.pl
calls an optional scriptreport_js7_agent.pl
per Agent.- This script does not connect to JOC Cockpit or perform any checks but simply serves to create individual notifications per Agent to the System Monitor.
- The script is executed if it is available from the same directory as the calling script and has to be executable.
- The script is parameterized to transfer the message type and notification to the System Monitor. Positional arguments are used.
report_js7_agent.pl <joc-cockpit-url> <controller-id> <agent-url> <agent-status>
<joc-cockpit-url>
is the URL that has been specified as a parameter to the scriptcheck_js7_agent.pl
<controller-id>
is the Controller ID that which has been specified as a parameter to the scriptcheck_js7_agent.pl
<agent-url>
is the URL identifying the Agent<agent-status>
is one of "COUPLED" , "RESETTING", "RESET", "COUPLINGFAILED", "UNKNOWN"Code Block language perl title Example report_js7_agent.pl #!/usr/bin/env perl use strict; use warnings; my ($jocUrl, $controllerId, $agentUrl, $agentStateText) = @ARGV; # do something with $jocUrl, $controllerId, $agentUrl, $agentStateText
...