Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This article is part of a series:
Part 1 - Creating Custom Service Monitors in up.timeUptime Infrastructure Monitor
Part 2 - Creating Custom Service Monitors with Retained Data Collection
Part 3 - Creating Plug-in Service Monitors in up.timeUptime Infrastructure Monitor

Custom service monitors with retained data tracking expand on the basic Custom service monitor by allowing you to retain and graph historical trending information returned from your custom script. This enables you to store up to 10 custom application or business metrics per monitor within up.time Uptime Infrastructure Monitor just like system performance metrics returned by the up.time Uptime Infrastructure Monitor agent. This article builds on the scripts and knowledge that were developed in a previous article. Take some time to review the previous article before continuing.

...

To use a custom script with retained data with up.timeUptime Infrastructure Monitor, you must change the output format produced by your script. All of the rules found in a regular custom service monitor still apply with a few slight modifications, as detailed below:

  1. The monitoring station script must return a single number (decimal or integer) per line -- one line for each metric that you want to up.time Uptime Infrastructure Monitor to retain. You can have a maximum of 10 lines retained. The example script output shown below retains the values '10.5' and '99' as two distinct graphable trends within up.timeUptime Infrastructure Monitor:

    > check_temp.sh
    10.5
    99

  2. The output must be in numeric format; you cannot have text output. This enables the service monitor to perform all threshold checking within up.time Uptime Infrastructure Monitor instead of having your script determine thresholds and return an outage message in text format.
  3. The script must exit with a success status (0), unless there has been a problem when the script is run or if you want to force a status for the service monitor.
  4. The script must accept the hostname of the agent system as the first argument. up.time Uptime Infrastructure Monitor will automatically add this argument to the arguments passed to your script.
  5. In general, you do not need to change to your existing agent side script or configuration in order for your service monitor to retain performance metrics.

...

Code Block
languagebash
# we have the output from the agent. If it is ERR that means there was a problem running the script on the agent
`grep ERR $TMPFILE`
if [ $? -eq 0 ]
then
echo "Could not execute agent side script!" 
# by exiting with a 2 we are forcing a CRIT service outage
exit 2
fi

# in this script we don't need to check thresholds or determine which information to check
# we just need to reformat the agent side script output slightly so that only numerical info is displayed
# we do this by trimming off the first word returned on each line from the agent, leaving just the numbers
# and printing that to screen, up.time Uptime Infrastructure Monitor will handle the rest

awk '{print $2}' $TMPFILE

exit 0

 

 

...

Adding Custom Service Monitor with Retained Data to

...

Uptime Infrastructure Monitor

Next, add your custom service monitor with retained performance metrics to the up.time Uptime Infrastructure Monitor Web interface using the same process that you would use to add a standard custom service monitor to upUptime Infrastructure Monitor. time. The Custom with Retained Data monitor option is found in the List Other Monitors section of the Add New Service Instance page.

...

Option NameDescriptionExample
Script NameThe script name is the path to your monitoring station script, this is the script that up.time Uptime Infrastructure Monitor will execute when running this service monitor. Be sure to use the complete path wherever possible and that the path is to a locally mounted volume. For Windows script paths you must use UNIX style directory separators (/ instead of ) and also place double quotes around the entire script nameUNIX/Linux Example:
/usr/local/uptime/check_temp.sh

Windows Example:
"C:/my scripts/check_temp.bat"
ArgumentsThese are the arguments that you would like up.time Uptime Infrastructure Monitor to pass into your monitoring station script. No arguments are required but please be aware that up.time Uptime Infrastructure Monitor will automatically include the selected hostname as the first argument to your script.temp 60 80
Variable 1-10 WarningThis is the warning threshold used against the output returned from your monitoring station script. This is a numeric comparison. You must select both a comparison method and a threshold value to enable the warning level thresholdOutput contains: "warning"
Variable 1-10 CriticalThis is the critical threshold used against the output returned from your monitoring station script. This is a numeric comparison. You must select both a comparison method and a threshold value to enable the critical level thresholdOutput contains: "critical"
Retained Data TrackingThis check box determines if up.time Uptime Infrastructure Monitor will not only check the variable for threshold violations but will also retain the returned values for graphing at a later time. In most cases you should check this box, without it data for the indicated variable will not be retained for graphing.N/A

...

  • Enter a name and description for the monitor.
  • Select a host from the dropdown menu. Be sure to select the same host that your agent side script is on
  • In the Script Name field, enter the path to the custom script on your monitoring station. On Windows systems be sure to use UNIX style / instead of and put quotation marks around your path. For example: "C:/my files/check_temp.bat"
  • In the Arguments field, enter the arguments for the script. up.time Uptime Infrastructure Monitor adds the agent name as the first argument automatically so do not include it.
  • Select contains from the Warning dropdown and enter WARNING as the search text.
  • Select contains from the Critical drop down and enter CRITICAL as the search text.
  • Complete the remainder of the monitor template as you would for a normal service monitor.

...