In some cases, the standard Uptime Infrastructure Monitor service monitors may not fully enable you to monitor all of the systems, applications, and proprietary devices in your environment; in some cases, you may need to capture unique metrics. To do this, you can configure advanced service monitors, or download and install plugin monitors.
These advanced monitors can be simple scripts that run service checks on a host. You can write a shell script, or use a higher-level scripting language like Perl, Python, or Ruby. Or, the advanced monitors can be binary programs that interact with more sophisticated applications. On top of that, advanced monitors do not require an agent to be installed on the system that you are monitoring.
Regardless of how you develop your advanced monitor scripts or programs, those scripts or programs should return the following codes:
Uptime Infrastructure Monitor captures the output from the script or program, usually from standard output ( stdout ). The output appears in the service status section of the Global Scan dashboard (see Understanding the Status of Services). The Uptime Infrastructure Monitor monitoring framework picks up any error codes and triggers the appropriate monitoring action.
If you have already written scripts or programs for other monitoring tools, you can re-use those scripts or programs with Uptime Infrastructure Monitor. You simply point your advanced monitor to where your scripts or programs are located and Uptime Infrastructure Monitor runs them.
The uptime user account on the Uptime Infrastructure Monitor Monitoring Station must be able to execute the script or program that you use.
Contact IDERA customer support Services for help with creating custom monitor scripts.
When creating a script or an executable for an advanced monitor, you should ensure that:
Many of the fields that you use to define an advanced monitor are the same as those used with agent and agentless monitors. You can find more information about those fields in the following sections.
A Custom monitor runs a script that captures information which is related to a situation that may be unique to your environment. When the script is run, the monitored system returns a single line of information to standard output ( stdout ). The script reads stdout, which may contain an error or return value. This error or return value is then displayed in the Uptime Infrastructure Monitor Monitoring Station.
As well, you can specify that the monitor writes the data that the script returns to the Uptime Infrastructure Monitor DataStore. You can use the retained data to later generate a Service Metrics report (see Service Monitor Metrics Report) or a Service Metrics graph.
The name of, and path to, the script or program on the Monitoring Station that collects metrics.
|The uptime user account on the Uptime Infrastructure Monitor Monitoring Station must be able to execute the script or program that you use. Ensure that the permissions for the uptime user account are set correctly.|
Custom monitors with Retained Data return the following information:
You can specify whether the monitor writes any returned data to the Uptime Infrastructure Monitor DataStore. You can use the retained data to later generate a Service Metrics report (see Service Monitor Metrics Report) or a Service Metrics graph (see Viewing System and Service Information).
You can also specify whether the monitor uses retained values as arguments in the custom monitor script. The values used are from the last instance the monitor was run. This most recent data sample can be used in cases where you would like to set alerts based on value comparisons.
When you wish to refer to retained values in a script, use the following environment variable as an argument:
Replace “ # ” with the ordered value the custom monitor is configured to save (i.e., 1 - 10 ).
For example, running a sample script called application.exe with the following arguments would make use of retained values for Variable 1 and Variable 5 as retained by the monitor:
The name of, and path to, the script or program on the Monitoring Station that collects metrics on the system.
|The script or program that you specify must be executable by the uptime user account on the Uptime Infrastructure Monitor Monitoring Station. Ensure that the permissions are set correctly.|
The External Check monitor captures asynchronous events. Uptime Infrastructure Monitor does not actively monitor these events by polling or initiating service checks; instead, External Check monitors rely on an external event to generate the information that the monitors capture. External Check monitors enable you to determine when to collect service data for the event that you specify.
After you define an External Check monitor, it has a status of UNKNOWN until the it is updated with a URI similar to the following template:
$UPTIME_HOST: the hostname of the Uptime Infrastructure Monitor Monitoring Station
$ELEMENT_NAME: the hostname (not display name) of the system the External Check is assigned to
$STATUS: an integer indicating the status of the monitor: 0 = OK, 1 = WARN, 2 = CRIT
$MESSAGE: the message explaining the status
$MONITOR_NAME: the name of the External Check monitor
A sample script,
extevent.pl, is included with Uptime Infrastructure Monitor in the
/scripts subdirectory, and serves as an example of how to automate the receiving of asynchronous events, and update the External Check monitor accordingly. When the script is called with the appropriate arguments, it connects to Uptime Infrastructure Monitor command port (9996), and updates the status, triggering the appropriate Alert Profiles and Action Profiles.
Before using an External Check monitor, contact IDERA Customer Support for assistance. You need specific detailed instructions for configuring this monitor depending on the nature of the applications that generate asynchronous events for Uptime Infrastructure Monitor.
Plugins are custom service monitors that are not part of the standard Uptime Infrastructure Monitor distribution, but can be integrated with it to augment the type of metrics collected. They are typically created by IDERA Client Support Engineers or Solutions Architects to address specific customer needs. Whether created by IDERA or other customers, plugins are hosted on the Grid, the community repository for custom monitors, gadgets, dashboards, and other enhancements. Each plugin on the Grid includes the main distributable archive, any applicable auxiliary files, and essential installation steps.
Installing and maintaining plugins can also be managed from within Uptime Infrastructure Monitor. Users can browse, install, and update plugins using the Extension Manager if their User Role permits plugin management (see Working with User Roles for more information).
Users who are allowed to manage plugins can access this option by clicking the Search for monitors link at the top of the Add Service Monitor pop-up window (accessed by clicking Services > Add Service Monitor). Clicking this link opens the Extension Manager, and displays the following:
When you install a plugin through the Extension Manager, the plugin is downloaded from the Grid and installed automatically. A confirmation dialog indicates that the plugin is installed and is now available to be selected in the Add Service Monitor pop-up window. (The categories the plugin appears in depend on its service monitor definition; see Plugin Guide for more information.) The confirmation dialog also instructs you on follow-up steps, if applicable:
When upgrading a plugin, typically, all the necessary follow-up steps are already performed.