Contents



Overview

When a service outage occurs, Uptime Infrastructure Monitor can generate an alert in a number of ways including sending an email, opening a Windows pop-up or initiating a pager message. You can also define your own Script Alert that will be executed on the monitoring station when an outage occurs. You can use the Script Alert option to create custom alerting methods that fit your exact needs. Some examples of custom alerting implementations include:

  • SMS modem-based alerting
  • TAPI modem alerting
  • Internal Problem Ticket creation system alerts
  • On call team rotation
  • Customized alert email body formatting

How custom alert scripts work

Please review the online documentation available here - Alerts and Actions

Custom alert scripts are defined with the Script Alert option on the Alert Profile page. The script is a path to a script or executable on the monitoring station system that Uptime Infrastructure Monitor will run when a service outage occurs. You control the actions that the script or executable takes, which provides full control over how Uptime Infrastructure Monitor sends out alert notifications during a service outage.

Note

For Windows alert scripts, the path used must use UNIX-style / instead of \ and must be quoted if your path contains spaces. For example:
"C:/Program Files/uptime software/uptime/scripts/my_custom_alerter.bat"

When Uptime Infrastructure Monitor runs the script or executable, it passes on information about the specific service outage that triggered the alert. This information is passed using the system environment variables that are local to each execution of the recovery script. The script or executable is run once for each Uptime Infrastructure Monitor user that will be notified using this alert.

The environment variables passed to the alert script and their meanings are included below but for the latest documentation please refer to Alert Profile and Action Profile Variables:

VariableDescriptionExample Contents
Service Message Fields - These will remain constant for each execution of your script associated with a single service outage.
UPTIME_ALERTTYPEThis is the type of alert messageOne of: Problem, Recovery
UPTIME_HOSTNAMEThe name of the host that the service outage is associated with.oracle_server
UPTIME_HOSTSTATUSThe status of the host that the service outage is associated with.One of: OK, WARN, CRIT, MAINT, UNKNOWN
UPTIME_MESSAGEThe output section of the alert.Type: Problem
Service: db_status (CRIT/threshold error)
Host: oracle_db (OK)
UPTIME_SUBJECTThe subject line that would normally appear in an emailed alert for this alert.Uptime Alert - UPTIME-oracle_server -> CRIT
UPTIME_SVCNAMEThe name of the service monitor generating this alert.UPTIME-oracle_server
UPTIME_SVCOUTPUTThe output of the service monitor generating this alert.processoccurrences: 0 is less than 1
UPTIME_SVCSTATUSThe current status of the service monitor generating this alert.One of: OK, WARN, CRIT, MAINT, UNKNOWN.
UPTIME_DATETIMEThe date and time of the alert.Mon May 15 11:12:22 EDT 2006
User related fields - these will change for each user that is passed to your script, the script will be executed once for each user that should be notified.
UPTIME_CONTACTLOGINNAMEThe login name of the user who is being notified.testuser
UPTIME_DESKTOPHOSTThe windows desktop hostname setting for the user being notified.testuser-pc
UPTIME_DESKTOPWORKGROUPThe windows workgroup for the desktop host specified above.WORKGROUP
UPTIME_EMAILThe email address associated with the user who is being notified.[email protected]
UPTIME_MOBILEThe pager number associated with the user being notified.[email protected]
General fields
UPTIME_SCRIPTThe name of the current script being executed.C:/Program Files/uptime software/uptime4/scripts/my_custom_alerter.bat
UPTIME_SMTPHELOSTRINGThe HELO string used in your SMTP server configuration. 
UPTIME_SMTPPASSWORDThe password used from authentication in your SMTP server configuration. 
UPTIME_SMTPPORTThe server port used in your SMTP server configuration. 
UPTIME_SMTPSENDERThe sender address string used in your SMTP server configuration. 
UPTIME_SMTPSERVERThe server hostname used in your SMTP server configuration. 
UPTIME_SMTPUSERThe user name used for authentication in your SMTP server configuration. 

  


 

Environment Variable Examples

How the script or executable uses environment variables will vary depending on the language you have used to write your script or executable. The following examples illustrate how environment variables are accessed in several common languages:

LanguageCommon methods of accessing environment variables.
Perl

Use of the ENV array to access environment variables with Perl. For example:

#!/usr/bin/perl
my $user_email = $ENV{UPTIME_EMAIL};
my $user_mobile = $ENV{UPTIME_MOBILE};

PHPWhen run from the command line, use the getenv() function to access environment variables within PHP. For example:

«?php
$user_email = getenv('UPTIME_EMAIL');
$user_mobile = getenv('UPTIME_MOBILE');

Bash and KshBash and Ksh enable you to access local environment variables just like any other local variable. For example:

#!/bin/bash
EMAIL=$UPTIME_EMAIL
MOBILE=$UPTIME_MOBILE

Batch FileAdd the % symbol around the names of environment variables in Windows batch files. For example:

echo %UPTIME_EMAIL%
echo %UPTIME_MOBILE%

VB ScriptUse the the oShell.Environment lookup function to access environment variables with VB Script. For example:

Dim email, mobile
Dim WshShell, objEnv

Set WshShell = CreateObject("WScript.Shell")

Set objEnv = WshShell.Environment("Process")

email = objEnv("UPTIME_EMAIL")
mobile = objEnv("UPTIME_MOBILE")