Versions Compared

Key

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

...

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 is 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

...

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 UIM runs 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.

Info

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 UIM 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 UIM user that will be is notified using this alert.

The environment variables passed to the alert script and their meanings are included below in the following table but for the latest documentation please refer to Alert Profile and Action Profile Variables:to the Alert profile and Action profile variables topics in the main UIM Help documentation.

VariableDescriptionExample Contents

Service Message Fields

These fields remain constant for each execution of your script associated with a single service outage.

UPTIME_ALERTTYPEType of alert message.One of: Problem, Recovery
UPTIME_HOSTNAMEName of the host associated with the service outage.oracle_server
UPTIME_HOSTSTATUSStatus of the host associated with the service outage.One of: OK, WARN, CRIT, MAINT, UNKNOWN
UPTIME_MESSAGEOutput selection of the alert.

Type: Problem

Service: db_status (CRIT/threshold error)

Host: orale_db (OK)

UPTIME_SUBJECTSubject line that normally appears in the email message for this alert.Uptime Alert: UPTIME-oracle_server -> CRIT
UPTIME_SVCNAMEName of the service monitor generating this alert.UPTIME-oracle_server
UPTIME_SVCOUTPUTOutput of the service monitor generating this alert.processoccurrences: 0 is less than 1
UPTIME_SVCSTATUSCurrent status of the service monitor generating this alert.One of: OK, WARN, CRIT, MAINT, UNKNOWN
UPTIME_DATETIMEDate and time of the alert.Mon May 15 11:12:22 CDT 2024

User-Related Fields

These fields change for each user passed to your script. The script is executed once for each user that you want notified.

UPTIME_CONTACTLOGINNAMELogin name of the notified user account.testuser
UPTIME_DESKTOPHOSTWindows desktop homename setting of the notified user account.testuser-pc
UPTIME_DESKTOPWORKGROUPWindows workgroup for the desktop host specified above.WORKGROUP
UPTIME_EMAILEmail address of the notified user account.testuser@yourcompany.com
UPTIME_MOBILEPager number of the notified user account.1234123@sms.mynetwork.com
General Fields
UPTIME_SCRIPTName of the script being executed.C:/Program Files/uptime software/uptime710/scripts/my_custom_alerter.bat
UPTIME_SMTPHELOSTRINGHELO string used in your SMTP server configuration.
UPTIME_SMTPPASSWORDPassword used from authentication in your SMTP server configuration.
UPTIME_SMTPPORTServer port used in your SMTP server configuration.
UPTIME_SMTPSENDERSender address string used in your SMTP server configuration.
UPTIME_SMTPSERVERServer hostname used in your SMTP server configuration.
UPTIME_SMTPUSERUser 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};

PHP

When 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 Ksh

Bash 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 File

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

echo %UPTIME_EMAIL%
echo %UPTIME_MOBILE%

VB Script

Use 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")