Pom Admin Guide
Pom Admin Guide
POM 5.4
ADMIN GUIDE
QUICK ACCESS MENU
MONITORING ADMINISTRATION
READY-TO-USE TEMPLATES
ADMIN GUIDE
Revision 1.8.4 – 23 December 2016
Download latest revision
POM FORUM:
[Link]
TECHNICAL SUPPORT:
KNOWN ISSUES
Current versions of Firefox built-in PDF viewer are known to alter lines of code copied from a pdf.
Therefore, we recommend you use Chrome or Opera web browsers to access the POM web interface
This manual, including all illustrations, is protected under international copyright laws, with all rights
reserved. It may not be reproduced without written consent of POM Monitoring TM.
POM MonitoringTM is a protected trademark.
1 RELEASE NOTES 13
1.1 WHAT’S NEW ? 15
5 INTEGRATION 209
5.1 SYSTEMS 211
5.1.1 MONITORING A WINDOWS SYSTEM 212
5.1.2 MONITORING A LINUX/UNIX SYSTEM 213
5.1.3 MONITORING A VIRTUALIZED INFRASTRUCTURE (VMWARE) 214
5.1.4 MONITORING A VIRTUALIZED INFRASTRUCTURE (AWS) 218
5.2 USERS & AUTHENTICATION 221
5.2.1 LDAP/LDAPS/LDAPTLS AUTHENTICATION 222
5.2.2 SSO VIA KERBEROS 227
5.2.3 SMTP AUTHENTICATION 232
5.2.4 ADDING WEB USERS 233
5.2.5 PASSWORDS 234
5.2.6 AUTOLOGIN 235
5.3 HOW-TO: INTEGRATION 237
5.3.1 SETTING UP WMI 238
5.3.2 CHANGING POM USER LANGUAGE ON AN IBM AS/400 244
6 MONITORING ADMINISTRATION 245
6.1 SPREADSHEET FILE 247
6.1.1 FORMATTING & PROCESSING RULES 248
6.1.2 STRUCTURE OF A SPREADSHEET FILE 249
6.1.3 GLOBAL SETTINGS IN A SECTION 251
6.1.4 OBJECT DEFINITION COMMANDS 252
6.1.5 HOSTS SECTION 253
6.1.6 SERVICES SECTION 256
6.1.7 SITES SECTION 257
6.1.8 META SECTION 258
6.1.9 APPLIPERF SECTION 266
6.1.10 LOGMATCH SECTION 268
6.1.11 RETENTION SECTION 272
6.1.12 RELOADING CONFIGURATION DATA MANUALLY 273
6.2 EVENT-HANDLER 275
6.2.1 OVERVIEW 276
6.2.2 SET UP 277
6.2.3 LIST OF MACROS AVAILABLE WITH AN EVENT-HANDLER 278
6.2.4 EXAMPLE – RESTART A WINDOWS SERVICE 282
6.3 HOW-TO: MONITORING ADMINISTRATION 283
6.3.1 MONITORING A DEVICE VIA SSH 284
6.3.2 MODIFYING ALERT PARAMETERS 287
6.3.3 SETTING UP NOTIFICATIONS 288
6.3.4 SETTING UP SCENARIOS 297
6.3.5 SETTING UP SERVER DOWNTIMES VIA HTTP REQUESTS 304
13
1 RELEASE NOTES
1.1 WHAT’S NEW ?
DHCP BY DEFAULT
POM server now automatically fetches its IP address via DHCP when installed. It allows direct use
of the monitoring platform without further command line configuration. You can disable DHCP in
directly from the web interface, using the new Network entry of the configuration menu.
See POM SERVER ADMINISTRATION: Quickstart Installation Procedure
See POM WEB INTERFACE: Configuration
15
HTTP BY DEFAULT
To prevent self-signed certificate false alarms when connecting to POM's web interface from a
browser for the first time, connection is now done via HTTP instead of HTTPS as was previously
the case. You can enable/disable HTTPS from the new Network configuration tool in the web
interface.
Consequently, the X509 and ADM-HTTPS components of the automatically-generated POM META-
indicator are replaced by a simple ADM-POM component. This way:
When HTTP is enabled, you receive no unwanted alert regarding login authentication
When HTTPS is enabled, you receive an alert when your X509 certificate has expired
See POM WEB INTERFACE: Configuration - Network
19
2.1.1 MONITORING POINTS
There are mainly two types of elements that are defined when configuring POM: hosts and
services. Hosts represent machines, and services represent the monitoring points associated with
them.
Services are checked by scripts that are run on the server. POM runs the scripts for the different
monitoring points at regular intervals to collect specific information.
The value returned by the monitoring point is converted by POM to an OK, WARNING, CRITICAL or
UNKNOWN state. An OK state is distinct from the others since it's the only one that indicates
everything is running properly.
When a check on a host or a service results in a state that is not OK, POM changes the monitoring
point's state type to SOFT (not confirmed), and will attempt to re-check its status multiple times at
shorter intervals.
After several checks, the monitoring point's status may return as OK, in which case there is no need
to send an alert since the problem resolved itself.
If, on the other hand, the alert status remains the same each time the monitoring point is checked
(5 checks by default, once every minute) while it is in a SOFT state, the state type switches to
HARD (confirmed) and an alert is triggered, accompanied by a notification (e-mail or sms) if
notifications are enabled for the monitoring point.
The following diagram summarizes how this behavior works.
Every check to determine what state a monitoring point is in is an event. These events, the status
of the monitoring point, and the status of the alert are all displayed in real time in the Event Tray.
20
2 USING POM WEB INTERFACE
2.1.2 EVENT TRAY
The Events tab is based on the OpenPOM application, published under a GPL license and
maintained by POM MonitoringTM.
21
2.1.3 THE VIEWING PANE
The viewing pane is the most important part of the Events tab. Events are displayed in a way that
synthesizes information for quick analysis. The available columns include:
Column Description
Flags Service
Host
Show historical graph
Alert acknowledged
Element in sleep mode (downtime)
Alert disabled
Element contains a comment
Flapping (status is highly volatile)
Host is inactive
Host is a known POM-Agent
Host is a known POM-Satellite
Opens PROCEDURE wiki popin
Duration Amount of time since last status change; duration of alert
Equipment (h) Name of host
IP (i) IP address of device
Service (s) Name of service
Status information (o) Result of last check
Site (l) Geographical site
Type (t) Host type
Groups (g) Groups that the device belongs to; may be filtered
(column hidden by default)
Last check Amount of time since last check
See OPTIONS to select which columns you want to display
Alerts may be identified quickly according to their color and font style:
Color/Style State
OK state (return value is below warning level threshold)
WARNING state (return value is between warning and
critical levels)
CRITICAL state (return value is above critical level)
UNKNOWN state (no return value)
TRACKING enabled on an entry not in an OK state
TRACKING enabled on an entry in an OK state
Information in italics SOFT state
Note: the color representing the monitoring point's original state remains in the flag column, even when
tracking is enabled, so that the error state (warning, critical or unknown) is easily identified.
Italics are used with levels 3 (SOFT) and below to indicate that an alert status is changing.
22
2 USING POM WEB INTERFACE
STATUS POP-UP
You can see more information on the status history of an event by hovering over the line and
pressing the Ctrl key. This will display the status pop-up window containing detailed
information, and performance and/or availability graphs for that indicator.
If the status pop-up is enabled (see settings buttons), hovering your cursor over an alert for 2
seconds will display the pop-up window.
Click the upper right-hand corner to make the pop-up switch to a floating [Link] pop-up
automatically closes after a few seconds. You can force it to close by clicking on it, or prevent it
from closing by moving your mouse so that it stays inside the [Link] contents in the pop-up
automatically change when you hover over another alert.
23
Example of pop-up window:
Note: a click on the graph opens the metrics graph display window.
A click on Full history gives you an extensive history of states and actions (including
acknowlodgements):
24
2 USING POM WEB INTERFACE
2.1.4 METRICS
Clicking on an event's Graph icon opens a window displaying a graph for the indicator for
preselected time periods.
Note: another way to access to this display is to click on the graph shown in the dynamic pop-up.
Dynamic and technical display modes are available. In either mode, it is possible to choose the
displayed curves.
Example:
25
TECHNICAL DISPLAY FEATURES
display trends
display predictions
static curves only
Example:
26
2 USING POM WEB INTERFACE
2.1.5 ACTION BUTTONS
ACKNOWLEDGE
This allows you to acknowledge one or more alerts. Future notifications will be disabled, and the
acknowledged alert will be removed when the state changes.
Note: do not perform this action unless the alert is being investigated.
DOWNTIME
This allows you to schedule a period of planned downtime for one or more alerts. Notifications are
disabled during this period, even if a state changes.
Note: this action is only to be used on an alert indicating that a host/service is down for maintenance or
is scheduled for maintenance.
You can specify the downtime period or date to place in sleep mode in the pop-up confirmation
window:
27
DISABLE NOTIFICATIONS
This allows you to disable notifications for a service and prevent them from being displayed
(unless tracking is enabled) in view levels 1, 2 and 3.
No confirmation is required.
ADD COMMENT
This lets you add a comment to an alert. The comment will appear in the alert's pop-up window.
RESET
This removes all actions performed on an alert.
RECHECK
This lets you force the selected service(s) to be checked again.
No confirmation is required.
If you hold the CTRL key while clicking the RECHECK button, POM will also reset the plugin's
cache.
28
2 USING POM WEB INTERFACE
2.1.6 SETTINGS BUTTONS
These buttons allow you to apply settings across all information displayed in the viewing pane.
REFRESH/RELOAD
Lets you refresh the view. Even if you do not click this button, the view will still be refreshed
periodically. The refresh timer is displayed to the right of the icon.
Simple click on this button refreshes the view and reloads POM's configuration from the
spreadsheet files (only if they have been modified).
Ctrl+click on this button forces the reload of POM's configuration from the spreadsheet files,
whether they have been modified or not.
DISABLE NOTIFICATIONS
Disablesnotifications for all alerts. This button is indispensable when a major problem occurs and
you need to investigate it without being bombarded by endless alerts.
ENABLE NOTIFICATIONS
Enables notifications for all alerts.
POM LOG
This is a quick link to the Logs view, which displays logs collected by the POM platform.
MONITOR MODE
Changes the display to a “dashboard” view, removing all action buttons and selectors. This is a
useful feature when viewing POM on a large monitor.
OPTIONS
Used to set other visual preferences.
See OPTIONS
29
2.1.7 FILTERING OBJECTS
VIEW LEVELS
The view level selector restricts the information displayed on the screen based on the various alert
levels.
# View level Displayed information
1 Critical Only unacknowledged events in a critical state
are displayed. Critical alerts with tracking
enabled are also displayed.
2 Hard alert Unacknowledged events in a critical or
warning state are displayed. Critical and
warning alerts with tracking enabled are also
displayed.
3 Critical/warning/soft Soft states are included with the previous
view. Soft states are events in a critical or
warning state that have not yet been
confirmed.
4 Critical/warning/ack All events in a critical or warning state are
displayed, including those that have been
acknowledged (known problem).
5 Critical/warning/outage Events whose critical or warning state are tied
to an alert already in a critical or warning state
are added to the previous view. The state of
these events depend on the state of another
alert.
6 Critical/warning/outage/svc When a host is unreachable, the interface
hides all services associated with this device.
This option lets you display the events related
to the host anyway.
7 All Displays the status of all monitoring points.
FILTER
The filter allows you to restrict the information displayed in the current view. The next two buttons
are to confirm your selection, and to reset the filter, respectively.
There are two different search methods available:
General search: a filter is applied to the Equipment, Service, Status information, and Groups
columns based on the character string entered in the search field.
Narrow search: Clicking a word's link in the Equipment (h), Service (s), IP (i), Site (l), Type
(t) or Groups (g) column inserts this word into the search field, preceded by the column
letter.
30
2 USING POM WEB INTERFACE
Example: clicking the word EVENT in the Service(s) column enters the string s:EVENT* in the
search field.
The Quick search setting in the options pop-up offers two different ways to use the narrow search
function:
Quick search ENABLED: clicking a new “clickable” word overwrites the contents in the search
field
Quick search DISABLED: clicking a new “clickable” word adds it to what is already in the
search field and joining these two elements by the & operator. You can modify the contents
of the search fields, for example, by changing the operator.
The different operators you can use appear when you mouse over the search field for a few
seconds. Available operators are:
| : Boolean OR
Example: i:[Link] | s:EVENT displays all of the events in which the IP column
contains [Link] OR the Service column contains EVENT
31
2.1.8 COUNTERS
ALERT COUNTERS
Indicate the number of events displayed after applying the current filter.
State Description
critical number of alerts in a “critical” state
E.g., 7 out of 13 alerts found are visible after filtering
warning number of alerts in a “warning” state
E.g., 2 out of 8 alerts found are visible after filtering
unknown number of alerts in an “unknown” state
E.g., 1 out of 7 alerts found are visible after filtering
ok number of alerts in an “ok” state
E.g., 3 out of 434 alerts found are visible after
filtering
acknowledge number of acknowledged alerts (under
investigation)
E.g., 0 out of 1 alert found are visible after filtering
disable notification number of alerts with disabled notifications
E.g., 3 out of 36 alerts found are visible after filtering
downtime number of alerts in sleep mode (downtime)
E.g., 0 out of 0 alerts found are visible after filtering
disable active check number of alerts in which monitoring is disabled
E.g., 0 out of 0 alerts found are visible after filtering
PAGES COUNTER
Shows the range of alerts displayed out of the total number of alerts.
If the search generates several pages, the Prev and Next buttons appear. These buttons
can then be used to navigate through the pages.
32
2 USING POM WEB INTERFACE
2.1.9 OPTIONS
The Option Button opens a pop-up overlay where you can set preferences for how information
is displayed on the “Events” tab:
33
Setting Description
Max characters: Site Maximum number of characters displayed in the “Site”
column
Max characters: Type Maximum number of characters displayed in the “Type”
column
Max characters: Groups Maximum number of characters displayed in the “Groups”
column
Font size alert Size of the font for displaying events/alerts
Quick search Enables the quick search feature. This allows you to perform
searches by either entering a word in the search field or
clicking a word appearing in an event (without having to
confirm it). Disabling this option allows you to perform more
complex searches
Run pomgen –if on click Enables the display of pomgen windows to allow the
Refresh ‘pomgen –if’ command
Status pop-up: information If this box is checked, all available lines in the pop-up
window will be visible. To reduce the amount of information
on the screen, you can specify the number of lines to
display.
0 displays only the following lines:
Equipment | Service, History | Logs
If the information displayed only represents a partial view,
clicking the “More” link will show the full contents of the
pop-up.
No frame around the page If the box is not checked, a border in the color of the most
serious alert status appears around the alert list. This helps
you easily find information about the most serious alerts,
particularly on a large screen mounted on a wall.
Columns to display Lets you select the columns to display on the screen. By
default, the “IP” and “Groups” columns are hidden.
History to display Lets you select what history information to display in the
pop-up after clicking the “Full history” link.
There are two types of information:
The flag setting (Acknowledgement, Downtime, Comment)
Event changes (Notify, State, Flapping)
34
2 USING POM WEB INTERFACE
2.2 INVENTORY TAB
35
2.2.1 OVERVIEW
POM’s new Smart Inventory & Discovery module allows you to automatically discover devices on a
given network, and export results directly to a POM-compliant spreadsheet file, saving even more
time when registering monitored devices.
Using the Inventory tab is really simple: a daemon makes all the discovery work on the target
network(s), then you just have to filter the results to suit your monitoring needs.
To modify the daemon’s settings, see HOW-TO: WEB INTERFACE CUSTOMIZATION – Inventory
Results presented in the Inventory tab can also be displayed as a new widget in the 360°
(Dashboards) tab.
See USING POM WEB INTERFACE: 360* Tab
36
2 USING POM WEB INTERFACE
2.2.2 RESULTS TABLE
The results table displays the list of all devices found on the target network, along with all
corresponding data that could be collected (fetched via SNMP, DNS, etc.).
Registered, reachable
Unregistered, unreachable
Registered, unreachable
37
TYPE
Type of host/device/machine.
Possible type representations are as follows:
Icon Description
Linux
Unknown type
LOCATION
If available, location info on the device
IP ADDRESS
IP address of the Device
NETWORK NAME
Network address, expressed in CIDR notation
HOSTNAME
Name of the device
Icon Description
Name appears in the spreadsheet file
MAC ADDRESS
MAC address of the device
LAST UPDATE
Age of the presented data
38
2 USING POM WEB INTERFACE
ACTION BUTTONS
Button Description
Mark as known host
Auto-refresh stopped
39
2.2.3 FILTERS
The filters section on the left side of the screen allows you to refine the results of the smart
discovery.
Results can be filtered either by entering text in a search field, or by checking boxes in the various
states, types, locations and network names found.
ACTION BUTTONS
Button Description
Text search field
Reset filters
40
2 USING POM WEB INTERFACE
2.3 MAPS TAB
41
2.3.1 STATUS SYMBOLS
A simple and useful set of icons is at your disposal to represent all the possible states. These icons
are used throughout all map levels to identify the “worst” (most serious) of the sub-states.
Square icons represent one or more “host”, “hostgroup”, or “map” objects and their respective
services:
Icon Meaning
The host and its respective services are up and running
42
2 USING POM WEB INTERFACE
2.3.2 OVERVIEW PAGE
Open and edit map (if your profile’s permissions grant it)
43
2.3.3 DETAILED VIEW
The detailed view provides the status for all of the components within the defined map. The status
symbols are used again to provide a more accurate description of the hosts, services, host groups,
service groups, and even map hierarchies.
Hovering your cursor over a status symbol will display a pop-up window. This window shows the
object type and its consolidated state. The pop-up also displays the 10 most serious problems
detected to assist you with troubleshooting and corrective action.
44
2 USING POM WEB INTERFACE
2.3.4 CREATING AND MANAGING A MAP
45
Action: Upload background image
The most common operation when managing backgrounds is uploading an image to the server.
46
2 USING POM WEB INTERFACE
MAP MANAGEMENT
To create a map, click the button. Here again, the form will adapt to the type of action you
select:
47
EDIT MODE
The following table lists the available buttons when editing the map:
Icon Description
Confirm the map (exit map edit mode)
Host element
Service
Host group
Service group
Map - Allows you to view the state of a map inside another map
*For more info on the available shapes in the iconset, see SHAPES
48
2 USING POM WEB INTERFACE
MODIFYING A LINK
To modify an existing link, right-click the square in the middle of the line representing the link and
select one of the 3 available options (modify settings, modify position/size, or delete)
49
2.3.5 WEATHERMAP
A weathermap creates a graphical representation of traffic on network links (input and output).
50
2 USING POM WEB INTERFACE
2.3.6 GEOGRAPHICAL MAPS
For companies with multiple sites, POM features the creation of geographical maps using the
GoogleMaps API. They allow visualizing sites’ health along with their precise geographical
position, based on data registered in the SITE column of a HOSTS section of the configuration
spreadsheet file, or detailed in a SITES section.
Important note: Any site registered in a SITE column of a HOSTS section will be placed on an
automatically created Geographical Map.
From this pop-in, you can also access, by clicking on the corresponding link, to:
An on-demand map of the site, generated from a model
See POM-MULTISITE: On-Demand Site Maps
A map of the site’s meta-indicator
See MONITORING ADMINISTRATION: Spreadsheet File – META Section
51
SITE ADDRESS CONFIGURATION IN THE SPREADSHEET FILE
In order for a site to appear at the right place in a Geographical Map, you need to define its precise
address or coordinates in a SITES section of the spreadsheet file.
Example:
We have 3 sites defined as follows in a HOSTS section:
HOSTS Section
# HEADER HOSTS SITE TYPE DESCRIPTION
Metropolis PRINTER Samsung
New York City PRINTER Brother
Paris PRINTER Brother
For them to appear at the right place in a Geographical Map, we simply register their address in a
SITES section as follows:
SITES Section
# HEADER SITES SITE ID ADDRESS LATITUDE LONGITUDE GROUPS
Metropolis MET Fake Place, US, Samsung,
99999 Company
Metropolis
New York City NYC Dummy Street, US, Brother,
10000 New York Company
City
Paris PAR Rue Factice, France, Brother,
75000 Paris Company
Each value entered in the GROUPS column will generate a Geographical Map of the sites featuring
this value.
Important Note: LATITUDE and LONGITUDE columns have priority over the ADDRESS column
For more info on the SITES section, see SPREADSHEET FILE - SITES Section
52
2 USING POM WEB INTERFACE
2.3.7 SHAPES
The “shapes” button gives you access to a set of shapes that can be placed on a map. Most of these
shapes are icons and only serve as decorations on the map in the sense that they are not active
(they do not change colors). Icons come in seven different sizes: 12, 24, 32, 48, 64, 96, and 128
pixels. Refer to the following table for the full list of these icons.
53
List of icons available via the SHAPES button
54
2 USING POM WEB INTERFACE
2.4 LOGS TAB
POM is bundled with a syslog server, making it possible to receive, store, and archive logs sent
from any machine, as long as they are in syslog format.
For more info on SYSLOG formatted logs, see HOW-TO: WEB INTERFACE CUSTOMIZATION – Logs
The Logs tab described in this section features an intuitive interface for viewing and searching
[Link] is also possible to trigger an alert if a log entry received by the server matches a predefined
pattern
See LOGMATCH Section
55
2.4.1 OVERVIEW AND COLOR CODE
In the bottom section of the screen, log lines use a color code to quickly determine the severity of
an alert. The following table lists the colors according to the severity level they represent:
Color Severity
Violet Emergency
Dark red Alert
Light red Critical
Orange Error
Yellow Warning
Bright green Notice
Pastel green Info
Off / White Debug
56
2 USING POM WEB INTERFACE
2.4.2 INDEX
GENERAL PRINCIPLE
Logs received by POM are automatically indexed. This allows quick and efficient searches on large
quantities of data. All logs indexed on-the-fly are listed under the “Index RT (real-time)” entity.
However, because log indexing is fairly memory-intensive, all logs cannot be available
simultaneously. Dailyarchiving is therefore run in the background, moving the oldest RT index
entries to archive files according to the rules defined in the RETENTION tab of the [Link] file.
See RETENTION Section
More generally, archive files contain all logs received by POM, while the RT index only contains a
Important note: a line logged at “debug” and “info” levels is not stored in the RT index but is instead
archived right away.
However, an administrator may need to refer to older logs to determine, for example, the cause of
a problem within the company’s infrastructure.
To make both searching and looking up logs quick and easy, POM lets you create new named
indexes based on archive files (thus creating new searchable entities).
INDEX
The Index button opens the index management dialog box and displays the indexes available. The
default index, the RT or real-time index, is always displayed and cannot be edited. If new indexes
are created, they will be displayed below the real-time index.
Click Available indexes in the dropdown menu to access two other functions in the index
management dialog box. The most important one is the Archived logs import wizard, which lets
you create a new index based on search and selection criteria.
57
Selection criteria include:
Directory
Category
Archive File
After selecting the search criteria or archive file, click the button to add the selected criteria to
the entire set of criteria that will be used to create the new index.
When all of the criteria have been defined, enter a name for the new index in the index name field.
An alias can optionally be defined in the Alias or displayed name field. Finish creating the index by
clicking the Import button.
You can follow the progress of the index creation process by selecting the Import job queue
option. The following actions are available in the job import list:
Src (see the data's source)
Log (see all actions initiated)
Del (delete the job)
The Status column provides information on the stage of completion. Click the Refresh button to
view the updated status.
58
2 USING POM WEB INTERFACE
2.4.3 DOWNLOAD/ EXPORT LOGS
Displayed logs can be downloaded in CSV format (tabular data separated by a comma) by clicking
the Download button.
In the download dialog box, you have the option to download either the current view with or
without a maximum number of lines, or an archive file from the list provided.
In either option, you can choose whether or not to convert the host names to their aliases (the
ALIAS column in the spreadsheet file) or to their IP addresses.
59
2.4.4 FILTERS
SYNTAX HELP
A Help page is available via the Syntax button. It provides a full description of the expressions
syntax and operators available for filters.
Search expressions syntax:
expression := expression [ [ bool ] expression ... ]
expression := [ ( ] [ not ] filter | expression [ ) ]
filter := [ key [ operator ] ] value
not := !
bool := & |
key := d | h | f | s | p | m
operator := ! | < | > | : | =
The following keys are supported, matching the names of the columns displayed:
h Host
c Category
f Facility
p Program
s Severity
m Message
The following operators are supported:
: contains
< less than
! does not contain
> more than
60
2 USING POM WEB INTERFACE
SYNTAX RULES
Defaults
The default key and operator for a filter are m and : , respectively. For example, writing intrusion
is equivalent to writing m:intrusion .
Combination
Several filters can be combined in order to create a more complex expression. These filters should be
separated with a boolean:
The operators : and ! can be used with any key. However, the < and > operators can only be used
Negation
A filter or a group of filters can be negated by preceding it with the ! negation operator.
The * (asterisk) character can be used as a wildcard at the end of a filter on the host column( h key),
the program column ( p key), and the message column ( m key).
Syslog facilities
auth kern local4 mail
authpriv local0 local5 news
cron local1 local6 syslog
daemon local2 local7 user
ftp local3 lpr uucp
Example:
The expression p:exim & s>warning will filter logs based on the following criteria:
the program field contains “exim”
the severity field level is at least equal to “warning”
61
SEARCHING HISTORY
Creating complex filters can become tedious if you have to reenter them every time you want to
use them. Fortunately, previously used filters can be easily recalled by clicking the History button.
A particular filter can then be reapplied by clicking its index (first column). You can also remove a
filter from history by clicking the del link in the last column.
Example of the history of searches:
Hover over one of the blocks of time to display the number of log lines found and the timeframe
represented.
You can modify the start and end dates/times in which logs are displayed by clicking on one of the
blocks. After clicking Apply, the start and end dates/times appear in the From - To fields. To the
right of the graph, you can also modify the graph resolution (the duration of a block) and the
direction of the time interval (along the graph's horizontal axis).
The buttons and are used to start and stop generating data to display, respectively.
CLEARING A FILTER
The Clear button will clear the contents from the search field and any other filter selected.
LAUNCHING A SEARCH
Launch the search by clicking the Apply button. Only log lines matching the selected filter will be
displayed.
62
2 USING POM WEB INTERFACE
START AND END DATES/TIMES
You can specify a precise time window in which logs are displayed by modifying the From-To
fields. The calendar allows you to easily select a specific date with just a few clicks and
movements of the mouse.
63
As the name suggests, the Manage bookmarks entry in the Bookmarks list can be used to create a
favorite filter by taking any filtering component you wish into consideration.
A click on the Manage bookmarks list entry opens a custom filter creation form. You will notice
that a name and a time interval are associated with a bookmark filter.
Entering a custom bookmark:
DISPLAY CONTROL
You can choose how many log lines are simultaneously displayed. By default, the Limit field is set
to display 100 lines simultaneously. This value can be changed to any number between 1 and
1000.
The Offset field determines the index of the first line displayed.
The displayed lines will therefore be the lines with indexes between Offset and (Offset + Limit). For
instance, if Offset is set to 300 and the limit is set to 400, 400 lines will be displayed, the first one
being the 301st line, and the last one being the 700th line.
Finally, the minus and plus buttons are used to decrease and increase the value of Offset,
respectively, by the amount of lines indicated by Limit. In other words, you can select the next
block of log lines with the same number of lines as indicated in the Limit field.
64
65
2.5 360° (DASHBOARDS) TAB
The 360 ̊ tab allows you to view and define dashboards that consolidate configurable data into
small windows called widgets. Each widget is a condensed view of one or more monitoring points.
Users are able to view all of the dashboards they have permissions to, whether they are
dashboards they created themselves, public dashboards, or a dashboard another user may have
created.
This allows you to construct a view, for example, that only includes the items that are important to
the IT management team, or one that presents a summary of the email application's status to
network administrators.
This section of the POM User Guide describes how to work with dashboards and widgets.
66
2 USING POM WEB INTERFACE
2.5.2 MANAGING DASHBOARDS
A dashboard combines multiple widgets that are arranged in one, two, or three columns.
CREATE
To create a new dashboard from scratch, click the +Dashboard button. This will open a dialog box
to enter the name and layout of the dashboard.
CLONE
Another way of creating a dashboard is to copy the existing dashboard. The copied dashboard will
automatically be given a name (Copy of <original_name>), and the number of columns and widgets,
along with their settings, will be identical.
EDIT
The Edit button opens a dashboard settings dialog box to edit the following items:
Name
Layout (number of columns)
Mode
67
DELETE
A dashboard can be deleted by its owner by clicking the Delete button.
MODE
By default, private mode is enabled. The dashboard can also be set to shared or public mode.
Regardless of the mode, the administrator can view and manipulate all dashboards. The modes
listed below are therefore for the user, irrespective of the administrator's particular access.
Private
Only the user who created this dashboard will be able to view and make changes to it. This is the
default mode.
Shared
Only users who belong to a profile with the appropriate permissions set will be able to view this
dashboard.
Setting a dashboard to shared mode is therefore a 2-step process:
Public
Anyone connected to POM and belonging to a profile that allows access to the 360° tab can view this
dashboard, in read-only mode.
For more info on setting up profiles, see USING POM WEB INTERFACE: Configuration – Permissions
Note: being authorized to view a dashboard does not imply also being authorized to view the individual
widgets. It is quite possible to access a dashboard without being able to view a single widget within it.
68
2 USING POM WEB INTERFACE
2.5.3 MANAGING WIDGETS
Widgets are ready-to-use, configurable views of specific monitoring points. The number of different
widget types is therefore fixed, since each widget template is designed by POM developers.
This section describes how to work with widgets, but also discusses the different widget templates
available and their settings.
CREATE
To create a new widget, click the +Widget button and then the widget template you want to use
from the provided list. Another window will appear to specify its settings. Instead of clicking the
+Widget button, you can also hover your mouse over an area not currently occupied by a widget
EDIT
This icon opens the same dialog box as if you were creating a new widget, so that you can modify
its settings.
DELETE
This will delete the widget after confirming your action.
Important note: the icon for creating a widget will still be visible, even if you do not have the
appropriate permissions in POM to view the content. This is equivalent to being able to write a query,
but not being authorized to run itnor see its results.
Insufficient user rights to view a widget will result in this error window:
69
2.5.4 WIDGET TEMPLATES
EVENTS
Concise view of a subset of the event tray. You can filter the events shown just as you would do in
the Events tab.
Available settings:
Setting Description
Title Text appearing in the window's title bar. There are several variables
available, using the format %variable%:
levelinformation contained in the Level setting
filterinformation contained in the POM Events filter setting
limitinformation contained in the Number of lines setting
infomleninformation contained in the Info max. length setting
fontsizeinformation contained in the Base font size (px) setting
Level Filter based on the severity level of the monitoring points shown. The
possible levels are the same as those in the View level selector in the
Events tab*
POM Events filter Filter based on the column contents. You can create the filter as described
for Filter in the Events tab*
Number of lines Maximum number of lines to display
Duration Enables/disables the display of the Duration column
Information Enables/disables the display of the Information column
Last check Enables/disables the display of the Last check column
Info. max length Limits the number of characters displayed in the Information column. This
value should be tested because it affects how all of the elements in the
widget are displayed, based on the selected font size.
Base font size (px) This determines the size of the font.
70
2 USING POM WEB INTERFACE
APPLICATION PERFORMANCE GRAPH
This widget shows the performance of an application based on a referenced [Link] performance
graph shows the response quality of all the elements of an application, based on 100, i.e:
compared to a common base value.
Each curve represents the response of an element of the [Link] values stand for good
quality whereas low values stand for low quality.
71
AVAILABILITY GRAPH
Displays an availability graph (i.e., colors of areas based on the status of a monitoring point) - OK ,
WARNING , CRITICAL , UNKNOWN (e.g., status of a host).
72
2 USING POM WEB INTERFACE
PERFORMANCE GRAPH
Displays a performance graph (i.e., representing values such as PING).
73
MAP
View of a map out of the Maps tab. All maps found in the Maps tab may be displayed in a Map
widget.
Available settings:
Setting Description
Title Text appearing in the window's title bar. There are several variables
available, using the format %variable%:
mapinformation contained in the Map setting
Map type type of map
normal⇔map made by the user or meta autogenerated map
automap⇔Automap, based on monitoring dependencies
Map the name of the map to display
Top offset in px size of top padding in pixel
Left offset in px size of left padding in pixel
74
2 USING POM WEB INTERFACE
META-INDICATOR: COMPONENT TABLE
75
META-INDICATOR LIST: AVAILABILITY OVERVIEW
Displays a summary of the state of an application. By default, all of the applications are displayed.
You must therefore create a widget for each application by adjusting the Include and Exclude
settings to allocate the various applications to separate widgets.
If the value of setting Health is Critical, then a click on the line shows a list of faulty elements
(cause of critical state).
76
2 USING POM WEB INTERFACE
META-INDICATOR: DETAILED AVAILABILITY
This widget is divided in two parts.
Right side
On the right side is the information about the element selected in the tree.
If the element is a meta-indicator (tree node):
Indicator: name of the indicator
Health: instant meta-indicator state, based on its components states
Information: general information on the meta-components
Availability: availability rate for the given period. Depends on the components
Service level: value depending on the SLA levels and the availability the service level is
drawn as a gauge
Variation: current availability compared to the availability of the previous period the
variation is drawn as a rectangle on the right of the gauge
If the element is a service (tree leaf):
Host: host name that the service depends on
IP address: device network address
Service: service name
State: current service state - check number/total check - check state (SOFT or HARD)
Availability: service availability rate for the period
Service level: the value depends on the SLA set to the parent META
Variation: current availability compared to the availability of the previous period
77
Available settings:
Setting Description
Title Text appearing in the window's title bar. There are several variables
available, using the format %variable%:
metainformation contained in the Meta indicator setting
periodinformation contained in the Availability on setting
treemaxwidthinformation contained in the Tree max width (%) setting
fontsizeinformation contained in the Base font size (px) setting
Meta indicator name of the focused meta
Availability on time window chosen to calculate the SLA (service-level agreement). For
an unavailability of a given duration, the presented state might be
different, depending on the chosen period.
Note: the following options are special as they provide the availability from the beginning of the
given period. For other periods, calculus is done on the last chosen time unit (e.g.: 1 day: calculus on
the last 24 hours).
hour availability from the beginning of the current hour
day availability from the beginning of the current day
week availability from the beginning of the current week
month availability from the beginning of the current month
Tree max width (%) This setting restrains the tree from being too large
Base font size (px) size of displayed font in pixel
Note: Starting point of the calculus is the last change in RRD database that happens every 5 minutes.
Max tree width (%) restricts the width of the left part of the widget
Font size (px) set font size in pixel
78
2 USING POM WEB INTERFACE
OVERALL STATE SUMMARY
Displays a graphical representation (in pie chart form) of the overall monitoring state. The main
chart (state counter) shows the proportion of monitoring points that are in a given state.
The second chart, which depends on the Mode setting, shows all the alerts. The chart breaks these
alerts down into alerts that are acknowledged (blue) and those that are not (gray).
Numerical values - number of monitoring points in a particular state - are shown in a table. If both
charts are displayed, this table is located in the upper part of the window.
79
PERFORMANCE GRAPH OF A VIGROUP
Displays a graphical representation of the performance of a ViGroup in a virtualization context,
through the percentage of CPU or MEM used on the hypervisor.
Available settings:
Setting Description
Title Text appearing in the window's title bar. There are several variables
available, using the format %variable%.
Period time window shown in the graph
Hostgroup The virtual machine group being monitored. Corresponds to a ViGroup
value
Service the service you want to see in the graph (CPU or MEM)
Graph height (px) height of the graph, in pixels Note that the height of the widget is, of
course, greater than this value (due to the title bar).
80
2 USING POM WEB INTERFACE
PERFORMANCE LISTING OF A VIGROUP
Displays a list of ViCPU or ViMEM usage for each VM of each hypervisor in a ViGroup.
Lists are sorted:
by hypervisor
then by state severity (CRITICAL first, OK last)
81
2 USING POM WEB INTERFACE
2.6 REPORTS TAB
83
2.6.1 OVERVIEW
POM’s reports provide users with a summary of monitoring data over a particular period of time.
Nature of the data and layout of the reports are based on report templates. Several pre-defined
templates are available, and it is also possible to create your own report templates from
customizable widgets. Every template can promptly be copied and/or adapted to its intended
purpose.
Report generation uses the template to create an instance of the report that meets the specific
parameters (target, date, etc.) set when generating the report.
84
2 USING POM WEB INTERFACE
2.6.2 REPORT TEMPLATES
Eight default report templates are available in the drop-down menu on the right side of the screen.
Just click the name of the report template to go to the form where you can create or look up the
corresponding report.
In addition to these preset templates, you can create your own report templates, by clicking on the
85
2.6.3 WIDGETS
Just like Dashboards, Reports are composed of different customizable widgets. When creating a
new report template, you get to choose from a wide list of available widgets:
We encourage you to browse through the many possibilities and try them out to find the tool that
best suits your reporting needs.
Reports are generated in PDF and HTMLformat. They can be viewed directly in the browser by
clicking the Display as HTML button, or can be downloaded and viewed in a PDF reader.
To create a report, select the desired report template from the options available in the Select a
report template menu to the right of the screen. Then click the Generate a new report link, which
opens the appropriate form to fill out, depending on the template you selected. Each field of the
form is documented in italics so you can easily fill in the blancks.
Do not forget that some fields are pure regex expressions. For example, to exclude C: and Z: disks, write
^(C:|Z:)$
86
2 USING POM WEB INTERFACE
2.6.4 REPORT TEMPLATE CREATION
To create your own report template from a blank one, simply click the button next to the
templates drop-down menu, and enter a title for the new template:
CREATION PROCESS
You can add widgets to a template with the button in lower left side of the
screen,
Or you can rearrange them using the tool box at your disposal in the upper-right
corner of every widget frame.
Once the report suits your needs, click on the Save button.
If a required field is not set, it will appear in red:
87
2.6.5 REPORT GENERATION
To manually generate a report, select a template, then click on the button in the
upper-left corner. You will be redirected to the on-demand generation screen, where you will have
to choose a reference date, and set other instance paramaters if the particular template requires it.
Once all fields are set, click on the button. The generated report will now appear
in the list of reports on the main screen of the Reports tab.
SCHEDULED GENERATION
You can also make POM automatically generate reports at regular intervals by choosing the
generation by scheduled task. To do so, select a report template then click the
button.
Once every field is set, clcik on the button. Generated reports will appear in
the list of reports on the main screen of the Reports tab.
88
2 USING POM WEB INTERFACE
2.7 CONFIGURATION
The POM configuration tool can be accessed through the configuration link in the upper right-hand
corner of the screen.
2.7 CONFIGURATION
This tool allows you to configure three main areas of the platform directly within the web
interface:
Permissions to set up user access rights
System to configure the key Linux components
Objects to define the global settings for configuration objects in POM, which
don't belong in the spreadsheet file
89
2.7.1 PERMISSIONS
PROFILES
A profile is a set of rules that determines which POM modules users may access. Users are assigned
to only one profile so that the access permissions for all users in that profile can be modified from
a central location.
Important note: A profile can be thought of as a group that users are placed in. Assigning a profile to a
user is actually the same thing, but we reserve the use of the term “group” in this document for groups
(of hosts or services). We will discuss this later when defining user access rights.
Profiles can be listed, created, modified, or deleted from the profile management screen.
DEFAULT PROFILES
Three profiles are available by default:
admins (Administrators): POM system administration. By default, the only user in this
profile is admin
default (Default profile): read-only permissions. All new users are assigned to this profile.
Another designated user will then move new users into the appropriate profile.
public (Public profile): permissions given to a user that connects anonymously, without a
password to connect to POM. The anonymous account is used when the public access option
is checked on the log-in page (Connection). This profile is typically used to display
monitoring data on a screen that anyone can see.
These three profiles cannot be deleted, and the permissions for the admins profile cannot be
modified.
MODIFYING A PROFILE
With the exception of the admins profile, all of the listed profiles can be modified.
Profile settings can be modified by clicking one of the icons next to each of the profile names.
Edit: Page to change the name and alias (display name) fields.
Page to create a new profile is discussed later.
Users: Page to assign users to the profile.
The form for assigning users to the profile is then displayed. The Available list on the left side of
the screen includes users that are not currently assigned to that profile. The Selected list on the
right side of the screen includes users that are already assigned to the current profile. Use the left
and right arrow buttons to move users from one side to the other.
90
2 USING POM WEB INTERFACE
Important note: a user in the Available list means that he or she does not belong to the current profile,
but may already belong to another profile. If you move a user over to the Selected list, it will remove the
user from the profile he/she used to belong to.
2.7 CONFIGURATION
Permissions: Page to define user access rights
Access to modules
This form is used to define global access to each POM module. These modules represent the tabs
within the POM web interface. Some modules require you to specify the level of access in the Per
object-type permissions section seen on next page.
If, for example, you want users to be able to view only certain maps, you must first check the POM
Maps checkbox in this section, then specify the level of access for those maps in the Per object-
type permissions section.
91
Per object-type permissions
POM dynamically creates the entries in this section from its configured elements. The tables below
are populated during the configuration generation process, and may therefore vary in size.
The permissions available for each of these elements are:
View grants read-only access to an element or the hosts associated with that element
Notify allows users to be notified when an alert is triggered for this element
⇒ applies to Events tab
Act allows users to modify the status of alerts associated with the element or hosts
associated with that element
⇒ applies to Events tab
Modify allows users to make changes directly to the element
⇒ applies to Maps tab
Generate allows users to generate an instance of the element
⇒ applies to Reports tab
Check the checkbox for the level of access you want to grant users for each element.
All, including new grants global access (for a given permission access level) to all
elements in a table, including future ones. For example, if you create a Management profile
and check All, including new for the View access level in the Hostgroup table, all
users associated with this profile will be able to view monitoringinformation (in the Events
tab) for all hosts.
Hostgroup
The permissions granted in this table will only be valid if the profile authorizes access to POM
Events. The Hostgroup table lists the various groups created based on the elements provided in the
configuration spreadsheet. Every host registered in POM belongs to a SITE and is associated with a
HOST TYPE (TEMPLATE column). By default, POM generates groups based on these elements.
Every host registered in the HOSTS tab of the spreadsheet therefore belongs to at least one Site
group and one Type group in the table.
92
2 USING POM WEB INTERFACE
The first part of their name indicates where they come from:
Site indicates a group that was created based on the SITEcolumn in the spreadsheet
Type indicates a group that was created based on the TEMPLATE column in the
spreadsheet
Group indicates a group that was created based on the spreadsheet’s GROUP column
META indicator
The permissions granted in this table will only be valid if the profile authorizes access to POM
Events.
Important: these are the same elements as those shown in the Events tab. They do not refer to the
graphs generated by the METAs. Permissions for graphs are defined in the Map table, as discussed
below.
2.7 CONFIGURATION
Map
Permissions granted in this table will only be valid if the profile authorizes access to POM Maps.
Note: “META” and “Automap” maps are automatically generated and therefore cannot be modified.
Report
The permissions granted in this table will only be valid if the profile authorizes access to POM
Reports.
93
Shared dashboard
The permissions granted in this table will only be valid if the profile authorizes access to POM
360°.
The table elements are dashboards that have been set to Shared.
Specific permissions
This section is used to grant special administrative permissions for each of the POM modules.
CREATING A PROFILE
Create a new profile by clicking the New profile button and filling out the simple form as shown in
the figure below. Enter a name (may include alphanumeric characters, dots, dashes, and
underscores, but no spaces) and optionally, an alias (display name).
Finish creating the profile by clicking the Submit button or Back to cancel. If necessary, the Reset
button will quickly clear all fields.
94
2 USING POM WEB INTERFACE
USERS
A user refers to set of data that enables an individual to log into POM.
Click the Users link under the Permissions section in the configuration tool to see the list of users
that have been created on the POM platform. Users are listed in a table whose columns are
explained in the table “List of fields in the new user creation form” below.
2.7 CONFIGURATION
A new user is created in POM by simply clicking the Create new user button, which opens the
following form:
95
List of fields in the new user creation form
Login Name used to log in
Display name Name displayed in the web interface (in the upper right-hand
corner)
Email address Email address used to send email alerts to the user
Phone number Phone number required to receive SMS notifications
Timezone User timezone
Language User language
Profile Profile that the account is associated with
Password Account password (must be at least 6 characters long)
Enable user access Yes/no
Host notification commands Mail / SMS alert commands
Host notification period As set in Objects>Periods
Host notifications enabled Yes/no
Service notification commands Mail / SMS alert commands
Service notification period As set in Objects>Periods
Service notifications enabled Account activation status. An account may be temporarily
disabled by selecting the “No” option.
96
2 USING POM WEB INTERFACE
2.7.2 SYSTEM
LICENSES
The Licenses section is used to manage your POM licenses.
2.7 CONFIGURATION
It allows you to view the list of currently installed licenses, and to upload a new license package
(in .tar archive format) to your POM server.
If your monitored hosts count exceeds the limit provided by your license, it will appear in red in
the Use column.
AUTHENTICATION
This section is used to configure LDAP/Active Directory settings.
97
The goal is to be able to log into POM using an LDAP account, without specifically having to create
a user account as described in the Users section.
Once properly set up, a user account is automatically created on the POM server using data
collected from the LDAP server. All future log-in attempts will be submitted to the LDAP server.
However, if for some reason the LDAP server is unavailable, the local account may be used.
General parameters
The Authentication try fields are used to choose the type of authentication: local or LDAP. If the
value LDAP is set in the first field and local in the second field, POM will first try to authenticate
the user through the LDAP server, and will revert to local authentication if the LDAP server is
unavailable.
Variables
To define LDAP parameters, 3 variables are at your disposal:
%d for a domain
%u for a login
%D for a user DN
LDAP parameters
The values entered in this section depend heavily on how the LDAP server is configured.
LDAP authentication parameters
Server URI URI used to connect to LDAP server
Syntax: ldap[s]://host[:port][ ?starttls]
Option "timeout" timeout delay, 6 usually fits
Option "follow referrals" 1 implies trying on other LDAP server if the search fail
on the main one. The 0 value forbids this behavior
Base DN LDAP domain, may be preceeded with the OU
(Organisational Unit) value
Bind DN LDAP path used for binding, depends on the type of
LDAP (AD or OpenLDAP) - see examples below
Allowed group #1 LDAP path of the group that contains users to be
authenticated
Allowed group #2 other LDAP group
Lookup user group list user group filter, depends on the type of LDAP (AD or
OpenLDAP) - see examples below
Attribute for group name LDAP attribute for group name, depends on the type of
LDAP (AD or OpenLDAP) - see examples below
Lookup for a user entry user search filter, depends on the type of LDAP (AD or
OpenLDAP) - see examples below
Attribute for user login LDAP username attribute, depends on the type of LDAP
98
2 USING POM WEB INTERFACE
(AD or OpenLDAP) - see examples below
Attribute for user display name LDAP display username attribute, usually displayName
Attribute for user email address LDAP mail address attribute, usually mail
Attribute for user telephone number LDAP tel number attribute, usually mobile or pager
2.7 CONFIGURATION
Lookup user group list See remarks below
Attribute for group name sAMAccountName
Lookup for a user entry sAMAccountName=%u
Attribute for user login sAMAccountName
Attribute for user display name displayName
Attribute for user email address mail
Attribute for user telephone number mobile
99
If you need nested-groups support, we advise you to use this OID-including filter:
(&(objectCategory=group)(member:1.2.840.113556.1.4.1941:=%D))
100
2 USING POM WEB INTERFACE
NETWORK
Network menu parameters
Hostname The hostname, preferably the FQDN ([Link]-
[Link]).
Example: [Link]
Visible hostname Hostname as it will appear on other memebers of the network.
Equivalent to the system-public-hostname parameter of the
pomcfg tool
Description A short description for the server. Equivalent to the pom-
description parameter of the pomcfg tool
Network bonding In POM 5.4, interface bonding is disabled by default. To use
bonding as was the case by default in previous versions, click Yes
DHCP protocol Toggle IP address acquisition via DHCP
IP address IPv4 address
2.7 CONFIGURATION
Subnet mask Written in dotted decimal notation (e.g.: [Link])
Default gateway Default gateway for the server
DNS server IPv4 address of the name resolution server.
SMTP relay IPv4 address of the mail server. This is important information for
sending e-mail alerts.
SMTP relay authentication Authentication parameters for outgoing e-mails
Alias for root user e-mail address to which POM system notifications should be sent.
Equivalent to the former Root Alias entry of the System menu
NTP server IPv4 address of the time server. This is a very important parameter
and should be specified immediately after installing the POM
server to ensure alerts have the correct timestamps.
Syslog server IPv4 address of the SYSLOG server
Enable HTTPS Toggle use of secured HTTPS protocol for the web interface
HTTPS certificate key Browse to certificate key location
HTTPS certificate file Browse to certificate file
HTTP/HTTPS/FTP proxy Proxy server information is specified in these fields:
HTTP proxy address IPv4 address or name
HTTP proxy port value between 1 - 65535. Port number is
usually 3128 or 8080.
101
DEBUG
The Debug menu allows you to open a channel with POM support.
POM server must be connected to the internet and must have access to [Link]-
[Link] ([Link]) on port 443 (HTTPS)
This connection will use the HTTPS proxy defined in the NETWORK menu (see previous
page)
102
2 USING POM WEB INTERFACE
ADVANCED CONFIGURATION
This new menu entry allows you to configure, directly from the web interface, all server parameters
that could only be set using command line in previous POM versions, via the pomcfg tool.
2.7 CONFIGURATION
103
104
2 USING POM WEB INTERFACE
Each parameter is documented on the right side of the screen.
Ticking a box will set the parameter to its default value.
Once all your parameters are set, don't forget to click the Submit button at the bottom of the page
2.7 CONFIGURATION
105
2.7.3 OBJECTS
CREDENTIALS
The Credentials section is the place to create credentials data that are accessible by the plateform
and referenced in the spreadsheet file.
A credential object contains a name, an alias (description), and one or more fields designed to store
the credential datas necessary to register on a system. The type and the number of available fields
are set by the credential type.
Available credentials types are:
aws
crypted
esx
generic
google-analytics
nsc
proxy
snmp
ssh
wbem
web
wmi
List
The credentials list is a quick way to know existing credentials and their type. It is shown after a
click on the section Objects > Credentials.
Create
A click on the button Create new credential opens a form to :
choose a type
set the name
set the alias
set a value for every other field
106
2 USING POM WEB INTERFACE
Usage
POM needs credential data to connect to monitored systems. These data are fetched by providing a
credential name in the POM configuration spreadsheet file, in a HOSTS or SERVICES section, in the
CREDENTIALS column.
Example:
Given an enterprise where two SNMP communities are defined to monitor devices:
publicSRV for servers
networkSNMP for network devices
Two credentials of type SNMP are required:
type name alias SNMP_VERSION SNMP_COMMUNITY
snmp snmp_srv SNMP for servers 2c publicSRV
snmp snmp_net SNMP for network devices 2c networkSNMP
2.7 CONFIGURATION
In the spreadsheet file, HOSTS section, CREDENTIALS column, type snmp_srv for server entries and
snmp_net for network devices entries.
Domain
For specific types of credentials, such as wmi, you might need to include the Windows domain in
the credential's parameters.
To do so, simply include the domain in MS_USER, using the syntax: DOMAIN\USER
Creating credentials
107
Usage in the spreadsheet file
COMMANDS
The Commands section provides more advanced configuration options by listing all of the existing
check commands available in the POM platform. You can also create new commands from
available or downloaded plugins.
For more info, see FROM PLUGINS TO TEMPLATES: Check Commands
PERIODS
There are two different ways to enter notification periods:
In the NOTIFICATION-PERIOD column of the spreadsheet file
See MONITORING ADMINISTRATION: Spreasheet File - HOSTS Section
Defined in the web interface, then processed by the spreadsheet file
The first method is easy and convenient, and is suitable for most cases. However, it does not allow
you to enter multiple sets of days. For example, you cannot define a range of hours for sending
notifications Monday through Friday, and a different range of hours for Saturday and Sunday for
the same host or the same service.
The second method, however, allows you to define very complex notification periods. The general
approach is to define periods and to give them a name that can then be specified in the
NOTIFICATION-PERIOD column.
The fields in new period entry form are:
Name Content type Comment
Directory Text to select Directory where the definition file will be saved. Directories
listed are those declared by the variables cfg_dir in the
/etc/nagios/[Link] file AND writable by user
apache
File Restricted text Name of the period definition file. No spaces allowed, may only
use characters [alphanumeric, dot, dash, underscore]. The .cfg
extension is automatically added.
Name Restricted text Identifier that will be specified in the NOTIFICATION-PERIOD or
CHECK-PERIOD column of the HOSTS or SERVICES section of the
spreadsheet file. Only supports characters [alphanumeric, dot,
dash, underscore].
Alias Free text Short description. This field supports any printable character.
Definition Timeperiod Valid instructions are described in the Nagios documentation . To
instructions deactivate notifications, simply use the never timeperiod
108
2 USING POM WEB INTERFACE
Example of timeperiod definition
Directory /etc/pom/wui/nagios
File [Link]
Name wh-monitoring
Alias Monitoring working hours
Definition monday 06:00-23:00
tuesday 06:00-23:00
wednesday 06:00-23:00
thursday 06:00-23:00
friday 06:00-23:00
saturday 08:00-20:00
sunday 08:00-12:00,14:00-18:00
2.7 CONFIGURATION
The resulting file will therefore be:
[root@pom-demo-40 nagios]# cat /etc/pom/wui/nagios/[Link]
# Generated by /opt/pom/www/config/htdocs/[Link] - Fri Dec 6 [Link] CET 2013
define timeperiod {
timeperiod_name wh-monitoring
alias Monitoring working hours
monday 06:00-23:00
tuesday 06:00-23:00
wednesday 06:00-23:00
thursday 06:00-23:00
friday 06:00-23:00
saturday 08:00-20:00
sunday 08:00-12:00,14:00-18:00
}
Important note: the syntax 08:00-12:00,14:00-18:00 will interrupt monitoring between 12:00
and 14:00. You can use this syntax to take weekly maintenance downtime into account, for example.
109
DOWNTIMES
You can also set add or delete downtimes using HTTP requests.
See HOW-TO MONITORING ADMINISTRATION: Setting Up Server Downtimes Via HTTP Requests
110
2 USING POM WEB INTERFACE
2.7.4 CONFIGURATION STATE
The system configuration can be verified by clicking the Check again link under the Configuration
state section.
The result will be displayed right above the Check again link:
⇔ Configuration is correct
2.7 CONFIGURATION
⇔ Configuration is incomplete
111
3 POM SERVER ADMINISTRATION
3 POM SERVER
ADMINISTRATION
113
3.1
POM SERVER INFO
115
3.1 POM SERVER INFO 3 POM SERVER ADMINISTRATION
3.1.1 SERVER DIRECTORY STRUCTURE
POM CONFIGURATION
POM configuration takes place in the subdirectories of:
/etc/pom
POM INSTALLATION
The POM installation directories are located in:
/opt/pom
116
3 POM SERVER ADMINISTRATION
3.1.2 SERVER PORTS AND STREAMS
IN A POM-HA CONTEXT
See POM INFRASTRUCTURE ADMINISTRATION - POM-HA
In a HA (High Availability) context, the following streams/ports must be allowed between two POM
servers:
ICMP protocol
VRRP protocol
TCP 22 (SSH)
TCP 601 (SYSLOG)
TCP 7789 (DRBD)
117
119
3.2 QUICKSTART INSTALLATION PROCEDURE
The monitoring machine, whether it is physical or virtual, must be well sized, as it will handle the
whole monitoring load.
SIZING
The following values allow to monitor up to 10 000 services approximately, which correspond to
an average of 1 000 devices monitored. This sizing fits for a single POM server.
RAM: 4 Gb
Hard drive: 150 Gb (high performance disks - 15000 rpm, set as RAID1 or RAID10)
CPU: 4 cores
NB: The machine should be able to boot from a CD-ROM or an ISO file image. POM is a bundled
solution (including the OS - CentOS) that is meant to be installed on a machine (physical or virtual),
thus the installation of an on OS apart is of no use.
NETWORK PERMISSIONS
POM must be allowed to throw requests to every monitored device. Thus it is important that it can
access to all needed networks and that firewalls allow ICMP, SNMP or required protocols for the
device.
Depending on the devices security policy, it could be important to request network authorizations
as soon as possible to avoid slowing down the monitoring deployment process.
120
3 POM SERVER ADMINISTRATION
WMI SETUP ON TARGET DEVICES
Some monitoring points rely on WMI protocol (e.g.: Windows Exchange). In that case it is mandatory
to activate and setup this service on target devices.
See HOW-TO: INTEGRATION – Setting up WMI
121
3.2.2 SERVER INSTALLATION
The installation process starts and should reach completion without any interaction needed.
However, if your machine is fitted with brand new (not yet initialized) hard drives, a dialog box
may appear. Simply choose the option Re-initialize all.
122
3 POM SERVER ADMINISTRATION
After installation is complete, the machine will reboot.
NB: Depending on the machine's BIOS settings, the system may reboot from the CD-ROM and resume to
the welcome screen. In that case, remove the CD-ROM from the drive. You can then either restart the
machine or, alternatively, select the option “Boot from local drive” which should be automatically
highlighted and executed after 1min. Press Enter to skip the waiting time.
123
.OVA FILE INSTALLATION METHOD
Important note: This installation method is dedicated to virtualized POM server solutions. Prior to
installing the POM server, you must therefore own a hypervisor server equipped with virtualization
software such as VMWare ESX, Oracle VM / VirtualBox, HyperV, Xen, KVM...
In the following, we will use the simple example of a VirtualBox hypervisor. Installation method is
similar for all hypervisors.
Open you hypervisor and, rather than creating a new virtual appliance, choose to import / open
one.
The OVA appliance we propose is pre-configured with 512MB RAM. This is a minimum
requirement. Feel free to adapt it to your monitoring needs.
124
3 POM SERVER ADMINISTRATION
Click on the import button.
The import will take a few moments, then the POM server will appear in your hypervisor's VM list.
Note: Depending on your hypervisor, you may get an error message regarding network interfaces when
you start up your POM VM.
If so, simply open the VM's settings, then revalidate the network settings (this will make your hypervisor
automatically adapt to your system's interfaces layout.
125
3.2.3 INITIAL CONFIGURATION
When POM is run for the first time, a connection prompt will appear on the display.
A new feature of POM 5.4 is the automatic acquisition of an IP address via DHCP, allowing you to
directly use the monitoring platform without further configuration. To do so, note down the address
given in the prompt and go to Connection to web interface in next pages.
If you want to assign a precise IP address to your POM server, or configure other settings like
default gateway, you can now use POM's new online configuration tool in the web interface.
See POM WEB INTERFACE: Configuration
To use command line configuration, log in to your server using the admin account:
login: admin
password: **********
Please contact our support team in case you forgot the default password.
As a measure of basic security, we recommend a password change for the admin account as soon
as you log in to the server for the first time.
Run the command admin-chpwd and type (twice) your new password for the admin account:
Note : if you do not perform this basic step, POM will notify you shortly, with a CRITICAL alert in the
Events tab, that your default password hasn't been changed.
126
3 POM SERVER ADMINISTRATION
We will describe below the configuration of:
The machine's IP address
The machine’s subnet mask expressed in CIDR notation (i.e. by using the count of leading 1
bits in the mask)
An NTP time server address - important step, in order to avoid incoherent monitoring points
test timestamps.
These three configuration steps must be performed with superuser privileges, using the pomcfg
tool that comes with your POM platform. Please refer to the example hereafter and the
corresponding outputs in the terminal:
To see a full list of the pomcfg tool's current settings, use the command sudo pomcfg:
[admin@pomsrv ~]$ sudo pomcfg
auth-ldap-base-dn=
auth-ldap-bind-dn=
auth-ldap-display-attr=displayName
auth-ldap-email-attr=mail
auth-ldap-group-allow=
auth-ldap-group-attr=sAMAccountName
auth-ldap-group-filter=member=%D
auth-ldap-login-attr=sAMAccountName
auth-ldap-pager-attr=pager
auth-ldap-referrals=
auth-ldap-timeout=6
auth-ldap-uri=
auth-ldap-user-filter=sAMAccountName=%u
auth-order=local
debug-events=0
debug-reports=0
dns-server=[Link]
events-default-popin=0
events-enable-column-address=1
events-enable-column-groups=1
events-notify-on-ack=1
ftp-proxy=
hostname=pomsrv
http-proxy=
https-proxy=
maps-geographic-status=meta
net-cidr=[Link]/24
net-enable-bonding=0
net-enable-dhcp=0
net-gw=[Link]
net-if=lo;eth0
net-ip=[Link]
net-mask=[Link]
ntp-server=
pom-default-language=fr_FR
pom-description=POM
pom-email-address=pom@pomsrv
pom-housekeeper-retention-days=7
127
pom-sender-notifications=POM Notifications
pom-sender-reports=POM Reports
pomgen-default-esx-password=password
pomgen-default-esx-user=admin
pomgen-default-host-template=generic-host
pomgen-default-iftype-allowed-list=
pomgen-default-ms-password=password
pomgen-default-ms-user=admin
pomgen-default-nomon-command=check-host-nomon
pomgen-default-nsc-secret=secret
pomgen-default-ping-interval=0.2
pomgen-default-service-template=generic-service
pomgen-default-snmp-auth-password=pompassword
pomgen-default-snmp-auth-protocol=MD5
pomgen-default-snmp-community=public
pomgen-default-snmp-port=161
pomgen-default-snmp-priv-password=pomsecret
pomgen-default-snmp-priv-protocol=DES
pomgen-default-snmp-sec-level=authPriv
pomgen-default-snmp-sec-name=admin
pomgen-default-snmp-transport=UDP
pomgen-default-snmp-version=2c
pomgen-default-ssh-port=22
pomgen-default-ssh-user=admin
pomgen-default-windows-ifname-filter=*,!WAN
Miniport*,!Miniport*WAN*,!Miniport*Moniteur*,!*QoS*,!*WFP*,!*LightWeight*,!RAS *,!*
RAS,!*-0000
pomgen-enable-crond=0
pomgen-enable-hostname-resolution=1
pomgen-enable-ipv4-resolution=1
pomgen-ha-autosync=0
pomgen-host-escalation-options=d;u;r
pomgen-meta-escalation-options=u;c;r
pomgen-service-escalation-options=u;c;r
root-alias=
same-proxy-for-all-protocols=1
smtp-server=
smtp-server-auth=
syslog-server=
system-enable-https=0
system-https-cert=/etc/pki/tls/certs/[Link]
system-https-key=/etc/pki/tls/private/[Link]
system-poller=NAGIOS
system-public-hostname=pomsrv
system-snmp-community=public
system-snmp-contact=support@[Link]
system-snmp-location=
As we've just seen, to set one or more of these parameters, use the command:
sudo pomcfg set [parameter]=[value]
You can set several parameters by leaving spaces between them
Please note that all these parameters can now be set directly from the web interface, in the Network
and Advanced configuration entries of the Configuration menu.
128
129
3.2 QUICKSTART INSTALLATION PROCEDURE 3 POM SERVER ADMINISTRATION
CONNECTION TO WEB INTERFACE
To ensure proper operation of the machine, open a web browser and go to the POM server's
address.
SSL certificate
In POM 5.4, connection to POM web interface is done via HTTP by default, instead of HTTPS as was
previously the case. You can enable HTTPS at any time in the web interface's revised Network
configuration page.
130
3 POM SERVER ADMINISTRATION
First connection
Once you're set for your first connection, the POM web interface login box will appear.
login: admin
password: **********
If everything has been correctly set up, you should then be directed to the Events tab of the
monitoring interface.
131
133
3.3 HOW-TO: SERVER MAINTENANCE
In order to perform many maintenance tasks on the POM server, you will need to log in as root
user. To do so, when connected as admin, simply use the following command:
[admin@pom-server ~]# root
134
3 POM SERVER ADMINISTRATION
3.3.2 REBOOTING AND SHUTTING DOWN THE SERVER
Note: to start the server again, you will, of course, need to use the server power button
135
3.3.3 UPDATING & UPGRADING A POM PLATFORM
Important note: the “rolling release” approach described below became a simple and safe procedure
with POM 5.2. For earlier versions of POM, we do not recommend that you try to update the system
without help from the POM support. Updates from POM 4.1 to 5.0 and 5.0 to 5.1 in particular have a
high impact on the system core and must be handled with great care.
The POM platform is based on a CentOS Linux distribution. Therefore, it can be updated just as any
other Linux distribution.
The yum tool allows you to update the integrated Linux system as well as the POM application
[root@pom-mon ~]# yum update
136
3 POM SERVER ADMINISTRATION
POM RPM PACKAGES INFORMATION
To get the list of RPM packages installed by POM, run the following command:
[admin@pom-mon ~]$ rpm –qa | grep pom-
137
3.3.4 BACKING UP & RESTORING A POM PLATFORM
BACKUP COPIES
POM backup copies can be found in two directories:
Logs and entries of the database can be found in the directory /data.
The POM platform's configuration is saved in the directory /var/backup/housekeeper
by the housekeeper tool.
Housekeeper tool
The Housekeeper backup tool runs automatically every night at 1:30. You can run it instantly
(you must be logged in as root) with the following command :
[root@pomsrv ~]# housekeeper
You can configure housekeeper by editing its configuration file, which is located at
/etc/pom/housekeeper/[Link].
In this config file, the DUMP_RETENTION variable sets the number of days housekeeper keeps
backup files (7 by default):
DUMP_RETENTION=7
You can also add a line with the CLEAN_RRD_TTL_DAYS variable, which sets how long .RRD and
.TXT files of the RRD database can stay unmodified before being archived (default is 31 days).
Archived data will be stored in /data/rrd and their filenames will be of the form:
[Link]
RESTORATION PROCEDURE
1. Reinstall POM 5.4
2. Deactive cron elements in /etc/cron.d/pom-box
3. Stop the following services: nagios, mysqld, postgresql-9.1,
syslog-ng, snmptrapd, httpd
4. Set up network configuration with the pomcfg tool
See QUICKSTART INSTALLATION PROCEDURE
5. Update POM with the command yum update
6. Put back contents of /data
7. Put back contents of /var/backup
8. Put back contents saved by housekeeper in /etc, rpm, rpm-
added, rpm-verify, /opt/pom, /home/admin/incoming
9. Start the following services: nagios, mysqld, postgresql-9.1,
syslog-ng, snmptrapd, httpd
10. Reactivate cron elements in /etc/cron.d/pom-box
138
3 POM SERVER ADMINISTRATION
3.3.5 MIGRATING/DUPLICATING A POM PLATFORM
CONTEXT
In the particular case of transfering POM from a virtual machine to a physical server without using
tools offered by the virtualization platform, a specific procedure is required in order to avoid data
loss.
The context of our example is as follows:
The company's domain name is [Link]
The POM platform is installed on a virtual machine
hostname=[Link]
hostdesc=POM v5.4 VM
net-cidr=[Link]/24
net-gw=[Link]
Important note: while migrating, the temporary IP address [Link]/24 will be allocated to
phy to prevent conflicts.
139
PROCEDURE
140
3 POM SERVER ADMINISTRATION
3.3.6 INCREASE /DATA PARTITION SIZE
You may want to increase the size of the /data partition after adding a physical or virtual hard
drive to your POM server. In the following procedure, we will use the case of a physical hard drive.
Procedure for a virtual hard drive is similar.
Note: you must perform all the following tasks with superuser privileges.
141
FETCH AVAILABLE PHYSICAL VOLUME EXTEND AMOUNT
Look for the value of the Free PE (Physical Extend) entry (384 in the following example)
[root@pomsrv ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda8
VG Name data
PV Size 12.02 GiB / not usable 18.33 MiB
Allocatable yes
PE Size 32.00 MiB
Total PE 384
Free PE 384
Allocated PE 0
PV UUID KMt2CU-Sjkq-Z0gx-vMcQ-mezw-mBaA-KC7Tyn
142
3 POM SERVER ADMINISTRATION
RESTART PREVIOUSLY STOPPED SERVICES
[root@pomsrv ~]# service postgresql-9.1 start
Starting postgresql-9.1 service: [ OK ]
[root@pomsrv ~]# service snmptrapd start
Starting snmptrapd: [ OK ]
[root@pomsrv ~]# service syslog-ng start
Starting syslog-ng: [ OK ]
[root@pomsrv ~]# service ndoutils start
Starting ndo2db: [ OK ]
[root@pomsrv ~]# service mysqld start
Starting mysqld: [ OK ]
[root@pomsrv ~]# service nagios start
nagios is stopped
Cleanup nagios checkresults: [ OK ]
Starting nagios: [ OK ]
[root@pomsrv ~]# service perf2rrd start
Starting perf2rrd: [ OK ]
143
3.3.7 RENEWING SSL CERTIFICATE
144
145
3.4 HOW-TO: SERVER ONEOFF OPERATIONS
POM web interface comes in three possible languages: French, English and German.
Default language is French, and you can modify this setting in two ways:
MOMENTARILY
By adding ?i18n=<language_code> at the end of the url in your browser
PERMANENTLY
By editing the language configuration file /etc/pom/wui/[Link]
146
3 POM SERVER ADMINISTRATION
3.4.2 ACTIVATING SNMP
OVERVIEW
As POM monitoring functionalities rely heavily on SNMP (Simple Network Management Protocol),
it is necessary to activate it on target hosts.
The SNMP protocol uses an agent installed on the monitored host. This functionality is usually
provided by the host's system. The agent has 2 distinct operating modes:
Server mode: In this mode, the agent listens to the port 161/udp and replies to requests.
Trap mode: In this mode, the agent sends to an SNMP trap server, on port 162/udp,
information relative to events occuring on its host.
Default configuration for the agent in POM is the server mode, that will allow most common
ON WINDOWS SYSTEMS
Note: you will need the Windows Server 2003 installation CDs to perform the above tasks
147
Configuration
Note: on Windows Server 2008, you may need to log out after SNMP installation, and log in again to
see all tabs related to SNMP
148
3 POM SERVER ADMINISTRATION
ON LINUX/UNIX SYSTEMS
RedHat/CentOS
yum install snmpd
Debian
aptitude install snmpd
The following lines will define the public COMMUNITY, VERSION 2c, without restriction on
informations provided by the SNMP server (OID)
### SNMP SERVER ###
#com2sec SECNAME SOURCE COMMUNITY
com2sec full default public
Note: POM-SERVER is the DNS name of the POM server. This name must be registered on the host.
149
ON NETWORK DEVICES
SNMP is normally installed on all network devices, therefore no installation procedure is needed.
However, SNMP is deactivated by default on most devices, and the admin will have to activate the
functionality.
Cisco
configure terminal
snmp-server community <community_name> RO
snmp-server host <IP_POM_server> v2c
HP Procurve
configure terminal
snmp-server community "<community_name>" Operator
snmp-server host <IP_POM_server> community "<community_name>"
Dell
configure terminal
snmp-server community <community_name> ro
snmp-server host <IP_POM_server> v2c
Nortel
configure terminal
snmp-server community "<community_name>" ro
snmp-server host <IP_POM_server> "<community_name>"
150
3 POM SERVER ADMINISTRATION
3.4.3 SETTING UP A PERSISTENT ROUTE
If monitored devices are located on a different network than the POM server's, it may be necessary
to add a persistent route that will be established on network service startup.
On RedHat/CentOS, such routes are defined in config files for the corresponding interfaces, and
located in /etc/sysconfig/network-scripts.
In POM, the main interface is, by default, bond0, which is an aggregated interface bond.
Therefore, the corresponding config file will be /etc/sysconfig/network-scripts/route-bond0.
Example:
The POM platform, IP [Link], is located on the network LAN1: [Link]/24,
default gateway [Link].
The POM platform must monitor all machines on the network LAN2: [Link]/16
Restart network service to check the new route has been registered:
[root@pom ~]# service network restart
Shutting down interface bond0: [ OK ]
Shutting down loopback interface: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface bond0: [ OK ]
151
3.4.4 MANAGING LARGE DRIVES
In case the reported drive size is lower than expected, the only action needed is to declare the
following line in the config file of the SNMP agent interrogated by POM:
realStorageUnits 0
Below is an excerpt from the [Link] man page, detailing the purpose of the realStorageUnits
parameter:
realStorageUnits
Example:
Linux xfs 16TB filesystem with 4096 bytes large blocks will be reported as
hrStorageAllocationUnits = 8192 and hrStorageSize = 2147483647, so 8192 x 2147483647 gives
real size of the filesystem (=16 TB).
Setting this directive to 1 (=default) turns off this calculation and the agent reports real
hrStorageAllocationUnits, but it might report wrong hrStorageSize for big drives because the value
won't fit into Integer32. In this case, hrStorageAllocationUnits x hrStorageSize won't
give real size of the storage.
152
3 POM SERVER ADMINISTRATION
3.4.5 SETTING UP A BEAGLEBONE AS A POM CONSOLE
The following section describes how to set up a Beaglebone machine intended to serve as POM
console.
Below is an example of command to execute when the microSD card is inserted in a device such as
153
OPEN CHROME IN KIOSK MODE AT STARTUP
When preparing the microSD card, the xsessionrc must be modified for the autologged user debian.
The following code allows Chrome in kiosk mode (full screen, no alerts), and only after the target
host is DNS-resolved. Waiting for this last step to be completed may take 30 to 60 seconds.
# mount /dev/mmcblk0p2 /mnt/disk
# cat >> /home/admin/.xsessionrc << EOF
SITE=[Link]
HOST=${SITE#*://}
HOST=${HOST%%/*}
( # wait for host to be resolved before starting chrome
while ! host $HOST ; do sleep 1 ; done
set -e
CHROMIUM_TEMP=~/tmp/chromium
rm -Rf ~/.config/chromium/
rm -Rf $CHROMIUM_TEMP
mkdir -p $CHROMIUM_TEMP
GOOGLE_API_KEY="no" \
GOOGLE_DEFAULT_CLIENT_ID="no" \
GOOGLE_DEFAULT_CLIENT_SECRET="no" \
chromium \
--disable \
--disable-translate \
--disable-infobars \
--disable-suggestions-service \
--disable-save-password-bubble \
--disk-cache-dir=$CHROMIUM_TEMP/cache/ \
--user-data-dir=$CHROMIUM_TEMP/user_data/ \
--start-maximized \
--ignore-certificate-errors \
--kiosk "$SITE" & ) &
EOF
# umount /mnt/disk
154
155
3.5 HOW-TO: WEB INTERFACE CUSTOMIZATION
Important note: to avoid overwriting previously entered data, you must use the precise syntax described
in the example below in the address and groups columns.
Example:
Create the file /etc/pom/events/[Link]
Set its permissions as such:
[root@pom ~]# chown root: /etc/pom/events/[Link]
[root@pom ~]# chmod a-x,ug-w,a+r,u+w /etc/pom/events/[Link]
Then edit it and insert the following lines:
<?php
$COLUMN_DEFINITION['address']['opts'] |= COL_ENABLED;
$COLUMN_DEFINITION['groups']['opts'] |= COL_ENABLED;
?>
Example (continued):
Note: As the DESCRIPTION column was not previously set to appear in the Events view, we can use a
more simple syntax here
<?php
// show description column in options dialog box (cvar) and in events vue (opts)
// note: COL_ENABLED is a value, thus quotes are forbidden
$COLUMN_DEFINITION['description'] = array(
'cvar' => 'DESCRIPTION',
'opts' => COL_ENABLED
);
156
3 POM SERVER ADMINISTRATION
PROCEDURE column
This column allows you to associate a problem solving procedure to a monitoring point.
The content of this column can be:
the procedure itself (dokuwiki syntax applies)
an URL corresponding to, e.g., a wiki article on the specific problem encountered. Any link
starting with http:// or https:// will be treated as an url. If the url contains spaces or
special characters, either use the url-encode syntax (e.g. replace a space by %20) or use
the syntax [[url|link name]]
The link will be rendered available in the Procedure field of the pop-in.
Example: [[[Link] The POM]], display
157
3.5.2 INVENTORY
Important note : It is not recommended to manually alter the list of scanned addresses/networks.
Having POM Server’s address should be all Discovery needs to discover surrounding hosts, step by step.
Even if not recommended, you can still modify the default settings for the Discovery daemon by
editing its configuration file, located at /etc/pom/discovery/[Link].
Example:
{
"discov": {
"snmp-configurations": [
{
"version": "2c",
"community": "test"
},
],
"externals": {
"network_scan.sh": [
"[Link]/24",
"[Link]/32"
]
},
"networks": [
"[Link]/16",
"[Link]/16",
"[Link]/16"
],
"delay-active": 500
}
}
158
3 POM SERVER ADMINISTRATION
3.5.3 MAPS
SETTING UP AUTOMAP
Automaps creation process is based on three elements:
Dependencies, which are set in POM with the DEPENDS column
See MONITORING ADMINISTRATION: Spreadsheet file – HOSTS section
The configuration file, that will define which host will act as parent
The defaultroot in the /etc/pom/nagvis/[Link] file, [automap] section
In order to use the file /etc/pom/nagvis/automaps/[Link], you must ensure the POM server
name is pom. If not the case, you will have to replace the default value pom in this file by the one
defined in the spreadsheet file.
As an example, let's take a host named core and have it act as parent for an automap.
The host will then have to be declared in the DEPENDS column of the spreadsheet file.
# cp /etc/pom/nagvis/automaps/[Link] /etc/pom/nagvis/automaps/[Link]
# cat
[root@pom]# cat /etc/pom/nagvis/automaps/[Link]
define global {
iconset=pom_small
hover_childs_sort=s
hover_childs_order=asc
label_show=1
label_border=transparent
default_params=&root=core&renderMode=circular&width=700&height=700
}
...
159
MODIFYING AN EXISTING MAP BACKGROUND
This functionality is not yet available from the web interface.
It can however be achieved in 2 simple steps:
Load the new image via the user interface
Alter the map configuration file to display the new image
In the default configuration file, the background image is the value allocated to map_image in the
global section:
# cat /etc/pom/nagvis/maps/[Link]
define global {
map_image=[Link]
iconset=std_medium
}
...
To use the pre-existing .css style associated with the template, create a symbolic link:
ln -s [Link] /etc/pom/nagvis/userfiles/templates/[Link]
In the newly created template [Link] , add the following lines before the last
<!-- END service --> tag (line 38):
<!-- BEGIN: POM graph -->
<tr>
<td colspan="2">
<iframe style="margin-top: 10px; border: none; width: 100%; min-width: 450px;
height: 200px;"
src="/rrd/[Link]?view=pink&period=1day&host=[obj_name]&svc=[service_description]&
area&small">
</iframe>
</td>
</tr>
<!-- END: POM graph -->
160
3 POM SERVER ADMINISTRATION
ADDING A CUSTOM ICONSET
You can customized the sets of icons used in your maps.
Requirements
A POM iconset must contain 12 icons (see example below).
Allowed file formats are .png, .jpeg, .gif (animated gifs are allowed)
It is recommended to use an identical size for all icons of a set
The name of each icon file must be of the form iconset_state.extension, where
iconset is the name of the iconset as it will appear in the drop-down menu in Maps, and
state is the monitoring point state pictured (see example below).
Filenames
Icon example State part of the filename State
(pom_big iconset) (here xxx in pom_big_xxx.png)
ok OK
Installation folder
The 12 icon files must be placed in:
/etc/pom/nagvis/userfiles/images/iconsets/
161
3.5.4 LOGS
RSYSLOG
Edit the rsyslog configuration file (Redhat/Debian): /etc/[Link]
Add the following line ([Link] is POM server's IP address)
*.* @[Link]
NXLOG
Installation:
Download the .msi Windows installation file from Sourceforge
Follow the setup instructions.
## This is a sample configuration file. See the nxlog reference manual
## about the configuration options. It should be installed locally and
## is also available online at
## [Link]
## Please set the ROOT to the folder your nxlog was installed into,
## otherwise it will not start.
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\[Link]
SpoolDir %ROOT%\data
LogFile %ROOT%\data\[Link]
<Extension syslog>
Module xm_syslog
</Extension>
<Input internal>
Module im_internal
</Input>
<Input in>
Module im_msvistalog
162
3 POM SERVER ADMINISTRATION
# For windows 2003 and earlier use the following:
# Module im_mseventlog
</Input>
<Output out>
Module om_tcp
Host [Link]
Port 514
</Output>
<Route 1>
Path in => out
</Route>
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\[Link]
SpoolDir %ROOT%\data
LogFile %ROOT%\data\[Link]
<Extension syslog-mod>
Module xm_syslog
</Extension>
<Input internal>
Module im_internal
Exec to_syslog_bsd();
</Input>
<Input eventlog>
Module im_mseventlog
Exec to_syslog_bsd();
SavePos True
</Input>
<Output syslog>
Module om_udp
Host [Link]
Port 514
</Output>
<Route to-syslog>
Path internal,eventlog => syslog
</Route>
On Windows Server 2008 and later versions, the adequate module is im_msvistalog
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\[Link]
SpoolDir %ROOT%\data
LogFile %ROOT%\data\[Link]
<Extension syslog-mod>
Module xm_syslog
</Extension>
<Input internal>
Module im_internal
Exec to_syslog_bsd();
</Input>
163
<Input eventlog>
Module im_msvistalog
Exec to_syslog_bsd();
SavePos True
</Input>
<Output syslog>
Module om_udp
Host [Link]
Port 514
</Output>
<Route to-syslog>
Path internal,eventlog => syslog
</Route>
Close attention must be paid to the define ROOT directive, which defines NXLOG's installation
directory and subdirectories path
Service start
Launch [Link]: press Windows key + R and type cmd
Move to the installation directory cd /Prog*/nxlog
Install the service
nxlog -i
Start the service
net start nxlog
Service restart
Stop the service
net stop nxlog
Start the service again
net start nxlog
164
3 POM SERVER ADMINISTRATION
Send events to more than one server
As an example, we have 2 recipient servers, with the IP addresses [Link] and
[Link] respectively.
We must adapt the config to setup 2 output interfaces, and 2 routes for each of these interfaces.
<Output out1>
Module om_udp
Host [Link]
Port 514
</Output>
<Output out2>
Module om_udp
Host [Link]
Port 514
</Output>
<Route multi>
Path in => out1, out2
</Route>
<Route file_out>
Path file => out
</Route>
165
3.5.5 REPORTS
CUSTOMIZING REPORTS
It is possible to adapt reports to your company by customizing the following elements:
Logo
To replace the default POM logo with your own logo, simply place the corresponding image file in
/etc/pom/reports.
The image file must meet the following requirements:
file format: png, jpg, gif
maximum recommended size: 377×133 (width x height)
To use an image located in another directory, you just have to set the header_logo variable to the
absolute path of the image file, in the /etc/pom/reports/[Link] configuration file.
Example:
Our image file, [Link], is located in the directory /etc/pom/reports
$BIRT_VARIABLES['header_logo'] = '/etc/pom/reports/[Link]';
Important note: quotes are mandatory. Omitting the quotes may cause the Reports tab to become
unreachable.
Footer
You can override the default footer appearing on each page of the report, also by editing the
/etc/pom/reports/[Link] configuration file:
Simply set the footer_html_text variable to the text you want to appear in the report's footer
Example:
$BIRT_VARIABLES['footer_html_text'] = '<a href="[Link]
company</a> - 1, Main Street - METROPOLIS';
166
3 POM SERVER ADMINISTRATION
WORKING HOURS SETTINGS
Note: in the filenames used hereafter, “ho” stands for "Heures Ouvrées", French for "Working Hours"
Generate the periods, using the command [Link] with the following
File example
In this example, two working hours periods will be created, since two blocks feature the rrd line
christmas period, which embeds mon-fri-7h-20h, week-end and public holidays
mon-fri-8h-19h period, which only embeds public holidays
[christmas]
mon-fri-7h-20h
week-end
!public-holiday-2014-fr
!public-holiday-2015-fr
!public-holiday-2016-fr
!public-holiday-2017-fr
!public-holiday-2018-fr
!public-holiday-2019-fr
!public-holiday-2020-fr
rrd
[week-end]
sat 07:00-20:00
sun 08:00-14:00
[mon-fri-7h-20h]
mon 07:00-20:00
tue 07:00-20:00
wed 07:00-20:00
thu 07:00-20:00
fri 07:00-20:00
[mon-fri-8h-19h]
mon 08:00-19:00
tue 08:00-19:00
wed 08:00-19:00
thu 08:00-19:00
fri 08:00-19:00
!public-holiday-2011-fr
167
!public-holiday-2012-fr
!public-holiday-2013-fr
!public-holiday-2014-fr
!public-holiday-2015-fr
!public-holiday-2016-fr
!public-holiday-2017-fr
!public-holiday-2018-fr
!public-holiday-2019-fr
!public-holiday-2020-fr
rrd
alias period
[public-holiday-2014-fr]
2014-01-01
2014-04-21
2014-05-01
2014-05-08
2014-05-29
2014-06-09
2014-07-14
2014-08-15
2014-11-01
2014-11-11
2014-12-25
[public-holiday-2015-fr]
2015-01-01
2015-04-06
2015-05-01
2015-05-08
2015-05-14
2014-05-25
2015-07-14
2015-08-15
2015-11-01
2015-11-11
2015-12-25
[public-holiday-2016-fr]
2016-01-01
2016-03-28
2016-05-01
2016-05-05
2016-05-08
2016-05-16
2016-07-14
2016-08-15
2016-11-01
2016-11-11
2016-12-25
[public-holiday-2017-fr]
2017-01-01
2017-04-17
2017-05-01
2017-05-08
2017-05-25
2017-06-05
2017-07-14
2017-08-15
2017-11-01
2017-11-11
2017-12-25
[public-holiday-2018-fr]
2018-01-01
2018-04-02
2018-05-01
2018-05-08
2018-05-10
2018-05-21
2018-07-14
2018-08-15
2018-11-01
2018-11-11
2018-12-25
168
3 POM SERVER ADMINISTRATION
[public-holiday-2019-fr]
2019-01-01
2019-04-22
2019-05-01
2019-05-08
2019-05-20
2019-06-10
2019-07-14
2019-08-15
2019-11-01
2019-11-11
2019-12-25
[public-holiday-2020-fr]
2020-01-01
2020-04-22
2020-05-01
2020-05-08
2020-05-21
2020-06-01
2020-07-14
2020-08-15
2020-11-01
2020-11-11
2020-12-25
169
3.5.6 SETTING UP SCREEN ROLLOVER
Screen rollover (or rotation) is a very handy functionality when POM is displayed on a large
monitoring screen, such as a wall-mounted TV screen in an office or an IT team open space.
The display alternates between several views, with a predefined delay.
You can set up this functionality by editing the /etc/pom/[Link] configuration file:
# cat /etc/pom/[Link]
...
$delay = 30;
$links = array (
"/events/?monitor",
"/nagvis/frontend/nagvis-js/[Link]?mod=Map&act=view&show=Oise&monitor=1"
);
...
The $delay variable sets display time for each view
The $links variable defines a php table with one line for each value. 2 consecutive values
must be separated by a comma ,
Methods to get the url of each view vary, depending both on the kind of view you want to collect
and the kind of browser you use. Following are a few tricks:
Click on the desired map in the list and click on the "monitor mode" button.
The map's URL should appear in the address bar of your browser. Copy the fetched URL and paste
it in your config file, without the server part.
Adding \txt{monitor=1} at the end of the address displays a view without the action buttons,
which particularly suits the screen rollover presentation.
Example:
The collected url is
[Link]
Copy the address without the server part, and add the parameter \txt{monitor=1}
/nagvis/frontend/nagvis-js/[Link]?mod=Map\&act=view\&show=POM\&monitor=1
170
3 POM SERVER ADMINISTRATION
Once addresses are filled in the /etc/pom/[Link] config file and the file is saved, you only
need to open a web browser on the screen dedicated to screen rollover, and go to the pom server,
adding the parameter /rotate at the end of the url.
Example:
If your POM server's url is [Link] , then [Link]
will give you the screen rollover presentation previously configured.
To create several different rollover patterns (e.g. for different teams in the company), simply
duplicate the config file /etc/pom/[Link], then create symolic links for the new files.
Example (must be performed as root):
cp /etc/pom/[Link] /etc/pom/[Link]
cp /etc/pom/[Link] /etc/pom/[Link]
ln -s /etc/pom/[Link] /opt/pom/www/rotate/[Link]
ln -s /etc/pom/[Link] /opt/pom/www/rotate/[Link]
## variant 1 /etc/pom/[Link]
[Link]
## variant 2 /etc/pom/[Link]
[Link]
171
4 POM INFRASTRUCTURE ADMINISTRATION
4 POM
INFRASTRUCTURE
ADMINISTRATION
173
4 POM INFRASTRUCTURE ADMINISTRATION
4.1 POM-AGENT
POM-Agent is a monitoring agent that can be installed on any monitored Windows machine. It
consists of:
A web service on the POM server
A Windows service on the monitored host
The Windows service collects data in a .txt file on the local system it's installed on, then sends
them through HTTPS to the web service on the POM server (HTTP can be used but is not
recommended). Data collected are:
Standard host status data (MEM, CPU, DISK…)
URL execution time (check_url)
WEB scenario
CLIENT/SERVER scenario
The agent fetches data via HTTPS requests, then sends these data via HTTPS PUSH request to the
POM server, which in turn relays them to the dedicated indicators.
Important note: to allow communication between the agent and the POM server, the adequate port (443
4.1 POM-AGENT
for HTTPS) must be opened on the target host.
175
4.1.1 AGENT INSTALLATION ON THE WINDOWS SYSTEM
Run the POM-Agent installation program. The first screen will allow you to define parameters.
Important note: to modify any of these parameters afterwards, you will need to re-install the agent.
URL
Web service URL, by default:
[Link] server address>/agent/[Link]
Server credentials
By default, agent:password
Proxy
Optional proxy address and port
Proxy credentials
Optional
176
4 POM INFRASTRUCTURE ADMINISTRATION
4.1.2 AGENT REGISTRATION IN POM
HOSTS SECTION
First, you need to register the agent in the HOSTS section of the configuration spreadsheet file,
using the win-agent host template
See example below:
# HEADER HOSTS SITE TEMPLATE DESCRIPTION IP-ADDRESS NAME
MYSITE win-agent Windows Server 2008 [Link] SRV-W2K8
Note: The value entered in the NAME column must be the same as the HOSTNAME column value in the
SERVICES section
This registration will automatically create the following indicators, with the corresponding default
threshold values:
Indicator name WARNING CRITICAL
CLOCK 180 300
4.1 POM-AGENT
CPU 75 80
DISK 90 95
MEM 180 300
NB-PROCESS 80 100
NETWORK 80 90
SWAP 90 95
UPTIME 600
SERVICES SECTION
To test execution times of specific URLs, register them in the SERVICES section, using the
WEB@AGENT template.
See example below:
# HEADER SERVICES HOSTNAME TEMPLATE NAME URL WARNING CRITICAL …
# SRV-W2K8 WEB@AGENT login [Link] 300 400 …
177
4.1.3 EXECUTION OF SCENARIOS
Execution of scenarios by POM-Agent can take two forms: either simple web (light) scenarios, or
advanced client/server (heavy) scenarios.
For scenarios outside POM-Agent, see HOW-TO: MONITORING ADMINISTRATION – Setting up scenarios
Reminder: When setting up the scenario’s waiting times, be sure to take the pages loading times into
account, to avoid performing any action before a page is properly loaded.
Note: WARNING and CRITICAL columns are available, but only apply to the total_time index. It is
therefore recommended to use the relevant script functions, in order to choose which index they will
apply to.
Note: the value in the SCENARIO column is the name of the scenario file WITHOUT its .scn extension
Reminder:
User-created scenarios are located by default in /etc/pom/scenarios.
If your scenarios folder is different than this default one, ensure you entered the right path
as $USER4$ in the configuration file /etc/nagios/[Link]
Functions and keywords from the check_scenario plugin can be used in your script :
id NAME define step in script (for output)
baseurl URL define base URL for next relative requests
get URL [QUERY-STRING] send URL with GET method
get-location send last location as URL
post URL [QUERY-STRING] post URL
post-data DATA set DATA for all futur usage
no-post-data reset DATA used by POST
store NAME VALUE same as store-value
store-value NAME VALUE expect and store value
store-value-xapth NAME MATCH VALUE expect and store value
store-value-xapth-html NAME MATCH VALUE expect and store value (html)
urlencode
expect-return RETURN... expect return code
expect-output STRING expect STRING in returned data
expect-location [-r] VALUE expect header Location: value
follow-location internaly follow Location:
no-follow-location disable following location internaly
store-location store special header Location:
message "my message" forced message for next operation error
port PORT set non standard port
vhost HOSTNAME set hostname to present to web server
header HEADER VALUE prepare headers to add in futurs requests
expect-header NAME VALUE expect header NAME with VALUE
178
4 POM INFRASTRUCTURE ADMINISTRATION
store-header NAME VALUE expect and store header
no-headers reset headers
no-referer reset referer
cookie NAME VALUE add client cookie
no-cookie remove all client cookie
query-string DATA set QUERY-STRING for all future usage
no-query-string reset QUERY-STRING
critical INDEX OPERATOR VALUE check INDEX
warning INDEX OPERATOR VALUE check INDEX
think-time TIME wait TIME (ms)
store-urlencode VNAME VALUE urlencode a value
store-next VALUE store as NEXT request
get-next send next determined request as URL
post-next send next determined request as URL (POST)
- time time getting object (s)
- namelookup time for name lookup (s)
- connect time connecting server (s)
- header time sending headers (s)
- start time receiving first byte (s)
- download download size (bytes)
- running time getting all objects since last id (s)
- all-time overall time getting all objects (s)
- all-objects overall number of objects
- all-size overall download size of all objects
4.1 POM-AGENT
A KVM scenario aims at measuring QoE (Quality of Experience) via an external tool. It allows you to
run a .exe executable file, get its execution time as well as HTTP return codes and intermediate
times.
Installing AutoIT
Prior to using KVM scenarios (a.k.a. heavy scenarios), you must first install an automation software.
We have tested and recommend AutoIT.
179
If you are using a 64-bit Windows OS, you will be asked to choose between x64 (64-bit) or x86
(32-bit) compilation. If you choose x64, 32-bit compilation will still be available in Windows
context menu used to execute the .exe file. Click “Next”.
In next window, you will be asked what default action you want Windows to perform when double-
clicking on a .au3 script file. It is recommended that you choose “Edit the script”, in order to avoid
unwanted script runs. Click “Next”.
180
4 POM INFRASTRUCTURE ADMINISTRATION
In next setup window, select all components you want to install, then click “Next”.
4.1 POM-AGENT
Finally, choose an installation location, and click “Install”. Once the installation is complete, you
will receive confirmation. Click “Finish” to exit the wizard.
The AutoIT tool will generate an autonomous .exe executable file for each scenario. You will then
have to place created executables in the directory /etc/pom/scenarios of your POM server.
POM will automatically deploy and update scenarios on all hosts where POM-Agent is installed.
Note : While AutoIT has to be installed on a Windows machine, you do not need to install it on your
target Windows host. AutoIT is only used to compile executable scenarios and is not involved in the
monitoring process.
AutoIT comes with with a comprehensive scripting documentation, be sure to check it out.
181
Using a dedicated library
To create heavy scenarios more easily, we recommend that you use a dedicated function library. To
do so, create a file named pom.au3 in the \Include folder of your AutoIT installation path (by
default, C:\Program Files (x86)\AutoIt3\Include ), and fill it with the following lines:
#include <WinAPIFiles.au3>
Global $ghPomFileOpen = 0
Global $giTimer = 0
Global $gsTimerId
; pom_close_windows_of_class
; Closes all windows of the defined class
; To be used at start and end of script
Func pom_close_windows_of_class($class_name = "")
Local $aList = WinList($class_name)
For $i = 1 To $aList[0][0]
If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
WinClose($aList[$i][0])
EndIf
Next
EndFunc
; pom_init
; Opens the agent's swap file
; Must be used at start of the script
Func pom_init($file_name = "")
Local $nb_param = $CmdLine[0]
;Local $file_name = ""
if ($ghPomFileOpen = 0) then
if ($file_name = "") Then
;~ Check if specific parameters has been send by the agent
if ($CmdLine[0] > 1) Then
if ($CmdLine[1] = "/pom_file_out") Then
$file_name = $CmdLine[2]
EndIf
EndIf
Endif
;~ If a file name is given by the agent, we can add perfdata in this file
if ($file_name <> "") Then
$ghPomFileOpen = FileOpen($file_name, $FO_OVERWRITE)
If $ghPomFileOpen = -1 Then
exit -2
EndIf
EndIf
EndIf
EndFunc
; pom_quit
; Closes the agent's swap file
; Must be used at the end of the script
Func pom_quit()
FileClose($ghPomFileOpen)
exit 0
EndFunc
; pom_id
; Has behaviour of the id function of check_scenario
; Triggers a timer
Func pom_id($sTimerId)
$gsTimerId = $sTimerId
$giTimer = TimerInit()
EndFunc
; pom_perfdata
; Writes in the swap file, in the format expected by the agent
Func pom_perfdata($perfdata_index, $perfdata_current, $perfdata_warning = "",
$perfdata_critical = "", $perfdata_min = "", $perdata_max = "")
; Target syntax below
; Local $sPerfData = "'" & $perfdata_index & "'=" & $perfdata_current & ";" &
$perfdata_warning & ";" & $perfdata_critical & ";" & $perfdata_min & ";" & $perdata_max
& @CRLF
; FileWriteLine($ghPomFileOpen, $sPerfData)
Local $sPerfData = "time_" & $perfdata_index & ":" & $perfdata_current & @CRLF
FileWriteLine($ghPomFileOpen, $sPerfData)
EndFunc
182
4 POM INFRASTRUCTURE ADMINISTRATION
; pom_stats
; Stops the pom_id timer
Func pom_stats()
pom_perfdata($gsTimerId, Round(TimerDiff($giTimer)))
EndFunc
; pom_output
; Allows you to alter the plugin's output
Func pom_output($sOutput)
FileWriteLine($ghPomFileOpen, "bin_output:" & $sOutput & @CRLF)
EndFunc
; pom_check_pixel_checksum_change
; Gives the control back only when the contents of the defined rectangle have changed
; or when $iLoopLength loops of $iLoopStep milliseconds have been completed
Func pom_check_pixel_checksum_change($iXLeft, $iYTop, $iXRight, $iYBottom, $iLoopLength
= 100, $iLoopStep = 100)
Local $iLoopCount = 0
Local $iCheckSum = PixelChecksum($iXLeft, $iYTop, $iXRight, $iYBottom)
; Wait for the region to change, the region is checked every 100ms to reduce CPU load
While $iCheckSum = PixelChecksum($iXLeft, $iYTop, $iXRight, $iYBottom) And $iLoopCount
< $iLoopLength
$iLoopCount = $iLoopCount + 1
Sleep($iLoopStep)
WEnd
EndFunc
When creating a new scenario, you will then be able to call functions defined in the library, by
including the library at the start of the scenario, like this:
4.1 POM-AGENT
#include <pom.au3>
Scenario examples
In the following example, we are going to use an .au3 scenario script to test response time and
availability of a webmail (namely the Zimbra client used by the Free ISP).
But first, let's see how you can fetch useful information for your scenario using the Window Info
tool that comes with AutoIT. Launch the Window Info tool:
183
By dragging the crosshairs symbol and dropping it on the desired web frame, you get all the
information needed : frame title, class and instance
You can now create your script, that will look like this:
#include <pom.au3>
; Window cleanup
pom_close_windows_of_class("[CLASS:IEFrame]")
AutoItSetOption ( "SendKeyDelay", 50 )
Sleep (200)
if WinExists ("Webmail [Link] - Internet Explorer") Then
sleep(200)
ControlSend("[CLASS:IEFrame]", "", "Internet Explorer_Server1",
"youraddresshere@[Link]", 1)
sleep(200)
ControlSend("[CLASS:IEFrame]", "", "Internet Explorer_Server1", "{TAB}")
sleep(200)
ControlSend("[CLASS:IEFrame]", "", "Internet Explorer_Server1", "YourPasswordHere",
1)
sleep(200)
ControlSend("[CLASS:IEFrame]", "", "Internet Explorer_Server1", "{TAB 2}")
sleep(200)
ControlSend("[CLASS:IEFrame]", "", "Internet Explorer_Server1", "{ENTER}")
Else
Winclose ("[CLASS:IEFrame]")
pom_close_windows_of_class("[CLASS:IEFrame]")
pom_output("Zimbra not available")
FileClose($ghPomFileOpen)
184
4 POM INFRASTRUCTURE ADMINISTRATION
exit 1
EndIf
Winclose ("[CLASS:IEFrame]")
pom_close_windows_of_class("[CLASS:IEFrame]")
pom_output("Zimbra Ok")
pom_quit()
Else
Winclose ("[CLASS:IEFrame]")
pom_close_windows_of_class("[CLASS:IEFrame]")
pom_output("Zimbra box KO")
FileClose($ghPomFileOpen)
exit 1
EndIf
Note that we used "Internet Explorer_Server1", meaning instance #1 of the class "Internet
Explore_Class"
Another simple scenario example, testing opening time and availability of a PowerPoint .potx file
located on a Windows share (continued on next page):
#include <pom.au3>
4.1 POM-AGENT
#include <Process.au3>
#include <MsgBoxConstants.au3>
pom_init()
pom_close_windows_of_class("[CLASS:SALFRAME]")
pom_id("net_use")
_RunDos ("net use P: \\YourServerIPAddressHere\DATA YourPasswordHere
/user:YourUserNameHere\pomagent /PERSISTENT:NO")
pom_stats()
pom_id("libre_office")
if FileExists ($file) Then
Run ("C:\Program Files (x86)\LibreOffice 4\program\[Link] " & $file)
if @error <> 0 Then
$exitcode = @error
pom_output("LibreOffice not available")
FileClose($ghPomFileOpen)
exit 2
EndIf
Else
pom_output("[Link] not available")
FileClose($ghPomFileOpen)
exit 3
EndIf
185
sleep(200)
Remarks on Credentials:
While web scenarios use non-graphical sessions (remember, for example, that the cURL text-based
browser is used), KVM scenarios need a graphical session to be performed. Therefore values related
to authentication (CREDENTIALS and DOMAIN) are mandatory. If these columns were left empty,
POM would use the default localsystem user that, on its own, is not granted access to a
graphical session.
For more info on credentials setup, see WEB INTERFACE CONFIGURATION - Credentials
186
4 POM INFRASTRUCTURE ADMINISTRATION
Scenario execution times
You can make the Agent fetch scenario execution times and send them back to POM as perfdata.
To do so, a swap file is used.
Important note: the swap file will be created in C:\temp , it is then required that such a directory is
present on your machine.
The file must contain one perfdata per line, in the following format:
<prefix><perfdata name>:<value>.
Where:
<prefix> must be time_
4.1 POM-AGENT
<perfdata name> is the name that will appear in perfdata graphs
<value> is an integer in milliseconds
187
Settings for remote desktop connection
To allow remote connections to your target host, proceed as follows :
On the target host, go to System Properties
188
4 POM INFRASTRUCTURE ADMINISTRATION
In the Remote tab, make sure remote connections are allowed and uncheck the box Allow
connections only from... , then click OK
4.1 POM-AGENT
189
4 POM INFRASTRUCTURE ADMINISTRATION
4.2 POM-HA (HIGH AVAILABILITY)
POM-HA (for High Availability) allows you to increase reliability of your POM monitoring platform,
by introducing a backup POM server that will activate in the event of a server unavailability.
The main principle of POM-HA is to have two identical POM servers, each with its own IP address,
one being affected to the role of MASTER (active) server, the other one serving as BACKUP
(passive) server.
You access POM’s functionalities via a VIP (Virtual IP address) redirecting you to the currently
active server.
In case the MASTER becomes unavailable, POM-HA makes the VIP switch to the BACKUP server,
which then assumes MASTER role. The POM platform's users are oblivious to this switchover,
which allows the administrator to perform repairs without impeding the vital monitoring process.
191
4.2.1 BASIC PROCEDURES
Environment consistency
To perform a synchronization, the two nodes must be exact clones regarding both installed RPM
packages and user/group settings. To ensure this is the case, pomsync performs, among others, a
check on UID/GID info. If it fails, you will get an error message like this one:
[root@master ~]# pomha sync push
INFO: master: pomsync/push: Verify environment consistency
INFO: master: pomsync/push: Attempt 1/2 ssh pom-ha-peer -T bash
INFO: master: pomsync/push: Command succeeded with return code 0
ERROR: master: pomsync/push: Environment consistency test failed.
--- LOCAL
+++ REMOTE
@@ -494,3 +494,2 @@
passwd: admin:x:500:10::/home/admin:/bin/bash
-passwd: user01:x:0:0:root:/root:/bin/bash
paswwd: apache:x:48:48:Apache:/var/www:/sbin/nologin
FATAL: master: pomsync/push: Sync aborted, you may use --no-env-check to skip
environment consistency test
ACTIVATE AUTOSYNC
You have the ability to let POM automatically synchronize some files on the two nodes for you.
To do so, simply create a .inc configuration file in /etc/pom/local/gen that will set the
following variable:
POM_HA_AUTOSYNC=1
Setting this variable to 1 will activate an event-handler that will automatically check and replicate
changes to non-DRBD files (examples: files in /etc or /home/admin/incoming) from one
node to the other, by performing a pomha sync push. If the synchronization fails, user will be
notified.
192
4 POM INFRASTRUCTURE ADMINISTRATION
4.2.2 MAINTENANCE PROCEDURES
193
CONFIGURE POMHA SYNC TO IGNORE CERTAIN RPM PACKAGES
This can be required if the two nodes' hardware differ.
194
4 POM INFRASTRUCTURE ADMINISTRATION
4.2.3 EVENTS CHECKLIST
In all the following examples, two servers/nodes, called HA1 & HA2, are configured in HA (High
Availability). HA1 is active and assumes MASTER role, whereas HA2 is BACKUP. The switchover
generally occurs after a waiting time (5min), to prevent unwanted switchovers. In all the following
examples, a SHORT disruption is therefore <5min, while a LONG one is ≥5min.
195
Event Expected Procedure Observations / Alerts
BACKUP reboot No switchover None idem "Sollicited BACKUP reboot, short”
Sollicited, long
BACKUP reboot No switchover None idem "Sollicited BACKUP reboot, short”
Unsollicited, short
BACKUP reboot No switchover None idem "Sollicited BACKUP reboot, short”
Unsollicited, long
NETWORK ISSUES
Event Expected Procedure Observations / Alerts
MASTER No switchover None While MASTER down: no monitoring
Link down, short On VIP: No WUI
On BACKUP IP: no monitoring info
HA link:
HA2 in MASTER/BE-MASTER, peer : “Failed to retrieve status”
After MASTER return, on WUI:
check_ha : HA CRITICAL - [ha1] **HA=MASTER/?** **Res=OK/?**
**DRBD=WFC+UTD/?+?** Maint=OFF/?
Note: this information may not appear, as it depends on the
moment check_ha was performed.
MASTER Switchover Split-brain WUI, while HA1 down, after switchover:
Link down, long HA2 becomes solving check_ha: HA CRITICAL - [ha2] **HA=MASTER/?** **Res=OK/?**
MASTER **DRBD=WFC+UTD/?+?** Maint=OFF/?
HA link, peer section: Failed to retrieve status
EVENT/ha2(vrrp-state) → 2 x VRRP state change BACKUP
EVENT/ha2(ha-state) → 3 x HA state change MASTER
EVENT/ha1(vrrp-state) → 2 x VRRP state change MASTER
After HA1 return:
HA2 stays MASTER/MASTER (StandAlone Primary/Unknown
UpToDate/DUnknown) provides resources & VIP
HA1 becomes BACKUP/MASTER (StandAlone Primary/Unknown
UpToDate/DUnknown) and also provides resources & VIP
Impact on monitoring : many checks in error then back to OK
after a few minutes
WUI:
EVENT/ha1(split-brain) → 1 x DRBD split-brain unresolved on
drbd1
EVENT/ha2(split-brain) → 1 x DRBD split-brain unresolved on
drbd1
Check HA in error : HA CRITICAL - [ha1]
**HA=MASTER/MASTER** Res=OK/OK
**DRBD=SA+UTD/SA+UTD** Maint=OFF/OFF |
Interconnection No switchover None Idem BACKUP link down, short
Down, short
196
4 POM INFRASTRUCTURE ADMINISTRATION
Event Expected Procedure Observations / Alerts
Interconnection Switchover Split-brain Idem MASTER link down, long
Down, long Conflict when Solving
HA1 returns
MASTER
BACKUP No switchover None While BACKUP down, on WUI:
Link down, short HA link: Failed to retrieve status
check_ha: HA CRITICAL - [ha1] **HA=MASTER/?** **Res=OK/?**
**DRBD=WFC+UTD/?+?** Maint=OFF/?
After BACKUP return:
EVENT/ha2(vrrp-state) → 3 x VRRP state change BACKUP
BACKUP No switchover None While BACKUP down, on WUI:
Link down, long check_ha: HA CRITICAL - [ha1] **HA=MASTER/?** **Res=OK/?**
**DRBD=WFC+UTD/?+?** Maint=OFF/?
HA link: Failed to retrieve status
After BACKUP return, on WUI:
check_ha: HA OK - [ha1] HA=MASTER/BACKUP Res=OK/OK
DRBD=C+UTD/C+UTD Maint=OFF/OFF
HA link:
EVENT/ha2(vrrp-state) → 3 x VRRP state change BACKUP
SYSTEM ISSUES
SERVER MAINTENANCE
Event Expected Procedure Observations / Alerts
Manual switchover Switchover Manual In WUI:
switchover check_ha in error: HA CRITICAL - P=MASTER/BACKUP
**R=OK/ERR** Dcs=Co/Co Dds=Up/Up Main=OFF/OFF
HA link: shows Which node is MASTER, which one is BACKUP
Intervention on Detach BACKUP maintenance pomha status shows BACKUP in maintenance mode:
BACKUP system From HA NOTICE: ha2: pomha/status: Flag maintenance ON
197
4 POM INFRASTRUCTURE ADMINISTRATION
4.3 POM HYPERVISION
In Hypervision mode, the POM infrastructure is composed of several POM servers, called satellites
or pollers, organized around a main server, called hypervisor.
This main POM server provides the WUI (Web User Interface) but does not perform the actual
checks on monitored devices. Instead, it collects monitoring data gathered by its satellites on their
respective sites (which are usually remote LANs, e.g.: specific datacenter, region, country, etc.).
The POM hypervisor therefore performs what is called passive monitoring, whereas the
satellites/pollers perform active monitoring by directly interrogating monitored devices.
The hypervising POM server is the one that gets ‘the big picture” of the monitored infrastructure, it
is therefore the right place to create meta-indicators.
See MONITORING ADMINISTRATION: Spreadsheet file - META
199
4.3.1 POM HYPERVISOR AND POM SATELLITES
POM Satellites are used to monitor machines on distant networks, e.g. on a remote site's LAN.
A main POM server will then centralize data collected by the various remote POM-sats, and act as
an hypervisor.
The configuration spreadsheet file is common to all POM servers in the infrastructure, and is
hosted by the main server.
Registering a machine monitored in satellite mode in the spreadsheet file is done using the
SITE column of the HOSTS section
Each POM satellite's configuration is built on the main platform then pushed to satellites via
SSH (22/TCP)
Monitoring is performed on the local LAN by each satellite, which then sends data to the
main server via SYSLOG (601/TCP)
See figure below for the general principle of the POM-Satellite infrastructure solution:
INSTALLATION
Being a critical action, the installation of a POM server in Satellite mode is usually performed by a
POM integrator.
Contact us for more info
200
4 POM INFRASTRUCTURE ADMINISTRATION
4.4 POM MULTISITE
POM Multisite allows you to easily monitor a large number of sites, e.g. the many stores of a same
company.
In many companies and groups, a large number of sites will have a quite similar IT infrastructure
arrangement; the aim here is to take advantage of these similiraties to reduce the registering
process in POM to just one line per site.
201
4.4.1 REGISTERING IN THE SPREADSHEET FILE
As with any other kind of monitored points in POM, registering sites of a multisite infrastructure is
done by simply entering the adequate data in the configuration spreadsheet file.
See MONITORING ADMINISTRATION: Spreadsheet file
Note: It is recommended that you create a specific spreadsheet file dedicated to your multisite
infrastructure, called for example [Link].
META-INDICATORS
MODELS
Since, in a multisite context, host types and IP addressing architecture are often homogeneous
from one site to another, our aim is to register each site with just one line.
The pomgen tool now allows us to declare models in a HOSTS, SERVICES or META section, and
these models will be applied to each line of the corresponding SITE section.
To declare a section as a model, simply insert SITE-TEMPLATE=<model name> in its # HEADER
cell (see explicit syntax example in red in the example below). A same model name can be used at
will in several sections.
Example of model use:
In the example above, you can see the contents of the HOSTS section differ from their usual form
in the use of the model “default”, which includes variables that are defined, for each site, in a
dedicated line of the SITE section.
The “default” model defined in the HOSTS section is applied to the corresponding lines of the SITE
section by simply entering the model name in the TEMPLATE column.
Note: the TEMPLATE, SITE, ID and ADDRESS columns of the SITE section are all mandatory.
202
4 POM INFRASTRUCTURE ADMINISTRATION
Simple variables & Loop variables
In the above example, you will also notice that 2 types of columns can be expected in a SITE
section:
Classic columns, which are used for simple variables can be referenced in the model
by using the syntax ${COLUMN} (green arrows in our example).
Columns with an arobase @ prefix, which are used for loop variables to repeat a same
line several times using the model. They can be referenced in the model by using the syntax
@{COLUMN} (blue arrows in our example). In the SITE section, they must contain numeric
values, which syntax is discussed on next page.
Hereafter is what the corresponding lines for “Metropolis” in our example would look like in the
HOSTS section if we didn’t use loop variables:
Note: the above syntax applies to both simple and loop variables
203
Models and variables usage constraints
A model (HOSTS section declared as model) must be declared before a SITE section
POM automatically applies a type (integer, text or address) to variables, depending on their
value. To be of type integer, a string cannot begin with a leading zero 0.
IPv4 addresses are automatically identified as address-type strings, whether they are
followed by CIDR network mask or not. If a mask is present, it is ignored, therefore no alert
will be raised if a + or – operation results in IP addresses overshooting the declared mask.
Only one loop variable may be used per cell in the HOSTS section.
204
4 POM INFRASTRUCTURE ADMINISTRATION
SITE SECTION SPECIFIC COLUMNS
GROUP column
The GROUP column of the SITE section allows you to gather several sites in a new group type,
msite (for multisite). The column allows multiple entries, which must be separated by a comma ,
For each group, an implicit Geographical Map is created.
See POM WEB INTERFACE: Maps Tab - Geographical Maps
See also MONITORING ADMINISTRATION: Spreadsheet File - SITES Section
Site coordinates
The values in LATITUDE and LONGITUDE columns will be automatically fetched by the Geocoding
service of the GoogleMaps API, based on the contents of the ADDRESS column. However, you can
choose to manually overwrite these values if you have more precise ones at your disposal.
User-created columns
As we saw with our model example, the POM administrator can, at will, create specific columns in
the SITE section, that will be usable in models as variables of the form ${<COLUMN>}.
205
4.4.2 ON-DEMAND SITE MAPS
In a multisite context, the POM administrator must create a map model for each model declared in
the MODEL column of the SITE section. It allows POM to automatically create generic, on-demand
site maps for the Maps tab of the web interface.
Note: Since POM 5.1, meta-indicator maps are generated on demand only, due to the susbantial amount
of time required for their generation in a multisite context
define textbox {
text=${SITE}
x=40
y=60
h=0
w=0
border_color=transparent
style=font-size:90px;
}
define textbox {
text=CHECKOUTS (PING services)
x=380
y=20
h=130
w=17
}
define service {
host_name=${ID}-CHECKOUT-@{CHECKOUT,%02d}
service_description=PING
x=380
y=60
}
define service {
host_name=pom-internal
service_description=META-SITE-${ID}-CHECKOUT
x=375
y=145
iconset=pom_big
label_show=1
label_text=[service_description]
label_x=-2
label_y=+35
}
define textbox {
text=EFTPOSs (hosts)
x=620
y=20
206
4 POM INFRASTRUCTURE ADMINISTRATION
h=72
w=17
}
define host {
host_name=${ID}-EFTPOS-@{EFTPOS,%02d}
x=620
y=60
}
define service {
host_name=pom-internal
service_description=META-SITE-${ID}-EFTPOS
x=615
y=145
iconset=pom_big
label_show=1
label_text=[service_description]
label_x=-2
label_y=+35
}
207
5 INTEGRATION
5 INTEGRATION
209
5.1
SYSTEMS
211
5.1 SYSTEMS 5 INTEGRATION
5.1.1 MONITORING A WINDOWS SYSTEM
SNMP
Agent tab: select all system elements
Security tab: Add a read-only community, authorize POM
WMI
Logs
Logs must be correctly set up. Requires NXLOG
See HOW-TO: WEB INTERFACE CUSTOMIZATION – Setting up SYSLOG formatted logs
See MONITORING ADMINISTRATION: Spreadsheet file – Logmatch section
212
5 INTEGRATION
5.1.2 MONITORING A LINUX/UNIX SYSTEM
SNMP
Must be activated on target host
See HOW-TO: SERVER ONEOFF OPERATIONS – Activating SNMP
PROCESS column of the spreadsheet file must be filled with results of the list-snmp-
process command (two processes are separated by a comma , )
LOGS
Logs must be correctly set up
See HOW-TO: WEB INTERFACE CUSTOMIZATION – Setting up SYSLOG formatted logs
See MONITORING ADMINISTRATION: Spreadsheet file - Logmatch section
5.1 SYSTEMS
213
5.1.3 MONITORING A VIRTUALIZED INFRASTRUCTURE (VMWARE)
VCENTER
The plugin uses HTTPS protocol to interrogate the server.
The account used for monitoring will need to be registered with read-only permission in the
VCenter interface.
We'll assume for the following example that the created identifier is esx_cred.
We will then feed this name in the CREDENTIALS column.
HOSTS section
SITE TEMPLATE DESCRIPTION IP-ADDRESS NAME ViGROUP
France w2012 Main VCenter VM-VCENTER VMWare, common
214
5 INTEGRATION
Remarks on the SERVICES section columns:
COLUMN Comment
HOSTNAME Required. VCenter name
NAME monitoring point prefix (if omitted, created services will bear the prefix VC- )
SERVICE Required. ESX-VC
CPU Usage percentage for the CPUs of all ESXs monitored by the VCenter. Created
service: VC-CPU
MEM Idem for RAM usage. Created service: VC-Mem
VMFS Idem for VFMS usage. Created service: VC-VMFS
IO Usage of IO (kernel, device and queue), in milliseconds. Created service: VC-IO
CONFIG Configuration info. Created service: VC-Config
ESX
To monitor an ESX, you can either:
interrogate it directly (which requires setting up a dedicated account)
interrogate its parent VCenter.
5.1 SYSTEMS
An account may be created from the VSphere client management interface. This account
must have read-only permission.
As with the VCenter method seen earlier, the created identifier (e.g. esx_cred) will have
to be fed in the CREDENTIALS column.
HOSTS section
SITE TEMPLATE DESCRIPTION … NAME VMANAGEMENT CREDENTIALS
France esx independent ESX [Link] esx_cred
France esx independent ESX [Link] esx_cred
France esx ESX via VCenter [Link] vm-vcenter//name=[Link]
France esx ESX default values valdef
215
HOSTS section (continued)
… NAME CPU MEM VMFS IO NETWORK CONFIG
… [Link] NO-MON NO-MON */exc=.+ NO-MON NO-MON */exc=.+
… [Link] 80%/95% device//25/45 */exc=partition
… [Link] */exc=local|Local NO-MON
… valdef 75%/85% 75%/85% 75%/85%//inc=.+/exc=’ˆ$’ kernel//4/6 */exc=’ˆ$’
device//15/20
queue//0/0
VM
Once again, to monitor a VM, you can either directly interrogate the ESX, or access it via its parent
VCenter. In either case, the VMANAGEMENT column is used.
Spreadsheet file example:
HOSTS section
SITE TEMPLATE DESCRIPTION … NAME … HARDWARE VMANAGEMENT
France w2012 AD1 - VM / ESX VM-SRVAD01 … esx vm-esx//name=[Link]
France linux WEB1 - VM / VCenter VM-SRVWEB01 … esx vm-vcenter//name=[Link]
Important note: For a VM, the value in the NAME column must match the machine name in the VCenter
VM tree view (modifiable with a simple right-click).
216
5 INTEGRATION
DEACTIVATE MONITORING OF VITOOLS & VICONFIG
To deactivate monitoring points automatically created by adding esx in the HARDWARE column,
define the corresponding columns as NO-MON:
NO-MON in ViTOOLS column: Stop monitoring presence and update of VMWare tools
NO-MON in ViCONFIG column: Stop monitoring errors in VSphere for the VM
MANUAL TEST
[root@pom ~]# /opt/pom/plugins/check_vmware_api.pl -D [Link] -u vmlogin -p
’vmp@ssw0rd’ -l runtime -s listhost
runtime OK - 1/1 Hosts up: [Link](UP) | hostcount=1units;;
5.1 SYSTEMS
217
5.1.4 MONITORING A VIRTUALIZED INFRASTRUCTURE (AWS)
An AWS (Amazon Web Services) infrastucture can be monitored in POM. The same general logic as
a VMWare infrastructure applies.
We'll assume for the following example that the created identifier is cred-aws-01.
We will then feed this name in the CREDENTIALS column.
HOSTS section
SITE TEMPLATE IP-ADDRESS NAME CREDENTIALS ViGROUP
AWS-EU-WEST-1 AWS [Link] AWS-EU-WEST-1 cred-aws-01 AWS
Important note: as Amazon's internal maintenance may result in a server IP address change, it is
recommended that you use a name address instead, as shown in the example above
SITES section
SITE ADDRESS GROUPS
AWS-EU-WEST-1 EU (Ireland) aws
Virtualization context specific columns for the HOSTS section - Regional server:
COLUMN Comment
ViGROUP Optional. Virtualization group
218
5 INTEGRATION
VM
To monitor a VM (called "instance") in an AWS context, the logic is the same as for a VMWare
infrastructure.
HOSTS section
SITE TEMPLATE IP-ADDRESS NAME CREDENTIALS HARDWARE VMANAGEMENT
AWS-EU-WEST-1 linux SSH [Link] VM-01 cred-03 aws AWS-EU-WEST-1/instance="i-01234567"
Virtualization context specific columns for the HOSTS section - AWS VM:
COLUMN Comment Syntax
ViGROUP Optional. Virtualization group text
ViCPU CPU use as percentage of total CPU allocated by Warn/Crit or Warn%/Crit%
hypervisor (e.g.: 80%/90%)
ViIOPS Input-Output operations per second Warn/Crit
(e.g.: 128/256)
ViIO Input-Output operations Warn/Crit
(e.g.: 1048576/2097152)
ViNETWORK Threshold for network usage per interface, Examples:
compared to total network usage allocated by vmnic2
hypervisor vmnic2/80%/90%
vmnic2/80%/90%/1G
vmnic2/80%/90%/1G/100M
5.1 SYSTEMS
vmnic2/20M/40M/50M/50M
vmnic2/20M/40M/50M
219
221
5.2 USERS & AUTHENTICATION
By default, Windows Active Directory servers are unsecured. All LDAP messages are unencrypted
and sent in clear text. This restricts what developers can and can't do via LDAP. For example,
password modification operations must be performed over a secure channel, such as SSL, TLS or
Kerberos.
To enable LDAP over SSL (LDAPS), you need to install an SSL certificate on the Active Directory
server. In POM, rather than buying a third-party certificate, you can create your own certificate
using the included openssl tool.
Create a CA certificate
In the following example, we will create a CA Certificate that is valid for 10 years:
openssl req -new -x509 -days 3650 -key [Link] -out [Link]
When generating the CA certificate, OpenSSL will prompt you for several key pieces of information.
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York
Organization Name (eg, company) [Internet Widgits Pty Ltd]:ACME
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:[Link]
Email Address []:info@[Link]
222
5 INTEGRATION
Install the Certificate Authority (CA)
1. Start>Run...>Type mmc. This will open the “Add/Remove Snap-in" dialog.
2. Click Add... to open the "Add Standalone Snap-in" dialog.
3. In the "Add Standalone Snap-in" dialog, select Certificates and press "Next".
4. Select Computer account and press "Next".
5. Select Local computer and press "Finish"
6. Click "Close" to close the "Add Standalone Snap-in" dialog.
7. Click "OK" to close the "Add/Remove Snap-in" dialog.
[Link] the Certificates snap-in is open, expand the Certificates node under
"Trusted Root Certification Authorities. Rightclick on the Certificates node, select All
Tasks > Import..., and import the Certificate Authority ([Link]) previously created
223
Create a Certificate Signing Request (CSR)
This step can be, once again, performed with the openssl tool. However, the preferred approach
is to use Microsoft's certreq utility. The certreq utility is a command line application that takes a
*.inf file and generates a CSR. Below is an example of such an .inf file. Pay close attention to
the Subject line: It should contain the FQDN (Fully Qualified Domain Name) of the Active Directory
server.
;----------------- [Link] ------------------
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=[Link],OU=IT,DC=dc1,DC=acme,DC=com,O=ACME,L=New York,S=New
York,C=US"
;
KeySpec = 1
KeyLength = 1024
Exportable = TRUE
MachineKeySet = TRUE
SMIME = False
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
[EnhancedKeyUsageExtension]
OID=[Link].[Link].1 ; this is for Server Authentication
Once you have a .inf file, generate a Certificate Signing Request (CSR) using certreq. In the
following example, [Link] is the CSR.
certreq -new [Link] [Link]
224
5 INTEGRATION
Install the Certificate
You should, at this point, still have your Certificates snap-in opened. Expand the
Certificates node under "Personal". Right-click on the Certificates node, select "All Tasks" >
"Import...", and import the [Link].
225
[root@pom51 ~]# openssl s_client -showcerts -connect [Link]:636 < /dev/null
2>/dev/null | certutil -d /etc/openldap/certs -A -n [Link] -t P,,
Alternatively, you can use the certutil tool to make openldap trust the LDAP server’s
certification authority:
[root@pom51 ~]# certutil -d /etc/openldap/certs -A -n [Link] -i <[Link]>
-t C,,
226
5 INTEGRATION
5.2.2 SSO VIA KERBEROS
SSO (Single Sign On) authentication via Kerberos allows a user registered in a Windows LDAP
domain to login without having to type in his credentials.
REQUIREMENTS
To use this functionality, a few packages need to be installed on your POM system:
krb5-workstation.x86_64 (Kerberos connection client)
mod_auth_kerb (Kerberos authentication module for Apache)
Install these packages using the usual method:
yum install krb5-workstation.x86_64 mod_auth_kerb
You must also ensure that:
DNS resolution is active between POM and the domain controllers
NTP synchronization is functional
LDAP authentication is configured in POM's web interface
227
SAMBA
Samba must be configured, in order to register your POM server in the AD.
To avoid losing the config file when a Samba update overwrites it, it is good practice to rename it
and create a symbolic link.
[root@pomsrv ~]# mv -i /etc/samba/[Link] /etc/samba/[Link] && ln -si smb-
[Link] /etc/samba/[Link]
Only the [global] section needs to be altered, and the following parameters adapted:
server string
realm
workgroup
security
netbios name
password server
/etc/samba/[Link]
[global]
workgroup = DOM
server string = POM
security = ads
load printers = no
printcap name = /etc/printcap
printing = bsd
nmb and smb services must be set to run on POM startup. They must also be restarted to take
changes into account.
[root@pomsrv ~]# chkconfig nmb on ; service nmb restart
[root@pomsrv ~]# chkconfig smb on ; service smb restart
228
5 INTEGRATION
KERBEROS
The Kerberos configuration file must be modified:
/etc/[Link]
[logging]
default = FILE:/var/log/[Link]
kdc = FILE:/var/log/[Link]
admin_server = FILE:/var/log/[Link]
[libdefaults]
default_realm = [Link]
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
[Link] = {
kdc = [Link]
admin_server = [Link]
}
[domain_realm]
.[Link] = [Link]
[Link] = [Link]
Validation
[root@pomsrv ~]# klist -k -t /etc/[Link]
Keytab name: FILE:/etc/[Link]
KVNO Timestamp Principal
---- ----------------- --------------------------------------------------------
2 08/29/16 [Link] HTTP/[Link]@[Link]
2 08/29/16 [Link] HTTP/[Link]@[Link]
2 08/29/16 [Link] HTTP/[Link]@[Link]
2 08/29/16 [Link] HTTP/[Link]@[Link]
2 08/29/16 [Link] HTTP/[Link]@[Link]
2 08/29/16 [Link] HTTP/pomsrv@[Link]
2 08/29/16 [Link] HTTP/pomsrv@[Link]
2 08/29/16 [Link] HTTP/pomsrv@[Link]
2 08/29/16 [Link] HTTP/pomsrv@[Link]
2 08/29/16 [Link] HTTP/pomsrv@[Link]
229
APACHE
The 3rd step consists in setting the web server to propagate the Kerberos authentication to the AD
server.
To do this, we need to create a specific configuration file, e.g. /etc/httpd/conf.d/000-kerb-
[Link].
/etc/httpd/conf.d/[Link]
<Location />
AuthType Kerberos
AuthName "[Link]"
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms [Link] [Link]
Krb5Keytab /etc/[Link]
KrbSaveCredentials On
KrbServiceName HTTP/[Link]@[Link]
KrbLocalUserMapping On
Require valid-user
</Location>
BROWSER
The last step is configuring the web browser to ensure it can connect to the server via Kerberos
authentication.
Internet Explorer:
Usually IE is already set to use SSO. If needed, you can check the authentification parameter,
and/or add POM server address as an intranet site.
230
5 INTEGRATION
Firefox:
In the address bar, type about:config and skip the security alert
In the search field, type uris to filter entries
Double click on the entries [Link]-uris and [Link]-
[Link]-uris, give them the value [Link] and validate
Note: when Kerberos autologin is in use, it is recommended to grant permissions only to the domain
machines or even to the sole POM server.
231
5.2.3 SMTP AUTHENTICATION
232
5 INTEGRATION
5.2.4 ADDING WEB USERS
MANUALLY
In the web interface configuration menu: Permissions section > Users
See USING POM WEB INTERFACE: Configuration – Permissions
AUTOMATICALLY
By logging on to POM with the AD or LDAP credentials.
The default profile is allocated to any new user. The POM administrator will need to assign another
profile to suit the needs of any non-regular user.
See USING POM WEB INTERFACE: Configuration – System
233
5.2.5 PASSWORDS
CHANGING PASSWORDS
As on the vast majority of UNIX systems, changing passwords in POM is done using the command
passwd.
For the admin password, POM MonitoringTM specifically developed the admin-chpwd command.
It updates credentials for all accesses of the admin account on POM:
[root@pom-mon ~]# admin-chpwd
New password:
Retype new password:
Changing password for user admin.
passwd: all authentication tokens updated successfully.
PASSWORD ENCRYPTION
By default in POM, when a particular plugin or template requires authentication, one may directly
register passwords, in clear text, in the spreadsheet file. This poses an obvious security issue.
A first good method to avoid this issue is the use of credentials.
For more info on credentials, see WEB INTERFACE CONFIGURATION: Credentials
In addition to the use of credentials, and since POM v5.2, you can now encrypt your passwords
using the pompwd tool. An encrypted password generates a reference of the form XXXXYYYY,
which can then be used by the plugin.
At the moment, only the following tools allow the use of pompwd :
snmpget
snmpwalk
snmpbulkwalk
snmpset
smbclient
winexe
wmic
curl
check_vmware_api.pl (community plugin)
In the short to medium term, we plan to implement this new feature for all available plugins.
Encrypted data will then feature a lock icon in POM Web Interface.
The encrypted passwords are generated when the service starts, using a primary key passphrase:
# /etc/init.d/pompwd start
Passphrase: ********
Confirm Passphrase: *******
234
5 INTEGRATION
5.2.6 AUTOLOGIN
When entering the POM web interface, you systematically have to go through the authentication
page.
This step ensures that only registered users will be granted access to the interface, but may not be
advisable if you want to present POM elements (e.g. maps or dashboards) over the company's
intranet.
The following procedures allow you to go around the authentication step in certain conditions,
inorder to integrate various POM features in an iframe or other web presentations without having
to use POM credentials.
235
Create a dedicated DNS entry to access POM server via autologin
E.g.: if we create the entry pom-public and the domain name is my-company, then access to POM
with autologin will be via the URL
[Link] .
If we wish to include the map named Network in the Web portal, the URL to use when setting the
iframe will be:
[Link]
js/[Link]?mod=Map&act=view&show=Network
Resorting to a specific DNS entry provides flexibility compared to the case where we omit it:
Without a specific DNS entry, upon visualazing the portal page that features the POM iframe, we
get a session cookie for the whole host, e.g. [Link].
If we then decide to go to [Link] to login as admin, the cookie kicks in and
we have to disconnect prior to accessing the authentication page.
Example:
We want to allow access via autologin for the host [Link] as user monitoring. This user
must be declared in the POM config.
Remark: in case we want to login as a user other than REMOTE_USER from this host, we need to
use a particular URL:
[Link] (where [Link] is POM
server's IP address)
236
237
5.3 HOW-TO: INTEGRATION
To be able to monitor Windows services status, you must add the wmi user to Administators group.
238
5 INTEGRATION
DCOM SECURITY CONFIGURATION
Run [Link]
Run Start > Run > [Link]
239
Edit Limits...
Select COM Security Tab, and next choose Edit Limits… from the Launch Activation Permissions
section.
240
5 INTEGRATION
SET WMI SECURITY CONFIGURATION
Run [Link]
Run Start > Run > [Link]
241
Open Security settings
In Security tab, develop the Root node, select CIMV2 and click on Security.
TEST IF EVERYTHING IS OK
From your POM server, run this command from a shell :
wmic \
--user='login' \
--password='password' \
--workgroup='domain' \
--namespace='root\CIMV2' \
//[Link] \
"SELECT * FROM Win32_LogicalDisk" ; echo $?
The output should look like the block below:
242
5 INTEGRATION
Access|Availability|BlockSize|Caption|Compressed|ConfigManagerErrorCode|ConfigManagerUse
rConfig|CreationClassName|Description|DeviceID|DriveType|ErrorCleared|ErrorDescription|E
rrorMethodology|FileSystem|FreeSpace|InstallDate|LastErrorCode|MaximumComponentLength|Me
diaType|Name|NumberOfBlocks|PNPDeviceID|PowerManagementCapabilities|PowerManagementSuppo
rted|ProviderName|Purpose|QuotasDisabled|QuotasIncomplete|QuotasRebuilding|Size|Status|S
tatusInfo|SupportsDiskQuotas|SupportsFileBasedCompression|SystemCreationClassName|System
Name|VolumeDirty|VolumeName|VolumeSerialNumber
0|0|0|A:|False|0|False|Win32_LogicalDisk|3 1/2 Inch Floppy
Drive|A:|2|False|(null)|(null)|(null)|0|(null)|0|0|5|A:|0|(null)|NULL|False|(null)|(null
)|False|False|False|0|(null)|0|False|False|Win32_ComputerSystem|XCHANGE2|False|(null)|(n
ull)
0|0|0|C:|False|0|False|Win32_LogicalDisk|Local Fixed
Disk|C:|3|False|(null)|(null)|NTFS|18712121344|(null)|0|255|12|C:|0|(null)|NULL|False|(n
ull)|(null)|False|False|False|68349325312|(null)|0|False|True|Win32_ComputerSystem|XCHAN
GE2|False||38074507
1|0|0|D:|False|0|False|Win32_LogicalDisk|CD-ROM
Disc|D:|5|False|(null)|(null)|UDF|0|(null)|0|254|11|D:|0|(null)|NULL|False|(null)|(null)
|False|False|False|3618824192|(null)|0|False|False|Win32_ComputerSystem|XCHANGE2|False|E
XCHSRV2013|B5E4C9A6
0
TROUBLESHOOTING
243
5.3.2 CHANGING POM USER LANGUAGE ON AN IBM AS/400
In order to simplify the use of POM with an IBM AS/400 system, you may want to change the
language of the POM user to English on you AS/400.
This is done by the Change System Library List (CHGSYSLIBL) command, assuming superuser
privileges:
CHGSYSLIBL LIB(QSYS2924) OPTION(*ADD)
Where QSYS2924 is the specific library for English.
This command simply adds English at the top of the system’s language list.
244
6 MONITORING ADMINISTRATION
6 MONITORING
ADMINISTRATION
245
6.1
SPREADSHEET FILE
247
6.1 SPREADSHEET FILE 6 MONITORING ADMINISTRATION
6.1.1 FORMATTING & PROCESSING RULES
There are several important points worth noting regarding the spreadsheet file.
The supported file format is “Microsoft Excel 97/2000/XP/2003” (with the .xls extension),
available through most open-source (e.g., LibreOffice) and proprietary (e.g., Excel)
spreadsheet programs.
Files are placed in the /home/admin/incoming/ folder on the POM server.
The file name uses the format plan-*.xls. It is highly recommended to limit which
characters can be used in the file name:
- letters from a to z and A to Z (case sensitive on UNIX)
- numbers from 1 to 9
- a few punctuation characters: ., - and _
Each individual spreadsheet file must not exceed 32765 lines (all worksheets included).
However, the total amount of lines in all spreadsheet files combined can exceed 32765
lines.
The POM global configuration can be applied to multiple spreadsheet files. The order in
which data is processed by POM is important, as it has a direct impact on the consistency of
the generated configuration. Declaring an application (service) requires a machine (host) to
be declared. This means that the machine needs to be registered before its applications.
Spreadsheet files and their content are processed in the following order:
- If several plan-*.xls files are found, they are read in lexicographic order
(i.e., as they are listed using the ls command)
- For each file found, the worksheets (or tabs) are read from left to right
- For each worksheet found, the rows are read from top to bottom
Modifying a single spreadsheet file will cause all files to be reprocessed
248
6 MONITORING ADMINISTRATION
6.1.2 STRUCTURE OF A SPREADSHEET FILE
The files provided in POM by default are arranged in worksheets: (HOSTS, SERVICES, PORTS, META,
LOGMATCH and RETENTION). POM MonitoringTM set up the files this way because it works in most
cases. But we will see that this is not the only way to organize data.
What's important in these files is not the worksheet names, but rather the names of the sections
declared inside each worksheet. Each section declares a record type that will be translated into one
or more configuration elements, regardless of the name of the worksheet it is in.
A section is defined by the name of the cell in column 1, which must follow the format:
# HEADER <type>, where <type> may be:
HOSTS
Registering the monitored devices (host) and a set of monitoring points (service)
SERVICES
Registrering specific monitoring points
SITES
Defining sites in detail, in a Geographical Map and in a multisite context
APPLIPERF
Definition of performance oriented indicators, comparing monitoring points response values and their
response reference value
LOGMATCH
Definition of log message matching rules in order to alert as soon as they arrive
RETENTION
Definition of log retention rules
249
Cells to the right of this first cell represent the name of a parameter that may or may not be used
during configuration.
Whether you choose to create worksheets within each file or have multiple files is purely a method
of organizing data. You may therefore organize your worksheets and files in whatever way suits
your needs.
Generally, multiple files are used when there are several people working on different sets of data.
The network administrator typically manages the plan-01_network.xls file and the system
administrator manages the plan-02_server.xls file so that changes made by one person don't
overwrite the other's work.
If there is no risk of overwriting data but you still want to clearly keep the types of hosts separate,
all you might need is one NETWORK worksheet and one HOSTS worksheet, each containing a
HOSTS section within the same [Link] file.
On the other extreme, you could put all of the POM configuration data into a single spreadsheet
file, containing only one worksheet, and sections listed one after the other, or instead create a
separate spreadsheet file for each section. So, there are no technical requirements for how to
organize the data.
It is usually good practice to set up the number of files, worksheets, and which sections to include
based on the company's organizational structure. Some companies prefer to create a separate
spreadsheet file for each IT Team (plan-01_network.xls, plan-02_server.xls, etc.), while others
prefer to use a geographical approach (plan-01_hq.xls, plan-02_province.xls, plan-03_europe.xls).
250
6 MONITORING ADMINISTRATION
6.1.3 GLOBAL SETTINGS IN A SECTION
Since POM version 3.1, you can define the default value for cells within a column. To do this,
indicate the name of the column and the default value for the cell that defines a section.
Example 1:
Say you want to monitor a web server farm and avoid duplicating information that all of these
servers share, such as the group they are affiliated with, or processes related to web server
functionality. You can create a specific section for these hosts and specify default values for
GROUP and PROCESS columns.
Note: you can even delete both of these columns from the section if the values for all of the hosts are
identical.
All of the hosts declared in the section will have the following in common:
they belong to the WEB group
the httpd, jboss and mysql processes will be monitored
all of the hosts will be monitored to determine when port 80 opens
The syntax to use for the cell # HEADER HOSTS will be:
# HEADER HOSTS ADM=80 GROUP=WEB PROCESS=httpd,jboss,mysql
Example 2:
Now, say you want to monitor a large number of core network ports. Because there are 512 ports,
251
6.1.4 OBJECT DEFINITION COMMANDS
Example:
The network load of a device being monitored exceeds the CRITICAL threshold on a regular basis,
but operating staff does not consider it to be critical (there are occasional large file transfers), as
long as it does not last longer than 15 minutes.
A simple solution to this problem is to adjust the value of the retry_interval Nagios
command, which determines the interval between checks when the monitoring point is in a SOFT
state
By setting this value to 3 (minutes), there will be 5 checks over a span of 15 minutes, which is the
amount of time the monitored network link is allowed to be under a full load.
# HEADER HOSTS SITE TEMPLATE DESCRIPTION IP-ADDRESS NAME
France ip main router [Link] router1
252
6 MONITORING ADMINISTRATION
6.1.5 HOSTS SECTION
LIST OF COLUMNS
The HOSTS section is used to define a host's parameters based on its type.
HOSTS
Switch # HEADER HOSTS (alias HOST, SERVERS, SRV)
253
Field Description Required
SERVICES List of Windows startup services to monitor on the no
device. Multiple services are separated by a comma
ADM For monitoring one or more administration ports on the no
device Multiple ports are separated by a comma If a
new port is entered, it is added to the port defined by
default (based on type)
TCP For monitoring TCP ports Same as ADM but no default no
value is defined based on type
NOTIFICATION-PERIOD Period during which alerts can be sent no
HARDWARE Hardware the monitored system is installed on no
Currently: ESX, HP, Dell, aws
VMANAGEMENT Refers to the top-level entity for monitoring VMware no
(vCenter or ESX)
CI Value of the check_interval in minutes no
NE Value of the notifications_enabled boolean no
PROCEDURE Link to adequate procedure no
SATELLITE Hostname of the depending satellite (the satellite's line no
must be registered before the poller's line)
REMARKS
Some specifics regarding the format of these values are noted hereafter:
The nomon (or no-mon) value can be used to disable monitoring of the indicator when the
type requires it or when monitoring is not possible or desired
Some columns do not have a default value:
ALIAS
GROUP
DEPEND
SW:PORT
PROCESS
SERVICES
HARDWARE
VMANAGEMENT
HANDLER
If the value of the IP column is not defined, the IP address is resolved based on the value
entered in the NAME field (through a DNS request)
If a value is entered in the SECONDARY column, a service PING-<ip> is automatically
created on the host. All thresholds set in the PING column will then apply to all the
secondary PING-<ip>. However, they will have no effect on thresholds defined in the
SERVICES section if a PING service template is defined in it.
If the value of the NAME column is not defined, the name is resolved based on the IP address
entered (through a DNS request)
In the PROCEDURE column, you can enter the adequate procedure itself (dokuwiki syntax
applies), or an URL that will link to a detailed procedure (e.g. a wiki page) using either a
url-encode syntax (e.g. replace spaces with %20) or the syntax [[url|link name]].
Thresholds can be set as WARNING/CRITICAL. If several indicators are monitored simultaneously
(e.g., CPU, DISK), the threshold for each indicator are separated by spaces, and the default threshold
is identified by an asterisk *.
For detailed examples, see FROM PLUGINS TO TEMPLATES: Host Templates
254
6 MONITORING ADMINISTRATION
On Windows hosts, VMEM can stand for both Windows virtual memory, and the memory allocated
by a hypervisor. To avoid conflict, you must use only the MEM field, which will create both the
classic MEM indicator and the Windows-specific VMEM indicator.
The NOTIFICATION-PERIOD field may either define a period or indicate the name of a time-period
defined in the web interface.
See USING POM WEB INTERFACE: Configuration – Periods
Defining notification periods in the web interface offers all the capabilities of time-periods,
whereas defining them in the spreadsheet file is a bit more limited in the sense that you can only
specify hours for one group each day. For more complex notification periods, you will need to
define them in the web interface and then process them in the spreadsheet file.
The format of the notification-period field is as follows:
<ddd>-<ddd> <hh:mm>-<hh:mm> [<hh:mm>-<hh:mm> .. <hh:mm>-<hh:mm>]
<ddd>-<ddd> indicates a range of 1 to 7 days: mon, tue, wed, thu, fri, sat, sun (Example: mon-
fri)
<hh:mm>-<hh:mm> indicates a range of hours (Example: 07:30-18:30)
You can therefore have several time periods defined on the same range of days.
To exclude a time-period, you have to define its “complement” on one day.
Example: to exclude the time-period from 0:49 to 0:58 :
mon-sun 0:58-0:49 WRONG – will not work since the period falls in two days
mon-sun 0:00-0:49 0:58-24:00 CORRECT
To deactivate notifications, simply use the standard never time-period.
The TIMEZONE field allows you to get correct alert times when a host is located in a different
255
6.1.6 SERVICES SECTION
LIST OF COLUMNS
SERVICES
Switch # HEADER SERVICES (alias SERVICE, APPLI,
APPLICATION, APPLICATIONS)
256
6 MONITORING ADMINISTRATION
6.1.7 SITES SECTION
A SITES section can be used either to give detailed coordinates of a site previously registered in a
SITE column of a HOSTS section, or to define components of sites in a multisite environment
LIST OF COLUMNS
SITES
Switch # HEADER SITES (alias SITE)
Important Note: LATITUDE and LONGITUDE columns have priority over the ADDRESS column
The default spreadsheet file provided with POM also features examples of use in context.
257
6.1.8 META SECTION
METAs (for meta-indicators) are used to monitor the availability of core business applications.
LIST OF COLUMNS
META
Switch # HEADER META
The idea behind a META is to be able to monitor a group of services that make up the components
of a particular application. These components are linked by logical operators to create a new
component. The new component will become a new monitoring point.
Several types of Boolean logical operators can be used:
OR returns an OK state if only one of its components is OK
AND returns an OK state if all its components are OK
NOR (NOT OR) becomes CRITICAL if only one of its components is OK
NAND (NOT AND) becomes CRITICAL if all components are OK
XOR returns a CRITICAL state if all components are OK or all components are CRITICAL
NXOR (NOT XOR) returns a CRITICAL state if all components ar not in a same state (OK or
CRITICAL)
APP is a variant of the AND META, dedicated to high-value applications. It works exactly like
an AND operator, but helps you quickly distinguish an important application from other
METAs of lesser importance in your architecture.
A NAND or NOR operator can be used as a NOT operator if it has only one component.
Important note: it is recommended not to exceed 40 components in a META. Higher numbers will
possibly impede computation times.
<wa>/<cr> syntax
You can now configure a new type of meta-indicator in the TYPE column of a META section, using
the threshold syntax <wa>/<cr>.
If only <wa> components of the site are in OK state, the meta switches to WARNING state
If only <cr> components are OK, the meta switches to CRITICAL state
An UNKNOWN state can then only appear in the event of an internal error.
Examples:
6/4: My store is equipped with 8 cash registers. If only 6 are functional, the meta goes to
WARNING state. When only 4 are OK, it goes to CRITICAL.
258
6 MONITORING ADMINISTRATION
5/3: Monitoring requests on this specific site are dispatched to 7 servers. If 6 or 7 servers are OK,
the meta is in OK state. It goes to WARNING if only 4 or 5 servers remain functional, CRITICAL if 3
or less servers are functional.
The meta-indicators created with this syntax will feature icons of this form
For more info on meta-indicators, see MONITORING ADMINISTRATION: Spreadsheet file – META
259
Example:
Let’s take, for example, an email application for which you want to monitor the overall state of
operation. The mail architecture is composed of the following elements :
Two redundant Exchange mail servers (pa-mail-sto1 and pa-mail-sto2)
One Exchange web server for thin client usage (pa-mail-access)
Two redundant relay servers for incoming mail (pa-mail-relay-in1 and pa-mail-relay-in2)
Two redundant relay servers for outgoing mail (pa-mail-relay-out1 and pa-mail-relay-out2)
One remote access server (pa-rt-ipub)
Let’s identify the email services running on these servers:
On pa-mail-sto{1|2}, if the store{1|2}.exe process is running, the service is being delivered
On pa-mail-access, we want to be sure that we can connect to [Link] and
that the SMTP and IMAP ports are available
On pa-mail-relay-in{1|2}, if the exim-in{1|2} process is running, the service is being
delivered
On pa-mail-relay-out{1|2}, if the exim-out{1|2} process is running, the service is being
delivered
If the pa-rt-ipub server answers to ping requests, we consider it to be a sufficient validation
From this analysis, we can divide our mail service into 4 basic blocks:
Mail-Store
([Link] on pa-mail-sto1) OR ([Link] on pa-mail-sto2)
Mail-Access
(web access) AND (SMTP port) AND (IMAP port on pa-mail-access)
Relay-IN
(exim-in1 on pa-mail-relay-in1) OR (exim-in2 on pa-mail-relay-in2)
Relay-OUT
(exim-out1 on pa-mail-relay-out1) OR (exim-out2 on pa-mail-relay-out2)
We can also link (Mail-Store) AND (Mail-Access), since they both are an “Exchange” type.
One last connection needs to be established to define the email application we want to monitor.
For the email application to be functional, all of the previous elements must be functional,
including the pa-rt-ipub server. So there is an AND link between each of them, which lets us
describe the email application as such:
Mail
(Mail-Store) AND (Mail-Access) AND (Relay-IN) AND (Relay-OUT) AND (pa-rt-ipub ICMP response)
260
6 MONITORING ADMINISTRATION
Once the previous steps have been completed, filling out the spreadsheet file is easy.
Here's the example we used to monitor the availability of the “Mail” application:
261
Some nodes in the tree feature a blue + sign . Clicking on such a node will display the
corresponding sub-tree:
262
6 MONITORING ADMINISTRATION
RENDERING MODES
The rendering mode is filled in the MAP column of the spreadsheet file.
Rendering mode syntax is of the form KEY//MODE=VALUE.
The following table lists available parameters that can be applied to keys in order to adapt their
appearance.
PARAMETER VALUE Comment Syntax example
maxdepth [1,n] Integer. Sets the tree max depth. E.g.: 2 will LR//maxdepth=3
only display the core and elements of the
next rank
maxchild [1,n] Integer. Sets the maximum number of child TB//maxchild=10
nodes to display, regardless of their rank
size 24 Sets icon size LR//size=32
32
overlap true Sets how overlapping is managed. true TB//overlap=false
false enables overlapping, while false prevents it
263
PARAMETER VALUE Comment Syntax example
tailport n Cardinal point where the spline to the NT//tailport=c
ne previous node must be anchored. Note: this
e mode is not normally used.
se
s
sw
w
nw
c
_
splines true Sets appearance of the splines. Curved (true), NT//splines=polyline
false straight (false) or polyline
polyline
show_in_lists 0 or 1 If set to 0, map will not appear in the Map TR/show_in_lists=0
Index of the Maps tab (nor in the available
maps for the 360° tab’s Maps widget)
Hereafter are examples of different rendering modes applied to the same data:
TB mode rendering
LR mode rendering
264
NT mode rendering
265
6.1 SPREADSHEET FILE 6 MONITORING ADMINISTRATION
6.1.9 APPLIPERF SECTION
The APPLIPERF section allows you to define an APM (Application Performance Management). An
APM lets you assemble all the components of an application delivery chain, and set the expected
availability and performance levels for each component, using a weighing scheme based on its
criticality.
An APM is defined directly in the spreadsheet file. The results can be visualized in an Availability
Graph widget or in a report based on the APM Report template.
When filling the spreadsheet file, the principle is then to list monitoring points to which a
reference value is allocated (generally a response time, or an execution time) along with a specific
weight (relative to other monitoring points). All monitoring points with the same application name
will define the APM.
LIST OF COLUMNS
APPLIPERF
Commutateur # HEADER APPLIPERF
266
6 MONITORING ADMINISTRATION
USAGE OF THE LIST-DS COMMAND
Important note: do not attempt to run the command without any argument, as it would freeze focus for
several minutes.
In the following example, we try to list all RRD databases and their DS for the host named zinc.
The hostname is used as argument. The command returns the hostname, then, for each RRD
database on the machine, the filename of the RRD database, followed by DS names separated by
spaces. For a given RRD database, we will choose the DS that will return the desired metrics.
Example :
The line [Link]: v tells us that the RRD database is named CLOCK-diff and
the only available DS is v
The line DISK-_.rrd: pct size tells us that in the RRD database named DISK-_ , two
DS are available: pct and size. We will therefore choose one DS or the other, depending
on whether we want to measure a percentage or a size
267
6.1.10 LOGMATCH SECTION
OVERVIEW
Starting with version 2.7, POM MonitoringTM added a major feature to the log centralization system:
the ability to be notified when a particular log line is received by the POM server.
Note: A “log line” can refer to either a log in syslog format or an SNMP trap sent by a host.
Logs are essential for device management, but they are meant to be seen early enough to be able
to take proper action. The POM platform's log centralization functionality provides easy access to
thousands of log lines, by filtering them.
But when so many lines are coming in with each passing second, finding the important ones can
sometimes be time-consuming. Log alerts tackle the problem differently: we usually have a good
idea of what an important log line (one that indicates a serious problem) looks like. Instead of
having to go look for the line, POM allows you to describe the general pattern of the line, based on
criteria you define, and will notify you via email whenever the platform receives a log line that fits
that pattern.
The advantage is obvious: you are notified within seconds of a problem occurring.
ALERT CHARACTERISTICS
Alerts triggered when a log line is received are somewhat different than monitoring alerts. These
differences are explained below:
The alert is generated immediately, as soon as logmatch processes the log line. There is
therefore no associated state (SOFT or HARD)
The alert threshold level is CRITICAL
The alert appears as the EVENT service, which is a virtual service associated with most hosts
registered in POM
The alert is attached to the hostname of the host sending the log line
The name of the rule is indicated in the TAG column and is shown in the Service column on
the Events tab next to the EVENT/ character string. Example: if TAG = trap, the name shown
is EVENT/trap
The alert description is provided by the DESCRIPTION column and appears in the Status
Information column, preceded by the number of log lines sent by the host matching the rule
268
6 MONITORING ADMINISTRATION
PROCESSING A LOG LINE
The POM platform comes with a syslog server, making it possible for any host to centralize its logs
in POM.
The syslog server is configured so that log lines are processed through 3 separate paths:
The line is archived in a dedicated file in a location reserved specifically for the host that
sent the log line
If the severity level of the log is >= NOTICE, words that are longer than 3 characters are
indexed, and the line is saved in a PostgreSQL database. This database will be used to
display the logs on the “Logs” tab in the web interface.
If the severity level of the log is >= INFO, the logmatch tool processes the log line to check
whether it matches one of the rules declared in the [Link] file. If there is a match, and
if the name of the host sending the log line is the same as a host registered in POM, an alert
is triggered and is allocated to the host's EVENT service.
Important note: Rules in the [Link] file are checked one by one to look for a match in the log line.
The process stops when it finds a match. In other words, if the first rule matches, the subsequent rules
will be ignored. This is an important point to keep in mind if you want to create several rules that differ
slightly: if the first rule is too general, the subsequent, more precise rules will never be looked at.
269
LIST OF COLUMNS
The LOGMATCH section, appearing by default on the LOGMATCH worksheet in the [Link] file,
allows you to create patterns that describe the logs lines you wish to monitor.
LOGMATCH
Switch # HEADER LOGMATCH
REGULAR EXPRESSIONS
The specific regular expression dialect used in POM is named PCRE (Perl Compatible Regular
Expressions) and is, as the name suggests, compatible with regular expressions of the Perl
programming language. It is rather flexible and extensively documented.
Important points:
The section preceding a pattern is not taken into account when a search is performed. As an
example, if a log contains the string “Authentication error for user jsmith”,
we will aim at representing the string jsmith – subject to change – with a regular
expression. Patterns like user ([a-z]+) or for user ([a-z]+) will work, regardless
of the beginning of the string. This behavior mitigates the rigidity of regular expressions,
that normally require strict matching.
Parentheses around a pattern allow matching with DESCRIPTION column content in the form
$1, $2, etc. $1 stands for the 1st set of parentheses, $2 for the 2nd one, etc.
270
6 MONITORING ADMINISTRATION
Metacharacters
\ Quote the next character. Useful when searching for a plus + or a dot . , since
they are part of the PCRE language
^ Outside brackets : match the beginning of the string. As 1st character in brackets:
exclude everything else in these brackets. ^Error stands for a string beginning
with the word Error, whereas [^0-9] stands for all characters
$ Match the end of the string
. Match any character
(pattern) Grouping and memorizing : $1 will contain the string matching the pattern
(?:pattern) Grouping without memorizing
[] Character class. E.g.: [0-9] any decimal number, [0-9A-F] any hexadecimal
number.
| Alternation (logical OR)
Quantifiers
* Match 0 or more times
+ Match 1 or more times
? Match 1 or 0 times
{n} Match exactly n times
{n,} Match at least n times
{n,m} Match at least n but no more than m times
Pattern examples
[ˆ\s]+ String of non-space characters, i.e: any word
[a-z]+ String of lower-case letters
\d+ Continuous string of numerical characters, i.e.:
positive integer number
-?(\d+(\.\d*)?|(\d*(\.\d+)?)) Any decimal number
.+ Any string of at least 1 character
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} IPv4 address in dot-decimal format
(\d{1,3}\.){3}\d{1,3}\. IPv4 address in dot-decimal format. More concise
version than the previous one, but presents a
drawback as it contains parentheses
271
6.1.11 RETENTION SECTION
The RETENTION section is used to set how long the data stored in the logs are kept, based on the
elements appearing on the Logs tab in the web interface.
These retention rules will be used to determine whether or not the daily log purge is applied to the
hosts specified in each row in the file (in both the archives and the real-time index). The TYPE and
KEY columns are used to determine whether or not a host is allowed to have the logs it sends
purged.
RETENTION
Switch # HEADER RETENTION
Important points:
There must be one and only one “default” row.
The rules are processed in the order in which they appear in the spreadsheet file, with the
exception of the “default” rule, which is always processed last
If a host's logs are set to be purged, this host will be excluded from the subsequent rules.
This means that if a host is described in two different rules, only the first rule will be
processed.
If the TYPE (<> default) column is populated, then the KEY column must also be
populated.
For any other type of row other than the default row, if the ARCHIVES or REALTIME
columns are empty, then the values from the default row will be applied.
If no value is set for the ARCHIVES or REALTIME columns in the default row, it means
there is “no rule” (logs will never be purged).
272
6 MONITORING ADMINISTRATION
6.1.12 RELOADING CONFIGURATION DATA MANUALLY
The spreadsheet compilation script pomgen generates the configuration only if a change has been
made in one of the spreadsheet files.
AUTOMATIC POMGEN
You can allow it to run every minute, as was the case in previous POM versions, by setting the
parameter pomgen-enable-crond to yes in the Advanced configuration entry of the web
interface configuration menu.
See POM WEB INTERFACE: Configuration - Advanced
You can run the pomgen tool from the Events tab, by a simple ctrl+click on the Reload button.
The pomgen pop-up will appear, click Run pomgen. If the configuration generation is a success, a
6.1 SPREADSHEET FILE
green line will notify you.
Note: If the configuration generation fails and you get a FATAL error message, POM will keep running
the last valid configuration.
273
POMGEN FROM A COMMAND-LINE SESSION
You can also run the pomgen tool from a command-line session over an SSH connection to the
server (on Windows systems, use a terminal emulator such as xterm or PuTTY ). Once connected
with administrator privileges, execute the command pomgen -fi.
Available options for pomgen:
-f sets POMGEN_FORCE=1
-i sets POMGEN_INSTALL=1
-l sets POMGEN_NAGIOS_RELOAD=1 (uses ‘reload’ for nagios instead of
‘restart’)
-v or –vv increase verbosity to level 1 and 2 respectively
Verbosity levels:
Level 0 displays only WARNING and ERROR messages
Level 1 displays also INFO messages
Level 2 displays also DEBUG messages
Examples:
## standard reload, no message if all is OK
## errors are clearly indicated with their level of severity
[admin@pom ~]$ pomgen -fi
## reload in verbose mode, all steps are listed with processing times
[admin@pom ~]$ pomgen -fiv
INFO -- [main] Processing file: /etc/pom/gen/default/[Link]
INFO -- [bench] Elapsed time on /etc/pom/gen/default/[Link]: 0.000 sec
INFO -- [main] Processed with success: /etc/pom/gen/default/[Link]
...
INFO -- [main] Processed with success: /etc/pom/gen/default/[Link]
INFO -- [bench] Elapsed time on /opt/pom/bin/pomgen: 12.380 sec
A FATAL return message means that an error has been encountered while trying to generate the
new configuration. It can mean that one of the spreadsheet files contains errors, or that an instance
of the pomgen tool is already running. In the latter case, you will get the following error message:
FATAL -- [acquire_lock] Could not acquire lock: /var/tmp/[Link]
Note: If the configuration generation fails and you get a FATAL error message, POM will keep running
the last valid configuration.
274
6.2 EVENT-HANDLER
275
6.2 EVENT-HANDLER 6 MONITORING ADMINISTRATION
6.2.1 OVERVIEW
An advanced feature, called event-handler, lets you execute a command whenever an event occurs.
More specifically, as soon as a host or service status changes, POM can execute a command using a
set of variables that provide information about the service and host.
The advantage of such a functionality is the ability to automatically perform routine tasks that you
would usually do manually when certain alerts are received.
Note: POM now comes with a set of predefined event-handlers that you just have to declare in the
adequate section of the spreadsheet file.
Note: Setting up this functionality should be carefully thought through, and the script should be
properly checked, especially if it involves restarting services or hosts.
This feature requires knowledge of scripting in Linux (or at least how to handle arguments,
regardless of the language) and understanding how to create check commands in POM.
LOCATION OF EVENT-HANDLERS
Event-handlers location follows the same rules as plugins. They are located in three distinct
directories, depending on their origin:
276
6 MONITORING ADMINISTRATION
6.2.2 SET UP
Support for the event-handler functionality in POM is provided for hosts in the HOSTS section and
for services in the SERVICES section in the HANDLER column of the spreadsheet file.
For Windows services automatic restart event-handlers, see this specific and simple procedure in 6.2.4
1. Set up a script
Create or download the script
Check the script from the command line to make sure it works (e.g., restarts a service)
Make sure the script only runs when the arguments passed to it follow the correct logic.
2. Create a check command that calls the script using the expected parameters
For a host:
The HOSTSTATE variable returns the host status (UP, DOWN or UNREACHABLE)
The HOSTSTATETYPE variable returns the type of alert status (SOFT or HARD)
The HOSTATTEMPT variable returns the check attempt number in SOFT status
For a service:
The SERVICESTATE variable returns the host status (UP, DOWN or UNREACHABLE)
The SERVICESTATETYPE variable returns the type of alert status (SOFT or HARD)
The SERVICEATTEMPT variable returns the check attempt number in SOFT status
3. Create a symbolic link to the script with the desired triggering parameters
6.2 EVENT-HANDLER
The link name will be of the form:
<script name>.<state type>.<check attempt>.<state>
With this simple step, you avoid having to describe the various possible cases in the script itself.
For a host:
Locate the HOSTS section in which the host is declared
Add a HANDLER column to this section
Enter the name of the previously declared command in the HANDLER column of the row in
which the host is declared
For a service:
Declare the service in the SERVICES section
Add a HANDLER column to this section
Enter the name of the previously declared command in the HANDLER column
The script will run whenever the status of the host/service changes
There are many different variables that can be passed to the script through an event-handler, but
some only apply in a given context (service or host).
277
6.2.3 LIST OF MACROS AVAILABLE WITH AN EVENT-HANDLER
The following list is based on the Nagios documentation. It lists all the macros available with an
event-handler.
Macro name Service macro Host macro
$HOSTNAME$ Yes Yes
$HOSTDISPLAYNAME$ Yes Yes
$HOSTALIAS$ Yes Yes
$HOSTADDRESS$ Yes Yes
$HOSTSTATE$ Yes Yes
$HOSTSTATEID$ Yes Yes
$LASTHOSTSTATE$ Yes Yes
$LASTHOSTSTATEID$ Yes Yes
$HOSTSTATETYPE$ Yes Yes
$HOSTATTEMPT$ Yes Yes
$MAXHOSTATTEMPTS$ Yes Yes
$HOSTEVENTID$ Yes Yes
$LASTHOSTEVENTID$ Yes Yes
$HOSTPROBLEMID$ Yes Yes
$LASTHOSTPROBLEMID$ Yes Yes
$HOSTLATENCY$ Yes Yes
$HOSTEXECUTIONTIME$ Yes Yes
$HOSTDURATION$ Yes Yes
$HOSTDURATIONSEC$ Yes Yes
$HOSTDOWNTIME$ Yes Yes
$HOSTPERCENTCHANGE$ Yes Yes
$HOSTGROUPNAME$ Yes Yes
$HOSTGROUPNAMES$ Yes Yes
$LASTHOSTCHECK$ Yes Yes
$LASTHOSTSTATECHANGE$ Yes Yes
$LASTHOSTUP$ Yes Yes
$LASTHOSTDOWN$ Yes Yes
$LASTHOSTUNREACHABLE$ Yes Yes
$HOSTOUTPUT$ Yes Yes
$LONGHOSTOUTPUT$ Yes Yes
$HOSTPERFDATA$ Yes Yes
278
6 MONITORING ADMINISTRATION
Macro name Service macro Host macro
$HOSTCHECKCOMMAND$ Yes Yes
$HOSTACTIONURL$ Yes Yes
$HOSTNOTESURL$ Yes Yes
$HOSTNOTES$ Yes Yes
$TOTALHOSTSERVICES$ Yes Yes
$TOTALHOSTSERVICESOK$ Yes Yes
$TOTALHOSTSERVICESWARNING$ Yes Yes
$TOTALHOSTSERVICESUNKNOWN$ Yes Yes
$TOTALHOSTSERVICESCRITICAL$ Yes Yes
$HOSTGROUPALIAS$ Yes Yes
$HOSTGROUPMEMBERS$ Yes Yes
$HOSTGROUPNOTES$ Yes Yes
$HOSTGROUPNOTESURL$ Yes Yes
$HOSTGROUPACTIONURL$ Yes Yes
$SERVICEDESC$ Yes No
$SERVICEDISPLAYNAME$ Yes No
$SERVICESTATE$ Yes No
$SERVICESTATEID$ Yes No
$LASTSERVICESTATE$ Yes No
$LASTSERVICESTATEID$ Yes No
6.2 EVENT-HANDLER
$SERVICESTATETYPE$ Yes No
$SERVICEATTEMPT$ Yes No
$MAXSERVICEATTEMPTS$ Yes No
$SERVICEISVOLATILE$ Yes No
$SERVICEEVENTID$ Yes No
$LASTSERVICEEVENTID$ Yes No
$SERVICEPROBLEMID$ Yes No
$LASTSERVICEPROBLEMID$ Yes No
$SERVICELATENCY$ Yes No
$SERVICEEXECUTIONTIME$ Yes No
$SERVICEDURATION$ Yes No
$SERVICEDURATIONSEC$ Yes No
$SERVICEDOWNTIME$ Yes No
$SERVICEPERCENTCHANGE$ Yes No
$SERVICEGROUPNAME$ Yes No
279
Macro name Service macro Host macro
$SERVICEGROUPNAMES$ Yes No
$LASTSERVICECHECK$ Yes No
$LASTSERVICESTATECHANGE$ Yes No
$LASTSERVICEOK$ Yes No
$LASTSERVICEWARNING$ Yes No
$LASTSERVICEUNKNOWN$ Yes No
$LASTSERVICECRITICAL$ Yes No
$SERVICEOUTPUT$ Yes No
$LONGSERVICEOUTPUT$ Yes No
$SERVICEPERFDATA$ Yes No
$SERVICECHECKCOMMAND$ Yes No
$SERVICEACTIONURL$ Yes No
$SERVICENOTESURL$ Yes No
$SERVICENOTES$ Yes No
$SERVICEGROUPALIAS$ Yes Yes
$SERVICEGROUPMEMBERS$ Yes Yes
$SERVICEGROUPNOTES$ Yes Yes
$SERVICEGROUPNOTESURL$ Yes Yes
$SERVICEGROUPACTIONURL$ Yes Yes
$CONTACTGROUPALIAS$ Yes Yes
$CONTACTGROUPMEMBERS$ Yes Yes
$TOTALHOSTSUP$ Yes Yes
$TOTALHOSTSDOWN$ Yes Yes
$TOTALHOSTSUNREACHABLE$ Yes Yes
$TOTALHOSTSDOWNUNHANDLED$ Yes Yes
$TOTALHOSTPROBLEMS$ Yes Yes
$TOTALHOSTPROBLEMSUNHANDLED$ Yes Yes
$TOTALSERVICESOK$ Yes Yes
$TOTALSERVICESWARNING$ Yes Yes
$TOTALSERVICESCRITICAL$ Yes Yes
$TOTALSERVICESUNKNOWN$ Yes Yes
$TOTALSERVICEPROBLEMS$ Yes Yes
$LONGDATETIME$ Yes Yes
$SHORTDATETIME$ Yes Yes
$DATE$ Yes Yes
280
6 MONITORING ADMINISTRATION
Macro name Service macro Host macro
$TIME$ Yes Yes
$TIMET$ Yes Yes
$ISVALIDTIME:$ Yes Yes
$NEXTVALIDTIME:$ Yes Yes
$MAINCONFIGFILE$ Yes Yes
$STATUSDATAFILE$ Yes Yes
$DOWNTIMEDATAFILE$ Yes Yes
$RETENTIONDATAFILE$ Yes Yes
$OBJECTCACHEFILE$ Yes Yes
$TEMPFILE$ Yes Yes
$TEMPPATH$ Yes Yes
$LOGFILE$ Yes Yes
$RESOURCEFILE$ Yes Yes
$COMMANDFILE$ Yes Yes
$HOSTPERFDATAFILE$ Yes Yes
$SERVICEPERFDATAFILE$ Yes Yes
$PROCESSSTARTTIME$ Yes Yes
$EVENTSTARTTIME$ Yes Yes
$ADMINEMAIL$ Yes Yes
$ADMINPAGER$ Yes Yes
6.2 EVENT-HANDLER
$ARGn$ Yes Yes
$USERn$ Yes Yes
281
6.2.4 EXAMPLE – RESTART A WINDOWS SERVICE
Important: For an event-handler, CREDENTIALS must be of type WMI. Therefore, in the HOSTS section,
at least two kinds of credentials (separated by a comma , ) will have to be declared: an SNMP
credential and a WMI one.
282
6 MONITORING ADMINISTRATION
6.3 HOW-TO: MONITORING ADMINISTRATION
283
6.3.1 MONITORING A DEVICE VIA SSH
Using SNMP protocol to monitor a system is not always possible. In this particular case - and if the
target host's system allows it - SSH version 2, a protocol supported by many operating systems,
may be used instead.
While SSH will be a privileged method when monitoring certain system types (e.g. AIX servers), it
will globally be a good choice for other Unix/Linux-type systems.
Monitoring via SSH requires the use of encryption keys, and generating them is the sole step you
need to perform in order to get your POM server ready.
Preparing target hosts will be rendered easier if a SSH server is already installed and configured,
since you will only need to create an account dedicated to monitoring, and authorize the POM
server's public key.
Following instructions describe the most simple and common case encountered, but many other
variants are possible.
GENERAL PRINCIPLE
SSH (for Secure Shell) is a secured communication protocol in that it encrypts the data circulating
between two machines.
Plugins developed by POM MonitoringTM to specifically monitor AIX servers use the SSH protocol to
establish a secure link based on encryption keys exchange.
A preliminary step must therefore be performed on the POM server: generating a public/private key
pair.
You will, in a second time, need to register the consequently generated public key in the list of
authorized keys for a dedicated account on target servers you wish to monitor.
284
6 MONITORING ADMINISTRATION
GENERATING SSH ENCRYPTION KEYS
On the POM server, the user account used for monitoring being nagios, you will therefore need to
switch to this account to generate the keys, using the command ssh-keygen -t rsa -b
2048.
[admin@pom ~]$ sudo su - nagios
This command creates a key pair, which is then stored in the .ssh directory.
-sh-4.1$ ls -al .ssh/
total 6
drwx------ 2 nagios nagios 1024 Aug 27 11:31 .
drwxr-xr-x 4 nagios nagios 1024 Aug 27 11:35 ..
-rw------- 1 nagios nagios 1675 Aug 27 11:31 id_rsa
-rw-r--r-- 1 nagios nagios 405 Aug 27 11:31 id_rsa.pub
285
REGISTERING THE PUBLIC KEY ON TARGET SERVER
This step allows the POM server to connect with the target server by simple key exchange, without
having to enter any password.
[admin@pom ~]$ sudo su - nagios
Now try logging into the machine, with "ssh 'system@target-srv'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Checking as suggested
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
286
6 MONITORING ADMINISTRATION
6.3.2 MODIFYING ALERT PARAMETERS
Most basic parameters of the monitoring core in POM can be modified by adding a +<parameter>
column to the corresponding host or service in the spreadsheet file.
For more info, see MONITORING ADMINISTRATION: Spreadsheet File – Defining Nagios Commands
287
6.3.3 SETTING UP NOTIFICATIONS
Notifications in POM can be of different nature. The most common form for POM users is the visual
notification which can be read directly in the event tray.
This section focuses on other types of notifications, such as mail or SMS notifications. Once you
master the basics, you will be able to consider any other kind of notification.
POM uses a notification system to send alerts whenever a problematic event occurs.
In this approach, alerts are emitted at a precise moment in the monitoring timeline, a moment
which is indicator-specific and depends on the host and/or service settings.
Prior to activating mail notifications in POM, several steps must be taken into consideration:
Setting up the mail gateway (SMTP relay)
Setting up the users
Setting up the profile allocated to users
And to limit the amount of alerts received:
Setting up dependencies (DEPEND column of the HOSTS section)
Notification periods
Fine tuning of profiles
See USING POM WEB INTERFACE: Configuration
Important note: when alerts are concerned, more is not always better. Upon receiving too many alerts,
recipients will lose confidence in the seriousness of these alerts, which they may decide to redirect to a
folder they will quickly ignore. It is therefore recommended not to activate automatic mail notifications
if the event tray still features a large amount of settings-related alerts.
288
6 MONITORING ADMINISTRATION
CHANGING NOTIFICATION MAILS SENDER ADDRESS
You must edit the file /etc/pom/[Link]
#############################################################################
# Parameters specific to the mail backend
#############################################################################
# MAIL_FROM_NAME=POM
# MAIL_FROM_EMAIL=pom@$HOSTNAME
#############################################################################
# Parameters specific to the smsorange backend
#############################################################################
# SMSORANGE_KEY=
Uncomment variables by deleting the # in front of them, and alter values to suit your needs.
Note: Many mail systems forbid the emission of messages if the sender's address does not fit the general
form of the company e-mail addresses. Solving this issue is often as simple as adapting the contents of
[Link]
289
SMS
Sending SMS follows the same logic as sending e-mails. You just have to choose SMS-sending
commands when setting up the users
See USING POM WEB INTERFACE: Configuration
Important note: For the time being, only the host-alert-smstools and service-alert-
smstools commands are available by default.
290
6 MONITORING ADMINISTRATION
Creation of the user
The user is associated to the Night_watch profile
For host and service alerts, we choose the SMS-sending commands
Specific time-periods are used, in order to limit the amount of SMS sent
Note: The POM server must, of course, be a physical (non-virtual) machine, to which the aforementioned
modem is connected.
An example of modem usable with POM can be the Maestro EVO 100 by Maestro-wireless, on
which POM MonitoringTM ran conclusive tests.
Connection
Connect the modem with a DB-25 (RS-232) connector. If the server is not equipped with such a
connector, it is possible to connect via USB, using a DB25-USB adaptor.
Smstools
To send SMS, we will use the smstools package, available on a large number of Linux distributions.
[root@pomsat-cba ~]# yum install smstools
...
Installed:
smstools.x86_64 0:3.1.15-3.el6
Complete!
This quick installation on your POM server enables the smsd service and related commands, such
as smssend, which is dedicated to sending SMS.
291
Checking smsd service configuration
We will then edit the file /etc/[Link] to enter the PIN code of the GSM modem's SIM card.
For more info on this configuration file, see smstools editor's website
[root@pom-mon ~]# cat /etc/[Link]
# Example [Link]. Read the manual for a description
devices = GSM1
logfile = /var/log/smsd/[Link]
loglevel = 7
user = smstools
infofile = /var/run/smsd/[Link]
pidfile = /var/run/smsd/[Link]
# 3.1.5 introduced smart logging
# once your configuration is OK, set log level lower (5 is good in most cases)
smart_logging = yes
[GSM1]
device = /dev/ttyS0
incoming = no
pin = 1111
# optional
baudrate = 115200
FAIL - This message means smstools was run by a user other than smstools:
2015-02-19 [Link],3, smsd: Cannot handle /var/spool/sms/outgoing/send_7nTDYN: Access
denied. Check the file and directory permissions.
SUCCESS - These messages mean the SMS has been correctly sent
2015-02-19 [Link],5, smsd: Moved file /var/spool/sms/outgoing/send_ANYcQd to
/var/spool/sms/checked
2015-02-19 [Link],6, GSM1: I have to send 1 short message for
/var/spool/sms/checked/send_ANYcQd
2015-02-19 [Link],6, GSM1: Sending SMS from to 0788442211
...
2015-02-19 [Link],5, GSM1: SMS sent, Message_id: 223, To: 0788442211, sending time 7
sec.
2015-02-19 [Link],6, GSM1: Deleted file /var/spool/sms/checked/send_ANYcQd
292
6 MONITORING ADMINISTRATION
CREATING A CUSTOMIZED NOTIFICATION COMMAND
Default emission commands in POM are handy for most cases, but might be insufficient for very
specific uses. We will see below, with an example, how to create a customized notification
command.
The structure of a notification relies on three basic elements:
A backend, which performs the notification dispatch (see [Link])
A template that describes the content and format of the message sent
A check command, which will appear in the user settings of the POM web interface
configuration page
Important note: elements required for the creation of a new command will have to be stored in specific
directories, unaffected by updates of the POM system.
Backends must be stored in the directory /etc/pom/local/alert and must be named
with a .inc extension
Templates must be stored in /etc/pom/local/alert and must have a .tpl extension.
A template name must be of the form
{sms|mail}.{host|service}.{ack|alert}.[<lang>].tpl
Check_commands must be stored in /etc/pom/local/nagios/ and must have a .cfg
extension
An example of message received by the mail2sms gateway will then look like this :
Host p50 srv-ad1: Host is unreachable
The template being managed by POM, we will need to create the two other required elements: a
backend and a check command
293
Backend
We will create a backend named mail2sms, that will use the mail command to send a SMS
message.
[root@p50 alert]# cat /etc/pom/local/alert/[Link]
##
## Copyright (c) 2015 POM Monitoring. All rights reserved.
## Licensed computer software. Property of POM Monitoring.
## See /opt/pom/POM_Monitoring_EULA.txt for terms of use
##
TEMPLATE=sms
DATE_FORMAT[fr_FR]="%d/%m/%Y %H:%M:%S"
DATE_FORMAT[en_US]="%Y-%m-%d %H:%M:%S"
function process() {
resolve-template
mail "${NAGIOS_CONTACTPAGER}@${MAIL2SMS_MY_DOMAIN}" <<< "$REPLY"
}
TEMPLATE : refers to template (name of the form sms.*.tpl)
DATE_FORMAT[] : Chosen date format.
init : Required function. It will run preliminary settings checks. In the present case, it will
also feed into the NAGIOS_CONTACTPAGER variable, that contains the phone number to
use in the e-mail address.
process : Required function. It performs the dispatch.
o call to function resolve-template matches the content of the TEMPLATE variable
with an existing template
o the dispatch is performed by the mail command, installed by default on the POM
server
294
6 MONITORING ADMINISTRATION
Check command
A check command is required, in order to:
communicate to POM's notification tool all the arguments it needs
make the host-alert-mail2sms and service-alert-mail2sms commands appear
when creating / modifying a user account
[root@p50 alert]# cat /etc/pom/local/nagios/[Link]
define command {
command_name host-alert-mail2sms
command_line /opt/pom/bin/pomalert \
"$CONTACTNAME$" \
"$CONTACTGROUPNAME$" \
"$_CONTACTLANGUAGE$" \
"$NOTIFICATIONTYPE$" \
"$NOTIFICATIONAUTHORNAME$" \
"$NOTIFICATIONCOMMENT$" \
"$HOSTNAME$" \
"$HOSTALIAS$" \
"$HOSTADDRESS$" \
"$HOSTSTATE$" \
"" \
"" \
"$LASTHOSTSTATECHANGE$" \
"$LASTHOSTCHECK$" \
"$HOSTOUTPUT$" \
"$_HOSTNOTES$" \
"$_HOSTPOM_SITE$" \
mail2sms \
"$CONTACTPAGER$"
}
define command {
command_name service-alert-mail2sms
command_line /opt/pom/bin/pomalert \
"$CONTACTNAME$" \
"$CONTACTGROUPNAME$" \
"$_CONTACTLANGUAGE$" \
"$NOTIFICATIONTYPE$" \
"$NOTIFICATIONAUTHORNAME$" \
"$NOTIFICATIONCOMMENT$" \
295
The variables to be modified are NAGIOS_HOST_ESCALATION_OPTIONS and
NAGIOS_SERVICE_ESCALATION_OPTIONS. Uncomment them by removing the # in front of them,
and list the desired options.
Variable Option Comment
NAGIOS_HOST_ESCALATION_OPTIONS d (down) Host does not respond
u (unreachable) One of the host's parents does
not respond
r (recovery) Host goes back to OK state
NAGIOS_SERVICE_ESCALATION_OPTIONS w (warning) WARNING severity state
u (unknown) UNKNOWN state
c (critical) CRITICAL severity state
r (recovery) Return to OK state
In the following example, notification is disabled on WARNING alerts for services, and on returns
to OK state for hosts.
############################################################
# Nagios configuration
############################################################
# NAGIOS_BASE_HOST=generic-host
# NAGIOS_BASE_SERVICE=generic-service
# NAGIOS_MAINCFG=/etc/nagios/[Link]
# NAGIOS_FALLBACK_HANDLER=true
# NAGIOS_NOMON_HOST_CC=check-host-nomon
NAGIOS_HOST_ESCALATION_OPTIONS=d,u
NAGIOS_SERVICE_ESCALATION_OPTIONS=u,c,r
# NAGIOS_META_ESCALATION_OPTIONS=w,u,c,r
296
6 MONITORING ADMINISTRATION
6.3.4 SETTING UP SCENARIOS
OVERVIEW
Web scenarios are scripts that allow us to check the health of a website.
These scripts are based on the check_scenario plugin developed by POM MonitoringTM.
The plugin includes a set of macro-functions that facilitate the main steps of connecting to a
website.
A Web scenario is a simplified bash script that makes use of the functionalities provided by
the check_scenario plugin.
The browser used by the scenario, cURL, is a text-based web browser that can impersonate
other browsers such as IE or Firefox
Connection times and downloaded data volume are monitored along the browsing and are
used to generate performance graphs
A scenario is composed of several steps, each of which can be set to trigger alerts on specific
thresholds.
Writing a plugin is considered difficult and requires good knowledge of HTTP protocol and
Web technical particularities.
USAGE
A scenario is set up by allocating a SCENARIO template to a SERVICES section of the spreadsheet
file.
A website then becomes a monitoring point as any other, that can be associated with any host
registered in POM
CREATION
Creating a web scenario is a rather technical procedure and might be disconcerting at first.
A web scenario is a bash script, which means it takes advantage of all this programming language's
possibilities in addition to the functionnalities offered by the check_scenario plugin.
Even if knowing the basics of bash may save some time on elementary syntax problems, it is not
necessary to be a bash expert to create web scenarios. However, you will find, at the end of this
section, some useful links in case you want to perfect your knowledge of bash.
See USEFUL LINKS
297
Important requirements:
Scenario files must be stored in the /etc/pom/scenarios/ directory
Scenario files must have a .scn extension (e.g. [Link])
It is highly recommended that you test a scenario in command line all along its
development. These tests must be run prior to registering the scenario in the spreadsheet
file and generating a new POM configuration.
Hereafter are a few tips than can help you speed up the scenario creation process:
Open two line command terminals on POM and work in the /etc/pom/scenarios/
directory. One terminal to edit the scenario, the other to test it.
In the 1st terminal, create a basic script and save it as [Link] using the vim editor.
#!/usr/bin/env check_scenario
id 1-homepage
get /
In the 2nd terminal, test the script:
[admin@p50 scenarios]$ /opt/pom/plugins/check_scenario -H [Link] -u
[Link] -s ./[Link]
WEB-SCENARIO OK - (1-homepage) Expected values OK| time=.031 size=256 objs=1
Then run the script again in debug mode, which lists all steps performed by the script:
[admin@p50 scenarios]$ /opt/pom/plugins/check_scenario -H [Link] -u
[Link] -s ./[Link] -D
+ clean-all 1
+ [[ -z 1 ]]
+ [[ 1 == 0 ]]
+ trap output-status EXIT
+ ERROR_STATE=0
+ exit_status=0
+ VHOST=[Link]
+ FOLLOW_VHOST=1
+ baseurl [Link]
+ learn-url [Link]
+ OIFS='
'
+ IFS=$'\020'
...
++ SIZE_DOWNLOAD=258
++ (( OVERALL_SIZE += SIZE_DOWNLOAD ))
++ (( OVERALL_OBJS += 1 ))
++ sed -i -e 's/\r//' /tmp/check_scenario.[Link]
++ [[ -n '' ]]
++ [[ -r /tmp/check_scenario.[Link] ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ no-message
++ MSG=
++ unset POSTDATA GETDATA QUERYSTRING
++ [[ -n '' ]]
+ no-message
+ MSG=
+ '[' 0 == 0 ']'
+ reason 'Expected values OK'
+ [[ Expected values OK == \-\a ]]
+ REASON='(1-homepage) Expected values OK'
+ MSG=
+ no-message
+ MSG=
+ exit 0
+ output-status
+ local RET=0
+ echo -n 'WEB-SCENARIO OK - (1-homepage) Expected values OK|'
WEB-SCENARIO OK - (1-homepage) Expected values OK|+ '[' 0 = 0 ']'
+ echo -n ' time=.023 size=258 objs=1'
time=.023 size=258 objs=1+ echo
298
6 MONITORING ADMINISTRATION
To help us understand the results, 2 files are at our disposal
/tmp/check_scenario.[Link] contains headers for the server response
[admin@p50 scenarios]$ cat /tmp/check_scenario.[Link]
HTTP/1.1 302 Found
Cache-Control: private
Content-Type: text/html; charset=UTF-8
Location: [Link]
Content-Length: 258
Date: Thu, 22 Jan 2015 [Link] GMT
Server: GFE/2.0
Alternate-Protocol: 80:quic,p=0.02
/tmp/check_scenario.[Link] contains the source code of the target html
page
[admin@p50 scenarios]$ cat /tmp/check_scenario.[Link]
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="[Link]
</BODY></HTML>
In these two files, 27344.12034 is a unique identifier that will change each time the script is run,
you will therefore need to read the debug info to obtain the identifier corresponding to a specific
test.
With this basic script and this initial test, we know what the next step must be: follow the
redirection provided in the header info, run the script again and so on until the script reaches the
desired homepage.
This simple example shows why it is recommended to run tests all along the script development,
and to build it step by step.
When the information provided by the debug mode and the check_scenario plugin is not sufficient
to know how to adapt the script to a particular situation, advanced functionalities provided by
299
EXAMPLES
Homepage
This fairly simple scenario's purpose is to check the presence of the homepage when accessing the
Zimbra mail system of the French Free ISP
#!/usr/bin/env check_scenario
# authentication information
_USER='special_user'
_PASS='very_special_password'
# do not connect through a proxy - the site is requested from our lan
no-proxy
# connection to homepage
id 1-homepage
# get / is not a good choice with this site, it does not work
# instead the browser console gave us the real requested URL
# ${HOST_ADDR} is an auto global variable
# note: the target is urlencoded
# try to connect a redirected page
get
"/residents/?login&service=https%3A%2F%2F${HOST_ADDR}%2Fresidents%2F%3Fserver%3D1:43"
# at this step the first stage is validated: connection to the main address
300
6 MONITORING ADMINISTRATION
# next step is to check we can authenticate to the site
id 2-authentication
# after a long search of failed tries, it appears that structure of the page
# returned is not correct, it contains several errors
# Among others, one <div> tag is closed with </ddiv>, whitch is not correct
# we use sed to correct that typo
# note: $OUTPUT contains the page returned by the web server
# correct bugs in html structure
sed -i 's@</ddiv@</div>@g' $OUTPUT
# the place of
# search for lt value
# first element with id login, fifth div element, first input element
# store the value of parameter 'value' in variable __LT
__expr='//*[@id="login"]/div[5]/input[1]'
store-value-xpath __LT "$__expr" value
__action='/case_residentsFH/login?service=https%3A%2F%2F'${HOST_ADDR}'%2Fresidents%2F%3F
server%3D1'
post "$__action"
"username=${_USER}&password=${_PASS}&warn=true<=${__LT}&_eventId=submit&submit=LOGIN"
stats
stats
301
HELP
The check_scenario plugin help provides the majority of the commands used in creating scenarios
[admin@p50 scenarios]$ /opt/pom/plugins/check_scenario --help
Usage: check_scenario [options] FILENAME
-h,--help show this help
-D,--debug debug mode
-v,--verbose verbose mode
-u,--url URL use this as base URL
-k,--insecure allow ssl connexion without valid certs
-N,--name NAME use this as scenario name
-s,--scenario FILE scenarios scripts
-H,--hostname host name or address to check
--set define internal values
Script format:
message "my message" forced message for next operation error
cookie NAME VALUE add client cookie
no-cookie remove all client cookie
follow-location internaly follow Location:
no-follow-location disable following location internaly
id NAME define step in script (for output)
if-modified-since DATE If-Modified-Since date for get-requisities
baseurl URL define base URL for next relative requests
no-headers reset headers
think-time TIME wait TIME (ms)
header HEADER VALUE prepare headers to add in futurs requests
store-urlencode VNAME VALUE urlencode a value
post URL [QUERY-STRING] post URL
no-referer reset referer
vhost HOSTNAME set hostname to present to web server
port PORT set non standard port
get URL [QUERY-STRING] send URL with GET method
get-location send last location as URL
get-next send next determined request as URL
post-next send next determined request as URL (POST)
critical INDICE OPERATOR VALUE check INDICE
warning INDICE OPERATOR VALUE check INDICE
- time time getting object (s)
- namelookup time for name lookup (s)
- connect time connecting server (s)
- header time sending headers (s)
- start time receiving first byte (s)
- download download size (bytes)
- running time getting all objects since last id (s)
- all-time overall time getting all objects (s)
- all-objects overall number of objects
- all-size overall download size of all objects
query-string DATA set QUERY-STRING for all futur usage
no-query-string reset QUERY-STRING
post-data DATA set DATA for all futur usage
no-post-data reset DATA used by POST
get-requisities get all sub objects
store-value NAME VALUE expect and store value
store-value-xapth NAME MATCH VALUE expect and store value
store-value-xapth-html NAME MATCH VALUE expect and store value (html)
store NAME VALUE same as store-value
store-next VALUE store as NEXT request
store-header NAME VALUE expect and store header
store-location store special header Location:
expect-return RETURN... expect return code
expect-output STRING expect STRING in returned data
expect-header NAME VALUE expect header NAME with VALUE
expect-location [-r] VALUE expect header Location: value
expect-value PSEUDO-XPATH expect value defined with pseudo-xpath
ex: input@name=password:value
a@name=next:href
request-form [FORMNAME] use form data in next get/post request
302
6 MONITORING ADMINISTRATION
USEFUL LINKS
HTTP protocol
[Link]
[Link]
[Link]
[Link]
cURL
[Link]
Bash basics
[Link]
[Link]
[Link]
303
6.3.5 SETTING UP SERVER DOWNTIMES VIA HTTP REQUESTS
OVERVIEW
You can set host downtimes using HTTP requests via cURL.
The API used for this feature is located at [Link]
For each downtime definition or deletion, only a single HTTP request is necessary.
If the request succeeds, a 200 code is returned, if it fails, a 400 code is returned.
REMARKS
add action
In an add action, start, duration and end are optional parameters. If all three are used and
are incoherent, an error will be returned.
del action
When using the del action, you can either:
use no time parameter. All downtimes on the host will then be deleted
use start, end and duration parameters. They will be then be used as filters to delete
specific downtimes
use the downtime_id parameter. Only the specific downtime will be deleted
304
6 MONITORING ADMINISTRATION
REQUIREMENTS
Make sure the following requirements are verified:
Your request includes all required parameters
The timestamp does not correspond to a date in the past
The POM user used for authentication exists and is allowed to perform HTTP requests
The targeted host exists
Once sent, your request has been taken into account (within 30 seconds before timeout)
EXAMPLES OF USE
Adding a downtime (with a comment):
[root@pomsrv ~]# curl -X POST -d
"pom_auth_username=user01&pom_auth_password=password01&fn=downtimes&act=add&hostname=ser
ver01&comment=THIS IS A COMMENT" [Link] && printf "\n"
{"success":true,"result":{"start":1461151254,"end":1461154854,"duration":3600,"downtime_
id":62}}
{"success":true,"result":{"start":1561142159,"end":1561142160,"duration":1,"downtime_id"
:44}}
{"success":true,"result":{"start":1561142159,"end":1561142161,"duration":2,"downtime_id"
:46}}
{"success":true,"result":{"start":1561142159,"end":1561142162,"duration":3,"downtime_id"
:47}}
{"success":true,"result":{"start":1561142159,"end":1561142163,"duration":4,"downtime_id"
{"success":true,"result":{"downtime_id":24}}
305
Deleting all downtimes on a host:
[root@pomsrv ~]# curl -X POST -d
"pom_auth_username=user05&pom_auth_password=password05&fn=downtimes&act=del&hostname=ser
ver05" [Link] && printf "\n"
{"success":true,"result":null}
{"success":true,"result":null}
{"success":true,"result":null}
{"success":true,"result":{"downtime_ids":[54,55,56,57]}}
306
7 MONITORING TEMPLATES
7 MONITORING
TEMPLATES
307
7.1
308
HOST MONITORING TEMPLATES
Host templates are registered in POM by entering the adequate info in a HOSTS section in the
configuration spreadsheet file.
See MONITORING ADMINISTRATION: Spreadsheet File – HOSTS Section
CATEGORIES
Host monitoring templates available in POM can be divided in 5 main categories. Click on one of
these following to be redirected to the full list of available templates in the corresponding
category:
SECURITY
Templates to monitor firewalls or secured gates.
VIRTUALIZATION
Templates to monitor virtualization devices.
309
7 MONITORING TEMPLATES
7.1.1 FULL LIST OF HOST TEMPLATES
311
TEMPLATE Description Aliases From
ver.
JUNIPER EX Juniper EX Series network switch JUNIPER SRX 5.0
JUNIPER SA Juniper SA Series network switch 5.0
LINUX Linux system - any distribution any
LINUX NRPE Linux NRPE (Nagios Remote Plugin 5.0
Extractor)
LINUX-UCD Linux system statistics (UCD) UCD
LIVEBOX Router to access Orange professional any
network
NETAPP Netapp SAN (Storage Area Network) any
NETASQ NetASQ security appliance 5.3
NETSCALER Citrix NetScaler Gateway - secure access any
gateway
NORTEL Nortel network switch SW-NORTEL any
OPENFILER OpenFiler SAN/NAS 5.2
PALO-ALTO Palo Alto firewall PALOALTO 5.0
PIX Cisco PIX firewall any
POLYCOM Polycom server 4.1
POLYCOM-HDX Polycom HDX desktop device 4.1
POM POM any
POM-BASE POM-Base POM-SAT 5.0
POM-SATELLITE
POM-HA POM-HA (High Availability) 4.1
PRINTER Printer and copier device any
QNAP Qnap NAS (Network Attached Storage) any
RIVERBED Riverbed bandwidth optimization device any
ROUTER Router device - any brand any
SCANGAULE Scangaule and AKPC SensorProbe devices any
SNMP (DEFAULT) Basic SNMP protocol 5.0
SNMP-5.3 Linux host with NetSNMP version 5.3+ RH30 5.0
RH40
RH50
FEDORA8
FEDORA 8
FEDORA9
FEDORA 9
SNMP-5.5 Linux host with NetSNMP version 5.5+ RH60 5.0
SSH Basic SSH protocol 5.0
STONEGATE McAfee/Stonegate firewall appliance 5.0
*/warn%/crit% <part>//warn%/crit%
(e.g: */90%/95% E://97%/99%)
*/warn%/crit%
<part>//warn<unit>/crit<unit>
(e.g: */90%/95% "/var"//500M/100M)
ERRPT ssh ERRPT
EVENT EVENT
LOAD ssh CPU [Link]/[Link] (e.g: 2.00/5.00) CRITICAL=5.00
WARNING=2.00
PORT=22
MEM ssh MEM warn%/crit% (e.g: 80%/90%) CRITICAL=95%
WARNING=90%
PORT=22
NB-PROCESS ssh NB-PROCESS warn/crit (e.g: 120/300) CRITICAL=100
WARNING=80
PORT=22
PING icmp PING warn/crit (e.g: 200/500) RTA-CRITICAL=500
warn/crit warn%/crit% LOSS-WARNING=80%
(e.g: 200/500 5%/10%) LOSS-CRITICAL=90%
RTA-WARNING=200
warn/crit warn%/crit% num
(e.g: 200/500 5%/10% 1)
SPOOL ssh SPOOL
SWAP ssh SWAP warn%/crit% (e.g: 80%/90%) CRITICAL=70%
WARNING=50%
PORT=22
UPTIME ssh UPTIME crit (e.g: 600) CRITICAL=600
crit/NP (e.g: 600/NP)
NP (NP stands for “Non Persistent”)
Polycom server
Indicator Protocol Column name Syntax Default threshold
ADM-HTTP tcp ADM val,val.. (e.g: 22,443,8080) CRITICAL=6.0
WARNING=4.0
PORT=80
ADM-SNMP snmp ADM val,val.. (e.g: 22,443,8080)
EVENT EVENT
LOAD snmp CPU [Link]/[Link] (e.g: 2.00/5.00) CRITICAL=5.00
WARNING=2.00
MEM snmp MEM warn%/crit% (e.g: 80%/90%) CRITICAL=95%
WARNING=90%
PING icmp PING warn/crit (e.g: 200/500) RTA-CRITICAL=500
warn/crit warn%/crit% LOSS-WARNING=80%
(e.g: 200/500 5%/10%) LOSS-CRITICAL=90%
warn/crit warn%/crit% num RTA-WARNING=200
(e.g: 200/500 5%/10% 1)
SWAP snmp SWAP warn%/crit% (e.g: 80%/90%) CRITICAL=70%
WARNING=50%
UPTIME snmp UPTIME crit (e.g: 600) CRITICAL=600
crit/NP (e.g: 600/NP)
NP (NP stands for “Non Persistent”)
POM
Indicator Prot. Column name Syntax Default threshold
ADM-HTTPS http, ADM val,val.. (e.g: 22,443,8080) CRITICAL=6.0
tcp WARNING=4.0
PORT=443
ADM-SNMP snmp ADM val,val.. (e.g: 22,443,8080)
ADM-SSH ssh ADM val,val.. (e.g: 22,443,8080) PORT=22
CLOCK snmp CLOCK warn/crit (e.g: 120/300) CRITICAL=300
WARNING=180
CPU-STAT snmp CPU-STAT warn/crit (e.g: 120/300) CRITICAL=
WARNING=
DISK snmp DISK */warn%/crit% (e.g: */90%/95%) CRITICAL=95%
*/warn<unit>/crit<unit> WARNING=90%
(e.g: */200G/50G%)
*/warn%/crit% <part>//warn%/crit%
(e.g: */90%/95% E://97%/99%)
*/warn%/crit%
<part>//warn<unit>/crit<unit>
(e.g: */90%/95% "/var"//500M/100M)
DISK-IO http DISK-IO
EVENT EVENT
LICENSE snmp LICENSE
LOAD snmp CPU [Link]/[Link] (e.g: 2.00/5.00) CRITICAL=5.00
WARNING=2.00
MEM snmp MEM warn%/crit% (e.g: 80%/90%) CRITICAL=95%
WARNING=90%
NB-PROCESS snmp NB-PROCESS warn/crit (e.g: 120/300) CRITICAL=400
WARNING=300
NAGIOS-HEALTH snmp NAGIOS-HEALTH warn/crit (e.g: 100/200) CRITICAL=40
WARNING=20
NETWORK snmp NETWORK warn%/crit% (e.g: 80%/90%) CRITICAL=
iface//warn%/crit% (e.g: eth0//80%/90%) WARNING=
warn%/crit%/BW_IN_OUT (e.g: 80%/90%/1G) PORT=*
iface//warn%/crit%/BW_IN/BW_OUT
(e.g: FastEthernet0/5"//80%/90%/10M/20M)
NTP ntp NTP IP address
PING icmp PING warn/crit (e.g: 200/500) RTA-CRITICAL=500
warn/crit warn%/crit% LOSS-WARNING=80%
(e.g: 200/500 5%/10%) LOSS-CRITICAL=90%
warn/crit warn%/crit% num RTA-WARNING=200
(e.g: 200/500 5%/10% 1)
PROC-crond snmp PROC-crond <process1>,<process2>...
PROC-mysqld snmp PROC-mysqld <process1>,<process2>...
PROC-nagios snmp PROC-nagios <process1>,<process2>...
PROC- snmp PROC- <process1>,<process2>...
postmaster postmaster
PROC-perf2rrd snmp PROC-perf2rrd <process1>,<process2>...
PROC-snmpd snmp PROC-snmpd <process1>,<process2>...
PROC-snmptrapd snmp PROC-snmptrapd <process1>,<process2>...
PROC-syslog-ng snmp PROC-syslog-ng <process1>,<process2>...
SWAP snmp SWAP warn%/crit% (e.g: 80%/90%) CRITICAL=70%
WARNING=50%
UPTIME snmp UPTIME crit (e.g: 600) CRITICAL=600
crit/NP (e.g: 600/NP)
NP (NP stands for “Non Persistent”)
X509 https X509 warn/crit (e.g: 120/300) CRITICAL=45
WARNING=60
PORT=443
POM-Base
Be sure that your spreadsheet file does not use this old syntax anymore for the PRINTER template,
otherwise you will get an error when trying to generate the configuration with the pomgen tool.
Therefore, one must use great caution when declaring specific values in the NETWORK column of a
Windows host in the HOSTS section, since anything written in that column will overwrite the
default filter.
A way around this issue Is to declare values you want to enter in the SERVICES section instead.
For example, say you want to enter */80%/90% in the NETWORK column of a Windows host in
the HOSTS section. Instead, simply go to the SERVICES section, and in a NETWORK template for
this Windows host, declare 80% in the WARNING column and 90% in the CRITICAL column. This
way, the default interface filter will not be overwritten.
Other values providing the same indicators: WXP, XP, W2003, W2008, W2008R2, W2012R2, W2012
Windows Agent
Windows system (via WMI) - any version greater than Windows 2000
Other values providing the same indicators: WXP-WMI, W2003-WMI, W2008-WMI, W2008R2-WMI,
W2012-WMI
Other values providing the same indicators: RH30, RH40, RH50, Fedora8, Fedora 8, Fedora9, Fedora 9
HP network switch
Indicator Protocol Column name Syntax Default threshold
ADM-SNMP snmp ADM val,val.. (e.g: 22,443,8080)
CPU snmp CPU warn/crit (e.g: 120/300) CRITICAL=80
WARNING=75
EVENT EVENT
FAN snmp FAN lowarn:hiwarn/locrit:hicrit (e.g: 16:22/15:24) CRITICAL=3:5
WARNING=4
MEM snmp MEM warn%/crit% (e.g: 80%/90%) CRITICAL=95%
WARNING=90%
PING icmp PING warn/crit (e.g: 200/500) RTA-CRITICAL=500
warn/crit warn%/crit% LOSS-WARNING=80%
(e.g: 200/500 5%/10%) LOSS-CRITICAL=90%
warn/crit warn%/crit% num RTA-WARNING=200
(e.g: 200/500 5%/10% 1)
UPTIME snmp UPTIME crit (e.g: 600) CRITICAL=600
crit/NP (e.g: 600/NP)
NP (NP stands for “Non Persistent”)
Checkpoint firewall
Indicator Protocol Column name Syntax Default threshold
ADM-SNMP snmp ADM val,val.. (e.g: 22,443,8080)
CHECKPOINT snmp CHECKPOINT
DISK snmp DISK */warn%/crit% (e.g: */90%/95%) CRITICAL=95%
*/warn<unit>/crit<unit> WARNING=90%
(e.g: */200G/50G%)
*/warn%/crit% <part>//warn%/crit%
(e.g: */90%/95% E://97%/99%)
*/warn%/crit%
<part>//warn<unit>/crit<unit>
(e.g: */90%/95% "/var"//500M/100M)
LOAD snmp CPU [Link]/[Link] (e.g: 2.00/5.00) CRITICAL=5.00
WARNING=2.00
MEM snmp MEM warn%/crit% (e.g: 80%/90%) CRITICAL=95%
WARNING=90%
NB-PROCESS snmp NB-PROCESS warn/crit (e.g: 120/300) CRITICAL=100
WARNING=80
NETWORK snmp NETWORK warn%/crit% (e.g: 80%/90%) CRITICAL=
iface//warn%/crit% (e.g: eth0//80%/90%) WARNING=
warn%/crit%/BW_IN_OUT (e.g: 80%/90%/1G) PORT=*
iface//warn%/crit%/BW_IN/BW_OUT
(e.g: FastEthernet0/5"//80%/90%/10M/20M)
PING icmp PING warn/crit (e.g: 200/500) RTA-CRITICAL=500
warn/crit warn%/crit% LOSS-WARNING=80%
(e.g: 200/500 5%/10%) LOSS-CRITICAL=90%
warn/crit warn%/crit% num RTA-WARNING=200
(e.g: 200/500 5%/10% 1)
UPTIME snmp UPTIME crit (e.g: 600) CRITICAL=600
crit/NP (e.g: 600/NP)
NP (NP stands for “Non Persistent”)
Other values providing the same indicators: Fortinet, Fortigate 100D, Fortigate 310B
IronPort firewall
Indicator Protocol Column name Syntax Default threshold
ADM-HTTPS http,tcp ADM val,val.. (e.g: 22,443,8080) CRITICAL=6.0
WARNING=4.0
PORT=83
ADM-SNMP snmp ADM val,val.. (e.g: 22,443,8080)
ADM-SSH ssh ADM val,val.. (e.g: 22,443,8080) PORT=22
EVENT EVENT
NETWORK snmp NETWORK warn%/crit% (e.g: 80%/90%) CRITICAL=
iface//warn%/crit% (e.g: eth0//80%/90%) WARNING=
warn%/crit%/BW_IN_OUT (e.g: 80%/90%/1G) PORT=*
iface//warn%/crit%/BW_IN/BW_OUT
(e.g: FastEthernet0/5"//80%/90%/10M/20M)
PING icmp PING warn/crit (e.g: 200/500) RTA-CRITICAL=500
warn/crit warn%/crit% LOSS-WARNING=80%
(e.g: 200/500 5%/10%) LOSS-CRITICAL=90%
warn/crit warn%/crit% num RTA-WARNING=200
(e.g: 200/500 5%/10% 1)
UPTIME snmp UPTIME crit (e.g: 600) CRITICAL=600
crit/NP (e.g: 600/NP)
NP (NP stands for “Non Persistent”)
OpenFiler SAN/NAS
Indicator Protocol Column name Syntax Default threshold
ADM-SNMP snmp ADM val,val.. (e.g: 22,443,8080)
ADM-SSH ssh ADM val,val.. (e.g: 22,443,8080) PORT=22
CLOCK snmp CLOCK warn/crit (e.g: 120/300) CRITICAL=300
WARNING=180
CPU-STAT snmp CPU-STAT warn/crit (e.g: 120/300) CRITICAL=
WARNING=
DISK snmp DISK */warn%/crit% (e.g: */90%/95%) CRITICAL=95%
*/warn<unit>/crit<unit> WARNING=90%
(e.g: */200G/50G%)
*/warn%/crit% <part>//warn%/crit%
(e.g: */90%/95% E://97%/99%)
*/warn%/crit%
<part>//warn<unit>/crit<unit>
(e.g: */90%/95% "/var"//500M/100M)
EVENT EVENT
LOAD snmp CPU [Link]/[Link] (e.g: 2.00/5.00) CRITICAL=5.00
WARNING=2.00
MEM snmp MEM warn%/crit% (e.g: 80%/90%) CRITICAL=95%
WARNING=90%
NB-PROCESS snmp NB-PROCESS warn/crit (e.g: 120/300) CRITICAL=100
WARNING=80
NETWORK snmp NETWORK warn%/crit% (e.g: 80%/90%) CRITICAL=
iface//warn%/crit% (e.g: eth0//80%/90%) WARNING=
warn%/crit%/BW_IN_OUT (e.g: 80%/90%/1G) PORT=*
iface//warn%/crit%/BW_IN/BW_OUT
(e.g: FastEthernet0/5"//80%/90%/10M/20M)
PING icmp PING warn/crit (e.g: 200/500) RTA-CRITICAL=500
warn/crit warn%/crit% LOSS-WARNING=80%
(e.g: 200/500 5%/10%) LOSS-CRITICAL=90%
warn/crit warn%/crit% num RTA-WARNING=200
(e.g: 200/500 5%/10% 1)
391
393
7.2 SERVICE MONITORING TEMPLATES
Service templates are registered in POM by entering the adequate info in a HOSTS or a SERVICES
section in the configuration spreadsheet file.
See MONITORING ADMINISTRATION: Spreadsheet File – HOSTS Section
See MONITORING ADMINISTRATION: Spreadsheet File – SERVICES Section
CATEGORIES
Service monitoring templates available in POM can be divided in 4 main categories. Click on one of
these following to be redirected to the full list of available templates in the corresponding
category:
SYSTEM INDICATORS
Templates to monitor system status data.
DATABASES
Templates to monitor databases status & health.
394
7 MONITORING TEMPLATES
MULTISERVICE TEMPLATES
Some service templates are actually an aggregation of several basic service templates. They are
then, rightly so, called multiservice templates.
Hereafter is a list of these meta-templates and the service templates they include:
TEMPLATE Description Embedded From
service templates ver.
AD Windows Active Directory state AD-NTP any
AD-SYSVOL-SHARED
AD-FMSO-ROLES
AD-REPLSUM
AD-LDAP
AD-LDAP-AUTH
AD-LDAP-AUTH-SSL
AD-LDAP-AUTH-TLS
ESX-CL Check of a VMWARE cluster CL-CPU any
CL-MEM
CL-CONFIG
ESX-VC Check of a VMWARE V-Center VC-CPU any
VC-MEM
VC-VMFS
VC-IO
VC-CONFIG
VC-DISK-LATENCY
ORACLE Check Oracle databases ORAMEM 5.0
ORASID
ORATBS
395
7 MONITORING TEMPLATES
7.2.1 FULL LIST OF SERVICE TEMPLATES
The access port default value is related to the device. Connection tests are run on default and
given ports. These ports usually are dedicated for administration but any open port on the device
may be given.
METROLOGY
State Output
OK tcp/3389 open
tcp/RDP open
HOSTS SECTION
Column Format Def. val. Comment
ADM TELNET,80,.. depends on More than one port may be given, separated by a
the host comma. Values can be either a port number or a
template protocol name (eg. 22 or SSH)
METROLOGY
State Output
OK CLOCK OK: Tue Feb 24 [Link] CET 2015, 0 secs diff
WARNING CLOCK WARNING: Tue Feb 24 [Link] CET 2015, 209 secs diff
CRITICAL CLOCK CRITICAL: Tue Feb 24 [Link] CET 2015, 735 secs diff
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
Windows systems do not provide load information. Instead, the percentage of processors use is
available. There are as many measure points as virtual processors, but alerts and output rely on the
percentage of processors use average.
Note: Data are collected via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
METROLOGY
State Output
OK CPU: avg:18%, 27% 9%
>> CPU use = 18% is the average of the two CPUs found, which are 27% and 9%
used
UNKNOWN ERR: Timeout: No Response from [Link]
>> No answer from the device, the CPU state is not available, thus the
UNKNOWN state
HOSTS SECTION
Column Format Def. val. Comment
CPU warn%/crit% depends on CPU use average - non Unix/Linux devices. The given
the host threshold applies to the average of all CPU use.
template
METROLOGY
State Output
OK DISK: /=83%=12.7GB, /Debian=53%=8.09GB, /home=20%=31.3GB,
/vm=65%=67.1GB, /download=78%=23.9GB
HOSTS SECTION
Column Format Def. val. Comment
DISK see remarks */90%/95% Input format is slightly different for Unix/Linux and
for Windows (see remarks)
Formats :
{DD|*}/WARN(%|<unit>)/CRIT(%|<unit>)
[[DD]/WARN(%|<unit>)/CRIT(%|<unit>) …
[DD]/WARN(%|<unit>)/CRIT(%|<unit>)]
{WP:|*}/WARN(%|<unit>)/CRIT(%|<unit>)
[[WP:]/WARN(%|<unit>)/CRIT(%|<unit>) ..
[WP:]/WARN(%|<unit>)/CRIT(%|<unit>)]
Examples :
*/90%/95% W:/97%/99% Percent of used space threshold of 90% (warning) and 95% (critical) for all
partitions except for W: , for which threshold are 97% and 99%
*/90%/95% W:/50G/10G Percent of used space threshold of 90% (warning) and 95% (critical) for all
partitions except for W: , for which left space threshold are 50G and (warning) and 10G (critical)
*/90%/95% "!/var*" Percent of used space threshold of 90% (warning) and 95% (critical). All disks
will be monitored except those matching the pattern /var*.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE See remarks N.A Mandatory value. See remarks
PARTITION text * Optional. See remarks
WARNING decimal See remarks Optional
CRITICAL decimal See remarks Optional
RESERVED decimal 0 Optional. Reserved disk percentage. See remarks
INCLUDE regex N.A. Optional. Included elements. See example
EXCLUDE regex N.A. Optional. Excluded elements. See example
LABEL text N.A. Optional. Label. See example
TEMPLATE column
By specifying DISK in the TEMPLATE column, POM will automatically use the protocol associated
with the host (e.g.: SNMP for most Unix/Linux hosts).
See Host Monitoring Templates
In case you would like to use another protocol than the default one, please contact our technical
support team.
PARTITION column
Default value is * (all partitions). Partitions can be excluded using the ! wildcard
You can use - as a key for default thresholds.
PARTITION WARNING CRITICAL
* 90% 95%
Everything is monitored, with thresholds of 90% (WARNING) and 95% (CRITICAL)
PARTITION WARNING CRITICAL
-,C:,D:,E: 90%,,,50% 95%,,,70%
For drives C: and E:, thresholds aren't specified, therefore the thresholds used are the ones
corresponding to - in the PARTITION column (90%,95%). For drive E:, thresholds are 50%,70%. With
this syntax, a Z: network drive would NOT be monitored as would be the case with the use of *.
RESERVED column
Sets the percentage of disk space reserved for nodes management on ext2, ext3 & ext4 partitions
If left empty or set to 0, 5% of disk space will be reserved by default
SNMP
HOSTNAME TEMPLATE NAME PARTITION WARNING CRITICAL RESERVED
srv-01 DISK SRV-01-DISK * 90% 95% 0
BLUECOAT, JUNIPER SA
HOSTNAME TEMPLATE NAME LABEL WARNING CRITICAL
prx-01 DISK PRX-01-DISK DISK 80% 90%
sw-jun-02 DISK SW-JUN-02-DISK diskFullPercent 80% 90%
METROLOGY
State Output
UNKNOWN ERRPT UNKNOWN: You didn't give all mandatory options
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE ERRPT N.A Mandatory
NAME text N.A Monitoring point name
PORT integer N.A. Port number
USER text N.A. User name
WARNING integer 1 Warning threshold
CRITICAL integer 1 Critical threshold
Load indicates the number of running tasks on a given period (1min, 5min, 15min).
On a single processor machine, a load of 1 means that the CPU has been busy
during 100% of its time.
Note: Data are collected via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
METROLOGY
State Output
OK LOAD OK: load1: 0.00, load5: 0.05, load15: 0.05
HOSTS SECTION
REMARKS – HOSTS
Threshold applies on all processors. For Unix/Linux devices, the checked value is the average of
the second of the three output values. For Cisco devices, the checked value is the first of the three
output values.
Note: The column used is CPU, thus the same as for the template CPU, but with a different input syntax.
REMARKS – SERVICES
Threshold applies on all processors.
For Unix/Linux devices, the checked value is the average of the second of the three output values.
For Cisco devices, the checked value is the first of the three output values.
Note: Data are collected via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
METROLOGY
State Output
OK MEM OK - 73% = 2.74GB used
UNKNOWN MEM UNKNOWN: Can't request host or bad return values
>> Connection error with target device
MEM UNKNOWN - FATAL: no value returned
>> Plugin not adapted to target device (probable host setting problem)
Note: Data are collected via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
METROLOGY
State Output
OK NB-PROCESS OK: nbproc: 124
WARNING NB-PROCESS WARNING: nbproc: 133 (130/150)
CRITICAL NB-PROCESS CRITICAL: nbproc: 160 (130/150)
HOSTS SECTION
Column Format Def. val. Comment
NB-PROCESS warn/crit depends on the Thresholds should be set depending on the use of
host template the monitored device
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE NB-PROCESS N.A Mandatory value
TYPE text linux Optional. Possible values are: linux aix cisco win
WARNING decimal 80 Optional
CRITICAL decimal 100 Optional
NRPE (Nagios Remote Plugin Executor) allows you to remotely execute plugins on other
Linux/Unix machines, thus allowing you to monitor remote machine metrics (disk usage, CPU load,
etc.). NRPE can also communicate with some of the Windows agent addons like NSClient++, so you
can check metrics on remote Windows machines as well
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine Name
TEMPLATE NRPE N.A Mandatory value
NAME text N.A Monitoring point name
PORT integer 5666 Port
TIMEOUT time 20 Timeout in seconds
COMMAND text N.A NRPE Remote command
ARG1 text/decimal N.A First command argument, let empty if the argument
is hardcoded in the remote [Link] or not exist
ARG2 text/decimal N.A Second command argument, let empty if the
Installation of NRPE
You have to install the NRPE daemon and the Nagios plugins on the remote host.
With a distribution based on Red Hat:
# sudo yum install nrpe
# sudo yum install nagios-plugins-all
Note: You have to restart the service nagios-nrpe-server after modification of the configuration
Process availability
Note: Data are fetched via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
For each given process, a service named PROC-<process_name> will be created. The check is based
on the process name only, without any path information. Two process names must be separated by
a comma ,. Each process leads to a new service.
As an example, the values havp, syslog-ng, mingetty tty1 would lead to the following
services:
PROC-havp
PROC-syslog-ng
PROC-mingetty
METROLOGY
State Output
OK Process: PROC-exim-in1 is active with 1 pid: 3231
REMARKS
Processes list may be generated by POM with the list-snmp-process command line tool.
ARGS column
This column allows you to filter results if the monitored process has several occurences. See
example below.
Process age
METROLOGY
State Output
OK PROCESS-AGE OK: All process are below the limited age
WARNING PROCESS-AGE WARNING: **Age of N processes are in warning (older than Xmin)**
CRITICAL PROCESS-AGE CRITICAL: **Age of N processes are critical (older than X min)**
PROCESS-AGE CRITICAL: **No process matched**
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Server name as recorded in HOSTS section
NAME text N.A Optional. Monitoring point name
TEMPLATE PROCESS-AGE N.A Mandatory value
PROCESS text N.A Mandatory. Name of monitored process, possibly
with its argument set (see remarks below)
ARGS text N.A. Optional. Arguments
WARNING integer 60 Optional. Warning process age (in minutes)
CRITICAL integer 60 Optional. Critical process age (in minutes)
REMARKS
Processes list may be generated by POM with the list-snmp-process command line tool.
Swap (page file) use rate, output in both percentage and byte
Note: Data are collected via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
METROLOGY
State Output
OK SWAP OK - 6% = 67.06MB used
UNKNOWN SWAP UNKNOWN: Can't request host or bad return values
>> The plugin can not request the target device
HOSTS SECTION
Column Format Def. val. Comment
SWAP warn%/crit% depends on Threshold for the use of the device swap (page file on
the host some OS)
template
Note: Data are collected via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
METROLOGY
State Output
OK UPTIME OK: System UP since 14 days 22 hours 38 minutes 14 seconds
CRITICAL UPTIME CRITICAL: System UP since 2 minutes 57 seconds
>> Alert caused by uptime, lower than threshosld (600 sec = 10 min)
UNKNOWN UPTIME UNKNOWN: Failed to get uptime
>> Alert raised by unreachability of the host
Default behavior
Important: The default behavior is to keep the uptime critical state persistent. Thus any unattended
alert causes a permanent reminder to be present in the event view. To change this behavior, type
in NP (for “Non Persistent”) in the UPTIME cell, or <value>/NP if you set <value> to override
the default threshold.
Notes: this template is particularly useful when a drive size exceeds 2 terabytes. It allows you to
monitor any disk drive by registering its volume ID rather than its drive letter. This template will
generate a classic DISK service.
METROLOGY
State Output
OK DISK: /=83%=12.7TB, /Debian=53%=8.09TB, /home=20%=31.3TB,
/vm=65%=67.1TB, /download=78%=23.9TB
UNKNOWN DISK UNKNOWN: No Matching Disk for : [volume ID]
DISK UNKNOWN: Could not get volume information
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name. See remarks
TEMPLATE VOLUME-WMI N.A Mandatory value
FILE-SYSTEM text !CDFS File system
PARTITION text *,!\\* Volume Name
WARNING percentage 90% Optional
CRITICAL percentage 95% Optional
REMARKS
NAME column
Although this column is optional, we recommend that you enter a name that will remind you, in
the Events tab of the WUI, that you are looking at a VOLUME-WMI template rather than a basic
DISK service.
Important note: Keep in mind that, if you left value empty in a NAME column, as the VOLUME-WMI
template creates a DISK service, any threshold you define for the VOLUME-WMI template will
overwrite the threshold defined for the host, in a DISK column of a HOSTS section.
METROLOGY
State Output
OK OK: Received 2 DHCPOFFER(s), 1 of 1 requested servers responded, max lease
time = 3600 sec.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A DHCP server name as given in the HOSTS section
NAME text N.A Monitoring point name
TEMPLATE DHCP N.A mandatory value
MAC MAC address [Link] MAC address given with the request. The format is
format 02:03 a list of 6 two-digit hexadecimal numbers, where
: is the delimiter
OFFER-IP IPv4 decimal N.A Expected IP address for a static allocation
format
TIMEOUT numeric N.A DHCPOFFER timeout (sec.)
IFACE text N.A Name of the system network interface to be used
REMARKS
The IP address given in OFFER-IP field should fit the MAC address given in MAC field. These two
informations are required to check an IP address static allocation.
The check-dns check command is used. The underlying plugin is check_dig, provided by the Nagios
Plugin Development Team. A DNS request is run on port 53 of the server.
METROLOGY
State Output
OK DNS OK - 0.018 seconds response time ([Link]. 3600 IN A [Link])
>> The DNS server answered within 0.018 seconds, and has found an type A
record, associating the domain ''[Link]'' with the address [Link] and a
3600 seconds TTL value.
DNS OK - 0.007 seconds response time ([Link]. 256 IN A
[Link])
>> The DNS server answered within 0.007 seconds, and has found an type A
record, associating the domain ''[Link]'' with the address
[Link] and a 256 seconds TTL value.
WARNING DNS WARNING - 0.011 seconds response time ([Link].
293 IN A [Link]
>> The DNS server answered within 0.011 seconds (hence the warning
status),but has found a record of IN type associating ''gmail-smtp-
[Link]'' domain with the IP address [Link] and a TTL value of
293 seconds
CRITICAL CRITICAL - Plugin timed out while executing system call
>> The plugin did not get an answer within the time given in ''TIMEOUT''
REMARKS
Operating principle:
The plugin requests the target DNS server to return the records of the TYPE column for the
REQUEST domain.
The answer validity is based on:
The fact that an answer is received
The server answer time (WARNING, CRITICAL and TIMEOUT columns)
METROLOGY
State Output
OK FTP OK - 0.031 second response time on port 21 [220 ProFTPD 1.3.4a Server
(ProFTPD) [[Link]]
WARNING FTP WARNING - 0.319 second response time on port 21 [220 ProFTPD 1.3.4a
Server (ProFTPD) [[Link]]
CRITICAL FTP CRITICAL - 0.620 second response time on port 21 [220 ProFTPD 1.3.4a
Server (ProFTPD) [[Link]]
SERVICES SECTION
METROLOGY
State Output
OK AGE OK: found N files with time constraint
WARNING AGE WARNING: found N files with warning time constraint
CRITICAL AGE CRITICAL: found N files with critical time constraint
UNKNOWN AGE UNKNOWN - Timeout after [TIMEOUT] seconds
AGE UNKNOWN - Failed to list files from [PATH]
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE FTP-AGE N.A Mandatory
NAME text/text N.A Monitoring point name
PORT integer 21 Port
PATH text / Path of the directory to monitor
INCLUDE text .* Files to include (regular expression)
EXCLUDE text ^$ Files to exclude (regular expression)
TIMEOUT integer N.A. Timeout in seconds
WARNING age N.A. Warning threshold on file age (prefixed by + or -)
CRITICAL age N.A. Critical threshold on file age (prefixed by + or -)
METROLOGY
State Output
OK FTP OK - 0.031 second response time on port 21 [220 ProFTPD 1.3.4a Server
(ProFTPD) [[Link]]
WARNING FTP WARNING - 0.319 second response time on port 21 [220 ProFTPD 1.3.4a
Server (ProFTPD) [[Link]]
CRITICAL FTP CRITICAL - 0.620 second response time on port 21 [220 ProFTPD 1.3.4a
Server (ProFTPD) [[Link]]
SERVICES SECTION
Connection to a web site. The site is separate from the host which the monitoring
point is associated to.
METROLOGY
State Output
OK HTTP OK: HTTP/1.1 200 OK - 60537 bytes in 0.110 second response time
WARNING HTTP WARNING: HTTP/1.1 200 OK - 32603 bytes in 0.478 second response time
>> Reply 200 OK but the response time exceeds the threshold
HTTP WARNING: HTTP/1.1 404 Not Found - 452 bytes in 0.016 second response
time
>> Response time OK but reply 404 Not Found
CRITICAL HTTP CRITICAL: HTTP/1.1 200 OK - 32603 bytes in 0.574 second response time
>> Reply 200 OK but the response time exceeds the threshold
REMARKS
Connection to a web site. The site is separate from the host which the monitoring
point is associated to
METROLOGY
State Output
OK HTTP OK: HTTP/1.1 200 OK - 60537 bytes in 0.110 second response time
WARNING HTTP WARNING: HTTP/1.1 200 OK - 32603 bytes in 0.478 second response time
>> Reply 200 OK but the response time exceeds the threshold
HTTP WARNING: HTTP/1.1 404 Not Found - 452 bytes in 0.016 second response
time
>> Response time OK but reply 404 Not Found
CRITICAL HTTP CRITICAL: HTTP/1.1 200 OK - 32603 bytes in 0.574 second response time
>> Reply 200 OK but the response time exceeds the threshold
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device Name
TEMPLATE HTTP N.A Mandatory value
NAME text N.A Monitoring point name
VHOST text N.A IP address or vhost
PORT integer 80 Port
PATH text N.A Path to folder or file
AUTH text N.A AuthUser: password for basic authentication
METHOD text GET HTTP Method see remarks
FOLLOW text sticky HTTP Redirect see remarks
WARNING integer 0.2 Warning threshold on response time (seconds)
CRITICAL integer 0.4 Critical threshold on response time (seconds)
METROLOGY
State Output
OK IMAP OK - 0.003 second response time on port 143
WARNING IMAP WARNING - 0.350 second response time on port 143
CRITICAL IMAP CRITICAL - 0.582 second response time on port 143
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE IMAP N.A Mandatory
NAME text N.A Monitoring point name
PORT integer 143 Port
WARNING decimal N.A Warning threshold on response time (seconds)
CRITICAL decimal N.A Critical threshold on response time (seconds)
METROLOGY
State Output
OK IMAP OK - 0.003 second response time on port 143
WARNING IMAP WARNING - 0.350 second response time on port 143
CRITICAL IMAP CRITICAL - 0.582 second response time on port 143
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
METROLOGY
State Output
OK LDAP OK - 0.003 seconds response time
WARNING LDAP WARNING - 0.004 seconds response time
CRITICAL Could not bind to the LDAP server
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE LDAP N.A Mandatory value
BASEDN text N.A Mandatory. LDAP domain name. See remarks for
example.
PORT integer 389 LDAP port
SEARCH text (objectclass=*) Searched Object
USER text N.A Optional. Login. See remarks for example.
PASSWORD text N.A Optional. Password.
WARNING integer 1 Warning threshold on response time (seconds)
CRITICAL integer 2 Critical threshold on response time (seconds)
TIMEOUT integer 10 Time before considering connection as failed
METROLOGY
State Output
OK LDAP OK - 0.003 seconds response time
WARNING LDAP WARNING - 0.004 seconds response time
CRITICAL Could not bind to the LDAP server
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE LDAPS N.A Mandatory value
BASEDN text N.A Mandatory. LDAP domain name. See remarks for
example.
PORT integer 636 LDAP port
SEARCH text (objectclass=*) Searched Object
USER text N.A Optional. Login. See remarks for example.
PASSWORD text N.A Optional. Password.
WARNING integer 1 Warning threshold on response time (seconds)
CRITICAL integer 2 Critical threshold on response time (seconds)
TIMEOUT integer 10 Time before considering connection as failed
METROLOGY
State Output
OK LDAP OK - 0.003 seconds response time
WARNING LDAP WARNING - 0.004 seconds response time
CRITICAL Could not bind to the LDAP server
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE LDAPTLS N.A Mandatory value
BASEDN text N.A Mandatory. LDAP domain name. See remarks for
example.
PORT integer 389 LDAP port
SEARCH text (objectclass=*) Searched Object
USER text N.A Optional. Login. See remarks for example.
PASSWORD text N.A Optional. Password.
WARNING integer 1 Warning threshold on response time (seconds)
CRITICAL integer 2 Critical threshold on response time (seconds)
TIMEOUT integer 10 Time before considering connection as failed
Note: Data are fetched via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
METROLOGY
State Output
OK IFACE OK: eth0: 10.51k/10.93kbps, 40.00/36.00pps (1.05/1.09%);
br0:9.90k/10.93kbps, 40.00/36.00pps (0.99/1.09%)
HOSTS SECTION
Column Format Def. val. Comment
NETWORK see remarks * All up interfaces are monitored without thresholds
SW:PORT see remarks * This column is only useful to monitor a device on
which SNMP is not set. One state the monitored
switch interface which the device is connected to.
SNMP turnaround
SW:PORT column may be used as a turnaround if it is not possible to request the device via SNMP,
while the switch connecting the device can be. In that case, the switch must be monitored and the
input has the form: <switch_name:port_name>.
SERVICES SECTION
Column Format Def. Comment
val.
HOSTNAME text N.A Mandatory. Name of the device the port belongs
to
NAME text N.A Optional. Monitoring point name. Blank ⇒ IF-
<port_name>
TEMPLATE NETWORK N.A Mandatory value
PORT text N.A Mandatory. For interface names containing spaces
Therefore, one must use great caution when declaring specific values in the NETWORK column of a
Windows host in the HOSTS section, since anything written in that column will overwrite the
default filter.
A way around this issue Is to declare values you want to enter in the SERVICES section instead.
For example, say you want to enter */80%/90% in the NETWORK column of a Windows host in
the HOSTS section. Instead, simply go to the SERVICES section, and in a NETWORK template for
this Windows host, declare 80% in the WARNING column and 90% in the CRITICAL column. This
way, the default interface filter will not be overwritten.
REMARKS – GENERAL
Important note: if no threshold is stated, then only the state of the link (UP/DOWN) is monitored while a
graph of network load is produced.
After the first test (or after a cache deletion), the information message is:
IFACE OK: **FIRST RUN : no data**
METROLOGY
State Output
OK PING OK - Packet loss = 0%, RTA = 0.05 ms
CRITICAL CRITICAL - Host Unreachable ([Link])
HOSTS SECTION
Column Format Def. val. Comment
PING num/num depends on The first value pair sets RTA thresholds, the second
[num%/num% the host pair sets LOSS thresholds and the last value sets the
[num]] template number packets sent
RTA stands for Round Trip Average and LOSS is the loss percentage.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE PING N.A Mandatory value
RTA_WARNING integer 200 Optional. Warning threshold on RTA
RTA_CRITICAL integer 500 Optional. Critical threshold on RTA
LOSS_WARNING value% 80% Optional. Warning threshold on loss percentage
LOSS_CRITICAL value% 90% Optional. Critical threshold on loss percentage
PACKETS integer 4 Optional. Number of packets sent
ADDRESS text N.A. Optional. Secondary IP address
METROLOGY
State Output
OK POP OK - 0.016 second response time on port 110
WARNING POP WARNING - 0.366 second response time on port 110
CRITICAL POP CRITICAL - 0.567 second response time on port 110
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
METROLOGY
State Output
OK POP OK - 0.016 second response time on port 995
WARNING POP WARNING - 0.366 second response time on port 995
CRITICAL POP CRITICAL - 0.567 second response time on port 995
SERVICES SECTION
Column Format Def. val. Comment
STNAME text N.A Device name
TEMPLATE POPS N.A Mandatory
NAME text N.A Monitoring point name
PORT integer 995 Port
WARNING decimal 0.3 Warning threshold on response time (seconds)
CRITICAL decimal 0.5 Critical threshold on response time (seconds)
METROLOGY
State Output
OK CURL OK - nb=1, code=200, size=17837, errors=0, connect=50ms, first=635ms,
total=635ms
>> CURL received data from the given URL: 1 object, return code 200, no error,
50 millisecond connection time, 635 millisecond global time operation
WARNING CURL WARNING - nb=1, code=200, size=10964, errors=0, connect=0ms,
first=265ms, total=265ms
>> CURL received data from the given URL: 1 object, return code 200, no error,
10964 byte object size, 0 millisecond connection time, 265 millisecond global
time operation.
State based on the operation time.
CRITICAL CURL CRITICAL - bad return code (503) - nb=1, code=503, size=1137, errors=1,
connect=3ms, first=118ms, total=118ms
>> CURL received an error code: 1 object, return code 503, 1 error, 1137 byte
object size, 3 millisecond connection time, 118 millisecond global time
operation.
State based on the return code.
REMARKS
Involved plugins
check-curl-proxy and check-curl-proxy check commands are used, depending on credentials
requirement. Both commands use the check_curl.sh plugin, developped by POM Monitoring TM. This
plugin relies on CURL tool to request the proxy server.
Protocol examples
http
https
ftp
sftp
file
Return codes
Return codes that may be stated in RETURN column are HTTP return codes.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE RADIUS N.A Mandatory
NAME text N.A Monitoring point name
PORT integer 1812 Port
CONFIG text /etc/radiusclient-ng/ Configuration file path
[Link]
USER text N.A User name
PASSWORD text N.A Password
TIMEOUT Integer 10 Seconds before connection times out
METROLOGY
State Output
OK 0.455 sec to establish authentication on port 22
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE SFTP N.A Mandatory
NAME text N.A Monitoring point name
CREDENTIALS text N.A Authentication credential. Generic type
PORT integer 22 Port
WARNING decimal 5 Warning threshold on response time (seconds)
CRITICAL decimal 10 Critical threshold on response time (seconds)
Note: Data are collected via SNMP protocol, thus SNMP server must be correctly setup on monitored
devices.
Check commands used in this template are check-smtp and check-smtps. They both use the
check_smtp plugin provided by the Nagios Plugin Development Team.
METROLOGY
State Output
OK SMTP OK - 0.005 sec. response time
CRITICAL Connection refused
METROLOGY
State Output
OK SMTP OK - 0.005 sec. response time
CRITICAL Connection refused
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device Name
TEMPLATE SMTPTLS N.A Mandatory
NAME text N.A Monitoring point name
PORT integer 25 Port
FROM text pom@<hostname> Address of the sender
WARNING integer 1 Warning threshold on response time
(seconds)
CRITICAL integer 2 Critical threshold on response time
(seconds)
CREDENTIALS text N.A Authentication credential. Generic type
METROLOGY
State Output
OK NB-PROCESS OK: nbproc: 204
OK DISK OK: /run: 239.00, /: 3.64M, /home: 20.66M, /boot: 51.98k, /data: 112.01M
WARNING DISK WARNING: **/data: 458.82G (80%/90%)**, /home: 84.63G
CRITICAL SYSNAME CRITICAL: **archDesktop(index 0) did not match 'acme'**
CRITICAL Connection refused
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device Name
TEMPLATE SNMP N.A Mandatory
NAME text N.A Monitoring point name
OID text N.A Mandatory. Main OID / node
DESCRIPTION text SNMP Optional. Description
LABEL text N.A. Label for the returned value
LABEL-OID OID N.A. Label OID. See remarks
WARNING range N.A. Warning threshold range
WARNING-OID OID N.A. Warning threshold range OID. See remarks
CRITICAL range N.A. Critical threshold range
CRITICAL-OID OID N.A. Critical threshold range OID. See remarks
MIN integer N.A. Minimum value
REMARKS
MULT column
The MULT column allows you to display human-readable values.
Example : enter 1024 in the MULT column to display values in bytes rather than kilobytes ; enter 0.001
to display values in seconds rather than milliseconds.
COUNT column
The COUNT column is useful if a nb-process interrogation fails. It lets you assess the number of
results for snmpwalk rather than the values returned.
EXPECT mode
If you enter a value in the EXPECT column, the check_snmp_expect plugin will be used. You
will then be able to interrogate an OID for expected strings.
For a detailed example of use of the SNMP service template and related plugins, see annex
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Server name as recorded in HOSTS section
TEMPLATE SSH N.A Mandatory value
NAME text N.A Optional. Monitoring point name
PORT integer 22 Optional. Name of monitored process, possibly
with its argument set (see remarks below)
VERSION text N.A. Expected SSH version
TIMEOUT integer 10 Seconds before connection times out
METROLOGY
State Output
OK TCP OK - 0.001 second response time on port
22|time=0.001349s;;;0.000000;10.000000
>> Simple check response time on port 22
Connection refused
>> The port is not listening
srv-app1 TCP FTP-Banner 21 220 Welcome to ACME FTP QUIT 0.5 0.8
Server
METROLOGY
State Output
OK WEB OK: total: 168ms, size: 218.00B, connect: 104ms, firstB: 168ms, dns: 61ms
CRITICAL WEB CRITICAL: **total: 160ms (/100)**, size: 218.00B, connect: 103ms, firstB:
160ms, dns: 60ms
>> Return code OK, but response time above defined limit
WEB CRITICAL: **Bad return code : got 200 instead of 404**, total: 5ms, size:
220.00B, connect: 5ms, firstB: 5ms, dns: 4ms
>> Unexpected return code
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Server name as given in the HOSTS section
TEMPLATE WEB N.A Mandatory
NAME text N.A Monitoring point name
URL Text N.A. Target URL
VHOST Text N.A HTTP virtual host to check. See remarks
CREDENTIALS Text N.A. Authentication credential. Web type
AUTH Text:text N.A. Authentication mode (basic, digest, ntlm,
negotiate or anyauth)
RETURN Integer 200 Expected return code
FOLLOW 0 or 1 1 Automatically follow redirections (0 no, 1 yes)
PROXY Text N.A. Proxy IP address
PROXY_PORT Integer 80 Proxy port
REMARKS
Required fields
Only the URL column is required, all others are optional.
URL syntax
The URL syntax is of the form protocol://user:password@host:port/page. Only the
host part is required. If the CREDENTIALS column is filled, its value will override any such values
included in the URL column.
NAME column
If filled, the service name will be WEB-<NAME>. If left empty, default service name will be WEB-
<URL host>
VHOST column
If left empty, HOSTNAME will be used instead.
PROXY column
The PROXY column syntax is of the form [user:password@]host[:port]. The characters :
and @ must be url-encoded if present in the fields user and password respectively.
Default proxy port is 3128.
The HTTP port must be 443 if a proxy is used. In that case the PORT column is ignored.
METROLOGY
State Output
OK PING OK - Packet loss = 0%, RTA = 20.06 ms (by [Link])
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE WSRPE N.A Mandatory
NAME text N.A Monitoring point name
METROLOGY
State Output
OK OK -
WARNING WARNING -
CRITICAL CRITICAL - statefile X is corrupt
CRITICAL - statefile X is not writable
CRITICAL - statefilesdir X does not exist or is not writable
CRITICAL - connection could not be established within N seconds
UNKNOWN UNKNOWN - X timed out after N seconds
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
TEMPLATE DB2 N.A Mandatory value
NAME text N.A Monitoring point name
USER text N.A User name
PASSWORD text N.A Password
PORT num 50000 Connection port to the server
DATABASE text N.A Mandatory. Database name
MODE text N.A Mandatory. Type of check
WARNING range N.A Warning threshold (see modes)
CRITICAL range N.A Critical threshold (see modes)
TIMEOUT integer 30 Timeout in seconds
MODES
REMARKS
Note: This template may generate different services depending on the choosen mode.
For other methods (and more restricted permissions for the user), refer to the
check_mssql_health plugin readme on ConSol Labs's website.
METROLOGY
The arrays below showing metrology graphs are given as examples only. See remarks in SERVICES
State Output
OK OK - CPU busy 0.00%
State Output
OK OK - database <database> has 99.87% free space left
State Output
OK OK - 0.02 seconds to connect as <user>
REMARKS
ServerName MSSQL_SRV
InstanceName BI_DEV
IsClustered No
Version 10.50.4000.0
tcp 53279
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE MSSQLREPL N.A Mandatory value
USER text N.A User name
PASSWORD text N.A Password
DISTRIBUTOR text N.A. Distributor
PUBLISHER text N.A. Publisher
PUBLICATION text N.A. Publication
DATABASE text N.A Database name
WARNING integer 300 Warning threshold
CRITICAL integer 500 Critical threshold
METROLOGY
State Output
OK OK - <service_name>: 597
WARNING WARNING - <service_name>: 1217
CRITICAL CRITICAL - <service_name>: 3512
CRITICAL - cannot connect to <database>. Access denied for user
<user@address> (using password: YES)
UNKNOWN UNKNOWN: Cannot get informations
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE MYSQL N.A Mandatory value
CREDENTIALS text N.A Authentication credential. Generic type
DATABASE text N.A Database name, required for some modes (see
remarks)
MODE text N.A Type of check (see remarks)
WARNING num[%] N.A Warning threshold which format depends on MODE
(see remarks)
CRITICAL num[%] N.A Critical threshold which format depends on MODE
(see remarks)
QUERY SQL query N.A Mandatory if mode is query or sql. The query must
return a single number to be valid
LABEL text N.A. Shortname for query
PORT num 1433 Connection port to the server
Note: A dedicated account should be created for monitoring purposes. This account should be read only
on monitored databases. See details of permission settings below.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Oracle server name, as recorded in HOSTS section
NAME text N.A Optional. Monitoring point name
TEMPLATE ORACLE N.A Mandatory value
DATABASE text N.A Monitored database name. Required with some
specific modes (see remarks)
CREDENTIALS text N.A Authentication credential. Generic type
MODE text See If set, defines a specific monitoring mode. If empty,
remarks switch on deprecated ORACLE mode of previous POM
versions (see remarks)
QUERY Oracle N.A Use only with sql and sql-runtime modes. Note : the
SQL query must return a single number to be valid
syntax
code
Important Note: if no MODE is stated, then the deprecated ORACLE template of previous POM versions
is used. In that case, one may use the following columns:
MODES
If the MODE column value is set, then the new ORACLE template is used and its behavior depends
on the MODE value. All values are listed below.
MODE WARNING CRITICAL Description
tnsping Check the reachability of the server
connection-time 1 2 Time to connect to the server
password-expiration 30 15 Check the password expiry date for
users
connected-users 50 100 Number of currently connected users
session-usage 80 95 Percentage of sessions used
process-usage 80 95 Percentage of processes used
rman-backup-problems 1 2 Number of rman backup errors
during the last 3 days
sga-data-buffer-hit-ratio 98: 95: Data Buffer Cache Hit Ratio
sga-library-cache-gethit-ratio 98: 95: Library Cache Get Hit Ratio
sga-library-cache-pinhit-ratio 98: 95: Library Cache Pin Hit Ratio
sga-library-cache-reloads 10 100 Library Cache Reload and
Invalidation Rate
sga-dictionary-cache-hit-ratio 95: 90: Dictionary Cache Hit Ratio
sga-latches-hit-ratio 98: 95: Latches Hit Ratio
sga-shared-pool-reload-ratio 1 10 Shared Pool Reloads vs. Pins
sga-shared-pool-free 10: 5: Shared Pool Free Memory
pga-in-memory-sort-ratio 99: 90: PGA in-memory sort ratio
invalid-objects 0 0 Number of invalid objects in
database
Notes:
old SID status is provided with connection-time mode
old TBS value is provided with tablespace-usage mode
old MEM value has no equivalent
list-* modes are for information only, not for monitoring purposes
In the example above, we define a precise tablespace, TS1, that we want to monitor.
In the example below, we instead declare ALL tablespaces EXCEPT TS3 and TS4, using a negative
lookahead regular expression in the TABLESPACE column:
HOSTNAME TEMPLATE NAME DATABASE MODE WARNING CRITICAL CREDENTIALS TABLESPACE
dc-01 ORACLE all Preprod tablespace-usage 70% 80% cred-gen-01 re/^(?!TS3|TS4)/
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Machine name
NAME text N.A Monitoring point name
TEMPLATE POSTGRESQL N.A Mandatory value
CREDENTIALS text N.A Authentication credential. Generic type
DATABASE text N.A Database name, required for some modes (see
remarks)
MODE text N.A Type of check (see remarks)
WARNING num[%] N.A Warning threshold which format depends on
MODE (see remarks)
CRITICAL num[%] N.A Critical threshold which format depends on MODE
(see remarks)
PORT num 5432 Connection port to the server
MODES
MODE WARNING CRITICAL Description
archive_ready 10 15 Check the number of WAL files ready in
the pg_xlog/archive_status
autovac_freeze 90% 95% Checks how close databases are to
autovacuum_freeze_max_age.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
NAME text N.A Monitoring point name
TEMPLATE AD N.A Mandatory
DOMAIN_NAME text N.A Mandatory. Domain name
CREDENTIALS text N.A Optional. As defined in Authentication menu of the
web interface configuration. See remarks
LDAP text N.A LDAP. Only one of these four parameters can be
LDAP_AUTH text N.A used, all others must be set to nomon. When in
LDAP_AUTH_SSL text N.A doubt, use LDAP_AUTH, which should work on any
LDAP_AUTH_TLS text N.A AD.
DNS_INTERNAL text N.A LAN DNS server – Syntax:
<dns_server_name>=<expected_ip>/<warn_time>/<cri
t_time>
Time in milliseconds
DNS_EXTERNAL text N.A Remote DNS server – Syntax:
<dns_server_name>=<expected_ip>/<warn_time>/<cri
t_time>
Time in milliseconds
DHCP_* text N.A Syntax: <mac address>[=<ip>]
FSMO_ROLES text N.A FSMO roles
REPLSUM text N.A Replication state
SYSVOL_SHARED text N.A SYSVOL shared volumes
NTP text N.A NTP server address (to obtain clock offset)
REMARKS
CREDENTIALS column
Credentials must be of the type generic. Moreover, in order for the LDAP-AUTH check to work
properly, login must comply to the syntax login@[Link]
If FSMO_ROLES and/or REPLSUM are used, chosen credentials must have admin permissions.
METROLOGY
State Output
OK OK
CRITICAL CRITICAL - Alarm [X] triggered
UNKNOWN UNKNOWN - No alarm found
UNKNOWN - Alarm [X] not found
UNKNOWN - Insufficient data for alarm [X]
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE AWS-ALARM N.A Mandatory
NAME text N.A Local alarm (monitoring point) name
ALARM text N.A Remote alarm name
TIMEOUT integer 5 Seconds before connection times out
Get the estimated charges from an account on AWS (Amazon Web Services)
Important note: on the day this Admin Guide is released, the AWS-BILLING template seems to apply
only for virtual infrastructures located on AWS's Virginia (VA, US) servers.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE AWS-BILLING N.A Mandatory
NAME text N.A Monitoring point name
WARNING integer N.A Warning threshold ($)
CRITICAL integer N.A Critical threshold ($)
TIMEOUT integer 5 Seconds before connection times out
METROLOGY
State Output
OK OK - Last successful sync was N minutes ago
WARNING WARNING - Last successful sync was N minutes ago
CRITICAL CRITICAL - **Last successful sync was N minutes ago, last sync attempt
was not successful**
CRITICAL - **Last sync was successful but was N minutes ago**
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE DC-SYNC N.A Mandatory
NAME text N.A Monitoring point name
CREDENTIALS text N.A Authentication credential. WMI type
WARNING integer N.A Warning threshold – min since last successful sync
CRITICAL integer N.A Critical threshold – min since last successful sync
TIMEOUT integer 5 Seconds before connection times out
SERVICES SECTION
Column Format Def. val. Comment
CPU w%/c% N.A Usage percentage thresholds for the CPUs of all
ESXs monitored by the V-Center
MEM w%/c% N.A Memory usage percentage thresholds of all ESXs
monitored by the V-Center
CONFIG text N.A Configuration info
CREDENTIALS text N.A Authentication credential. ESX type
SERVICES SECTION
Column Format Def. Comment
val.
HOSTNAME text N.A Device name
NAME text N.A Monitoring point name
TEMPLATE ESX_SNAPSHOTS N.A Mandatory value
MODE {age,count} N.A Mandatory.
age: alerts on snapshot age. It also shows the
number of snapshots that raised the alert and their
name.
count: alerts on the number of snapshot found.
WARNING integer N.A Mandatory.
If MODE is age then units are days.
If MODE is count then units are the number of
snapshot found.
CRITICAL integer N.A Mandatory.
If MODE is age then units are days.
If MODE is count then units are the number of
snapshot found.
CREDENTIALS text N.A Optional. Connection account registered on
VCenter or on ESX. Credential type must be ESX
INCLUDE text/regex .* Optional. Regular expression describing snapshot
names to include. Default: all.
EXCLUDE text/regex ^$ Optional. Regular expression describing snapshot
names to include. Default: none.
SERVICES SECTION
Column Format Def. val. Comment
CPU w%/c% N.A Usage percentage thresholds for the CPUs of all
ESXs monitored by the V-Center
MEM w%/c% N.A Memory usage percentage thresholds of all ESXs
monitored by the V-Center
VMFS See examples N.A VMFS usage percentage thresholds for all ESXs
monitored by the V-Center
IO See examples N.A Usage of IO (kernel, device and queue), in
milliseconds
CONFIG text N.A Configuration info
DISK-LATENCY w/c N.A Disk drive latency thresholds (in milliseconds) for
all ESXs monitored by the V-Center
CREDENTIALS text N.A Authentication credential. ESX type
METROLOGY
State Output
OK LICENSE OK
CRITICAL LICENSE CRITICAL: Could not execute /opt/pom/bin/display-license
>> Said file is missing or corrupted
LICENSE CRITICAL: Could not access to the license
>> License file is missing or corrupted
UNKNOWN LICENSE UNKNOWN: Failed to get current time
>> POM server time settings problem
LICENSE UNKNOWN: Failed to get license time
>> License file is missing or corrupted
METROLOGY
State Output
OK OK - [SERVICE] is operational
WARNING WARNING - **[SERVICE] is in a warning state**
CRITICAL CRITICAL - **[SERVICE] is in a critical state**
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE OFFICE365 N.A Mandatory
NAME text N.A Monitoring point name
USER text N.A User name
PASSWORD text N.A Password
WARNING integer N.A Warning threshold (milliseconds)
CRITICAL integer N.A Critical threshold (milliseconds)
CACHE_AGE integer 10 Maximum age of cache
MODE text N.A. Mode. Either time, service or license
SERVICE_NAME text N.A. Service to look for
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE POM-DISCOVERY N.A Mandatory
NAME text N.A Monitoring point name
TYPE text N.A Host type (possible values are names of host
templates)
NETWORK text N.A Limit the monitoring to a precise network list
WARNING integer 0 Warning threshold
CRITICAL integer 0 Critical threshold
METROLOGY
State Output
OK OK, backup not terminated since D
CRITICAL CRITICAL, report is broken
CRITICAL, backup not terminated since D
CRITICAL, NOT ENDED
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Server name as given in the HOSTS section
TEMPLATE ROBOCOPY N.A Mandatory value
NAME text N.A Optional. Monitoring point name
USER text N.A User name
PASSWORD text N.A Password
SHARE text N.A Network share
INSTANCE text N.A Backup instance
MAXTIME time 1d Max time from end
This template is designed to refer to a scenario script to run on a given URL. The scenario should
exist in the directory /etc/pom/scenarios.
POM MonitoringTM provides a plugin to help writing a web scenario (check_scenario).
For more info on scenario writing, see HOW-TO: MONITORING ADMINISTRATION – Setting up scenarios
METROLOGY
State Output
OK WEB-SCENARIO OK - Expected values OK
CRITICAL WEB-SCENARIO CRITICAL - File not found <file>
UNKNOWN WEB-SCENARIO UNKNOWN - Error parsing date: <date>
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Server name as given in the HOSTS section
NAME text N.A Optional. Monitoring point name
TEMPLATE SCENARIO N.A Mandatory value
SCENARIO text N.A Mandatory. scenario filename without .scn extension
URL url N.A Mandatory. URL to which the scenario is applied
OPTION text N.A Optional. If set to "no-host", the browsing will not
originate from the defined host.
Important note: this template only monitors scheduled jobs that were created using either the AT
command line or the WMI console. Scheduled jobs created using the scheduled job assistant will NOT be
monitored by this template
METROLOGY
State Output
OK SCHEDULED-JOB OK: All scheduled jobs are OK
WARNING SCHEDULED-JOB WARNING: Failing jobs
>> Said job is failing to execute
SCHEDULED-JOB WARNING: Status null for jobs
>> Job declaration in spreadsheet file is likely incorrect
CRITICAL SCHEDULED-JOB CRITICAL: Last execution failed
>> Said job failed to execute on last attempt
SCHEDULED-JOB CRITICAL: Job(s) not found
>> Job was removed from host or wrongly declared in spreadsheet file
SCHEDULED-JOB CRITICAL: Jobs in error
SCHEDULED-JOB CRITICAL: No scheduled jobs found
UNKNOWN SCHEDULED-JOB UNKNOWN: Jobs with unknown status
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE SCHEDULED-JOB N.A Mandatory
NAME text N.A Monitoring point name
TIMEOUT integer
REMARKS
Authentication credentials
If authentication is required, you must add a CREDENTIALS column in the HOSTS section that
corresponds to the HOSTNAME. Credential must be of WMI type.
As this CREDENTIALS column only stands for MS_USER and MS_PASSWORD, you must also add an
MS-WORKGROUP column in the same HOSTS section.
METROLOGY
State Output
OK Disk ok - 72.1G (88%) free on \\[Link]\My_share
WARNING WARNING: Only 22.1G (15%) free on \\[Link]\My_share
CRITICAL CRITICAL: Only 7.1G (8%) free on \\[Link]\My_share Access Denied
>> Permissions problem on shared folder
HOSTS SECTION
Column Format Def. val. Comment
CREDENTIALS text N.A Authentication credential. WMI type
METROLOGY
State Output
OK OK - Number of files: N
WARNING WARNING - Number of files: N
CRITICAL CRITICAL - **No file found**
CRITICAL - Number of files: N
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device names
TEMPLATE SMB-DIR N.A Mandatory
NAME text N.A Monitoring point name
SHARE text N.A SMB share name
CREDENTIALS text N.A Authentication credential. Generic type
DIRECTORY text . Folder in the share
MODE text N.A See Modes
TOP integer 3 Top N files. See remarks
NO-EMPTY boolean 1 Set behaviour if no file found.
0 for OK, 1 for CRITICAL
WARNING integer Depends on Mode See Modes
CRITICAL integer Depends on Mode See Modes
MASK grep N.A. Describes files to be filtered
MODES
MODE Comment Syntax Def. WARN Def. CRIT Example
age Age of a file dhms 2h 5h 5d 10h 1d 6h
count Number of files Integer 5 10 24
size Size of a file KMGTP 513M
newest Age of the most recent file found dhms 2d 5h 5d 10h 1d 6h
oldest Age of the oldest file found dhms 2d 5h 5d 10h 1d 6h
smallest Size of the smallest file found KMGTP 513M
biggest Size of the biggest file found KMGTP 513M
REMARKS
TOP column
When TOP column is used in combination with the count mode, if TOP is set to -1, WARNING and
CRITICAL thresholds are set to 0.
METROLOGY
State Output
OK SVC OK: Server DNS is active, Server DNS: 1
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE SVC N.A Mandatory
NAME text N.A Monitoring point name
SERVICE_NAME text N.A Service name. “*” wildcard available
RETRY integer 2 Number of retries to be used in the requests
TIMEOUT integer 2 Seconds before connection times out
REMARKS
Service list may be generated by POM with the list-snmp-winsvc command line tool.
SERVICES SECTION
Column Format Def. val. Comment
HOSTNAME text N.A Device name
TEMPLATE WINEXE N.A Mandatory
NAME text N.A Monitoring point name
USER text N.A (Domain and) User name. See remarks
PASSWORD text N.A Password
COMMAND text N.A Command to launch the application
TIMEOUT integer 30 Seconds before connection times out
REMARKS
Domain
In case a domain name is required for authentication, you can use the following syntax in a USER
column: DOMAIN\USER
Note that this is the syntax used when defining a credential that requires domain authentication
See WEB INTERFACE CONFIGURATION: Credentials
Note: The target server must have an X.509 certificate configured on the requested port.
METROLOGY
State Output
OK OK - Certificate [Link] will expire on 01/30/2014 14:10.
>> The certificate named [Link] is still valid and will expire on
01/30/2014 14:10
WARNING WARNING - Certificate [Link] expires in 288 day(s) (01/30/2014
14:10).
>> The certificate named ''[Link]'' is still valid and will expire in
288 days
Alert on number of days left
CRITICAL Connection refused
>> Unable to connect to the server via SSL
REMARKS
VHOST column
Required if the server certificate shown in HTTP header is different than the registered one, or if a
proxy server is used. If VHOST is set, the request is sent directly to that VHOST instead of the
PROXY column
The PROXY column syntax is of the form [user:password@]host[:port]. The characters :
and @ must be url-encoded if present in the fields user and password respectively.
Default proxy port is 3128.
The HTTP port must be 443 if a proxy is used. In that case the PORT column is ignored.
506
APPENDIX A: PLUGINS & CHECK COMMANDS
OVERVIEW
This appendix will take you through the tools used by POM’s monitoring system and how they
interlock with each other, in order to let you create and customize, step by step, your own
monitoring tools.
PLUGINS
Are the basic building blocks of monitoring in the POM system
CHECK COMMANDS
Define how a plugin is called in a particular context
OVERVIEW
507
APPENDIX A: PLUGINS & CHECK COMMANDS
PLUGINS
Plugins are the basic building blocks of monitoring in the POM system
They are compiled executables or scripts (Perl, shell, etc.) that do the basic work of checking the
status of a service or host and returning the result.
As such, they bear a formatted name of the form check_xxx, where “xxx” is usually an explicit
short name for the check that will be performed by the plugin (e.g.: check_imap or check_ssh).
Note: to instantly distinguish between plugins and the corresponding check commands, take notice of
the separation characters used in the filenames:
HELP ON PLUGINS
Most plugins come with a help page, that you can display by launching the plugin with the
argument --help or simply -h
The help page will usually give you information on the plugin version, author and maintainer, an
exhaustive list of available options and some usage examples.
PLUGINS
509
POMCC: CLI LAUNCHED BY NAGIOS/NAEMON FOR A SERVICE
To know which command is used for a service on an equipment, the command pomcc will be very
useful to you.
pomcc usage:
pomcc [-cdrHSDh] [--] HOST [SVC]
Example:
pomcc -S dummy temp
check-snmp-netapp-cluster
$USER2$/check_snmp_netapp_cluster -H '$HOSTADDRESS$' -p $_HOSTBASH_SNMP_PORT$ -P
$_HOSTBASH_SNMP_VERSION$ -C $_HOSTBASH_SNMP_COMMUNITY$ -L $_HOSTBASH_SNMP_SEC_LEVEL$ -U
$_HOSTBASH_SNMP_SEC_NAME$ -a $_HOSTBASH_SNMP_AUTH_PROTOCOL$ -A
$_HOSTBASH_SNMP_AUTH_PASSWORD$ -x $_HOSTBASH_SNMP_PRIV_PROTOCOL$ -X
$_HOSTBASH_SNMP_PRIV_PASSWORD$ -w $_SERVICEBASH_WARNING$ -c $_SERVICEBASH_CRITICAL$ -m
$_SERVICEBASH_MODE$ -e $_SERVICEBASH_RETRY$ -t $_SERVICEBASH_TIMEOUT$
sudo -u nagios /opt/pom/plugins/check_snmp_netapp_cluster -H '[Link]' -p '161' -P
'2c' -C 'public' -L 'authPriv' -U 'admin' -a 'MD5' -A 'pompassword' -x 'DES' -X
'pomsecret' -w $ -c $ -m 'TEMP' -e '2' -t '2'
510
APPENDIX A: PLUGINS & CHECK COMMANDS
LOCATION OF PLUGINS IN THE POM SYSTEM
The various plugins used by POM are installed in three separate directories, depending on their
respective origin.
These directories are specified in the /etc/nagios/[Link] file when configuring POM,
and can be used in check commands with the macros $USER1$, $USER2$ and $USER3$
[admin@pom ~]$ cat /etc/nagios/[Link]
$USER1$=/usr/lib64/nagios/plugins
$USER2$=/opt/pom/plugins
$USER3$=/etc/pom/local/plugins
$USER4$=/etc/pom/scenarios
PLUGINS
$USER8$=!
$USER9$=;
511
ADDING & CREATING PLUGINS
DEDICATED DIRECTORY
Any plugin you add to POM should be installed in the dedicated directory, corresponding to the
macro $USER3$ ( located by default at /etc/pom/local/plugins ). Plugins in this directory
should also be executable by any user.
512
APPENDIX A: PLUGINS & CHECK COMMANDS
USING A PLUGIN
First of all, to know the available commands for the plugin, run it with the option -h (help)
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -h
You will see that a host (argument -H) and an OID (argument -o) are required.
If we want to check, for example, the host [Link] and the OID .[Link].[Link].[Link], we use
the following command:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].[Link]"
SNMP OK: snmp: 3.72M|'snmp'=3729134;;;;
PLUGINS
This command line is equivalent to the following use of a template in the spreadsheet file:
In the HOSTS section (the whole HOSTS section configuration will be implicit in following examples)
SITE TEMPLATE IP NAME
MYSITE LINUX [Link] srv01
In the SERVICES section: SNMP service template (these columns will be implicit in following examples)
HOSTNAME TEMPLATE NAME OID
srv01 SNMP SNMP [Link].[Link].[Link]
Our OID corresponds to a subtree rather than a branch, and contains labels, disk names, values,
etc... To better use the plugin, we therefore:
use the option --subtree 1 that will specify our OID is a subtree
define an SNMP version (argument -P) and a community (argument -C)
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -P 2C -C public --subtree 1
SNMP OK: snmp_1: 3.72M, snmp_2: 2.13M, snmp_3: 18.87k, snmp_4:
8.09k|'snmp_1'=3729166;;;; 'snmp_2'=2138833;;;; 'snmp_3'=18876;;;; 'snmp_4'=8093;;;;
Spreasheet file equivalent for the subtree option in a SERVICES section:
... SUBTREE
... 1
513
The result is not easily readable, because the labels used are generic. We add to our command the
labels OID with the argument --label-oid:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -P 2C -C public --subtree 1 --label-oid
".[Link].[Link].3.1.3"
SNMP OK: C:\\ Label: Serial Number e8b54908: 3.72M, D:\\ Label:ENU Serial Number
43c5e6b9: 2.13M, Virtual Memory: 18.87k, Physical Memory: 8.09k|'C:\\ Label: Serial
Number e8b54908'=3729166;;;; 'D:\\ Label:ENU Serial Number 43c5e6b9'=2138833;;;;
'Virtual Memory'=18875;;;; 'Physical Memory'=8098;;;;
Spreadsheet file equivalent:
... LABEL-OID
... [Link].[Link].[Link]
We are only interested in the "Physical Memory" and "Virtual Memory" informations. We add a filter
to our command, using the argument -i, that supports wilcards like *:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -P 2C -C public --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory"
SNMP OK: Virtual Memory: 18.92k, Physical Memory: 8.12k|'Virtual Memory'=18920;;;;
'Physical Memory'=8123;;;;
Spreadsheet file equivalent:
... MATCH_INDEX
... *Memory
The values are not displayed in the correct unit. We add the argument --mult-oid which will
point to the multiplicators table OID:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -C public -P 2C --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory" --mult-oid ".[Link].[Link].3.1.4"
SNMP OK: Virtual Memory: 1.23G, Physical Memory: 532.15M|'Virtual Memory'=1239351296;;;;
'Physical Memory'=532152320;;;;
Spreadsheet file equivalent:
... MULT-OID
... [Link].[Link].3.1.4
We also want to display unit names. As we are looking at Bytes, we add the argument --uom B:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -C public -P 2C --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory" --mult-oid ".[Link].[Link].3.1.4" --uom 'B'
SNMP OK: Virtual Memory: 1.23GB, Physical Memory: 531.36MB|'Virtual
Memory'=1238106112B;;;; 'Physical Memory'=531365888B;;;;
Spreadsheet file equivalent:
... UOM
... B
514
APPENDIX A: PLUGINS & CHECK COMMANDS
As we are looking at Bytes, the multiplicator will be a binary 1024 rather than the decimal 1000
used by default.
To modify our command accordingly, we use the boolean argument --binary-prefix 1:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -C public -P 2C --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory" --mult-oid ".[Link].[Link].3.1.4" --uom 'B' --
binary-prefix 1
SNMP OK: Virtual Memory: 1.15GB, Physical Memory: 504.68MB|'Virtual
Memory'=1236598784B;;;; 'Physical Memory'=529203200B;;;;
Spreadsheet file equivalent:
... BINARY-PREFIX
... 1
We also would like to display our values as percentages. For these percentages to be correctly
calculated, we add the maximum values OID, using the argument --max-oid:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -C public -P 2C --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory" --mult-oid ".[Link].[Link].3.1.4" --uom 'B' --
binary-prefix 1 --max-oid ".[Link].[Link].3.1.5"
SNMP OK: Virtual Memory: 1.15GB (57.71%), Physical Memory: 506.81MB (49.52%)|'Virtual
Memory'=1239154688B;;;;2146893824 'Physical Memory'=531431424B;;;;1073152000
Spreadsheet file equivalent:
... MAX-OID
... [Link].[Link].3.1.5
PLUGINS
Our thresholds are displayed as "multi"-type values. In the result of our check, the first value stands
for virtual memory, and the second one stands for physical memory.
We can define different thresholds for these two different values by using, for example, the
argument -w '50%,55%' (WARNING threshold is 50% for virtual memory and 55% for physical
memory) and -c '70%,75%'.
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -C public -P 2C --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory" --mult-oid ".[Link].[Link].3.1.4" --uom 'B' --
binary-prefix 1 --max-oid ".[Link].[Link].3.1.5" -w '50%,55%' -c '70%,75%'
SNMP WARNING: **Virtual Memory: 1.15GB (57.67%)**, Physical Memory: 506.56MB
(49.49%)|'Virtual Memory'=1238237184B;1073446912.00;1502825676.80;;2146893824 'Physical
Memory'=531169280B;536576000.00;751206400.00;;1073152000
Spreadsheet file equivalent:
... WARNING CRITICAL
... 50%,55% 70%,75%
Note: to set global thresholds for our two memory values, we could simply use the -w and -c argument
with only one percentage each, that would then be applied to all corresponding thresholds. As an
example, -w '50%' -c '70%' would set all WARNING thresholds to 50% and all CRITICAL
thresholds to 70%.
515
Finally, we can replace the default "SNMP" check name at the start of our output line by a more
adequate name, using the argument -n:
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -C public -P 2C --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory" --mult-oid ".[Link].[Link].3.1.4" --uom 'B' --
binary-prefix 1 --max-oid ".[Link].[Link].3.1.5" -w '50%,55%' -c '70%,75%' -n 'MEM'
MEM WARNING: **Virtual Memory: 1.15GB (57.67%)**, Physical Memory: 506.56MB
(49.49%)|'Virtual Memory'=1238237184B;1073446912.00;1502825676.80;;2146893824 'Physical
Memory'=531169280B;536576000.00;751206400.00;;1073152000
Spreadsheet file equivalent (replacement of previous value for mandatory column NAME):
... NAME
... MEM
Cache ID
POM will create a cache for every plugin command you use. By default, the cache directory name
will be the full command, replacing non-alphanumeric characters with underscores.
If your command is too long, the script will fail due to the unnecessary long directory name.
It is therefore good practice to force POM using a short name for the cache, by adding a cache ID
(argument -I) to your command (here, the ID will be cache):
[root@pomsrv ~]# /opt/pom/plugins/check_snmp_perfdata -H [Link] -o
".[Link].[Link].3.1.6" -C public -P 2C --subtree 1 --label-oid
".[Link].[Link].3.1.3" -i "*Memory" --mult-oid ".[Link].[Link].3.1.4" --uom 'B' --
binary-prefix 1 --max-oid ".[Link].[Link].3.1.5" -w '50%,55%' -c '70%,75%' -n 'MEM'
-I cache
MEM WARNING: **Virtual Memory: 1.15GB (57.67%)**, Physical Memory: 506.56MB
(49.49%)|'Virtual Memory'=1238237184B;1073446912.00;1502825676.80;;2146893824 'Physical
Memory'=531169280B;536576000.00;751206400.00;;1073152000
This option is unused in the spreadsheet file, as a unique OID corresponding to POM is already defined
in the template's check_command
Please remember that the examples presented here only apply for very specific and advanced uses of
plugins. The templates we provide are intended to simplify your monitoring as far as possible, by
preventing the manual use of such complex command lines.
516
APPENDIX A: PLUGINS & CHECK COMMANDS
DEFAULT PLUGINS
PLUGINS
check-http-auth-expect
check-http-auth-expect-vhost
check-http-auth-expect-vhost-only
check-http-auth-vhost
check-http-auth-vhost-only
check-http-expect
check-http-expect-vhost
check-http-expect-vhost-only
check-https check-https-auth
check-https-auth-expect
check-https-auth-expect-vhost
check-https-auth-expect-vhost-only
check-https-auth-vhost
check-https-auth-vhost-only
check-https-expect
check-https-expect-return
check-https-expect-vhost
check-https-expect-vhost-only
check-https-hdr
check-https-vhost
check-https-vhost-only
check-http-vhost
check-http-vhost-only
check-http-x509
check-http-x509-vhost
check-http-x509-vhost-only
check-http-x509-vhost-proxy
check-http-x509-vhost-proxy-auth
517
Plugin name Check target Additional info Related check commands
check_imap IMAP connectivity check-imap
check-imap-ssl
check_jmx4perl JMX attribute values on check-jmx
remote Java server check-jmx-alias
check-jmx-alias-base
check-jmx-args
check-jmx-auth
check-jmx-auth-args
check-jmx-mbean-attr-string
check-jmx-mbean-attr-string-path
check-jmx-mbean-attr-unit
check-jmx-mbean-attr-unit-delta
check_ldap LDAP check-ldap
check-ldap-auth
check-ldap-auth-ssl
check-ldap-auth-tls
check-ldap-ssl
check-ldap-tls
check_nrpe NRPE v2.15 check-nrpe
Dev. by Ethan Galstad check-nrpe-args
check-nrpe-args-nossl
check-nrpe-daemon
check-nrpe-nossl
check-nrpe-wc
check-nrpe-wca
check-nrpe-wca-nossl
check-nrpe-wc-nossl
check_ntp_peer NTP server check-ntp-peer
check_ntp_time NTP clock offset check-ntp-time
check_openmanage Dell server (via OpenManage) v3.7.12 check-snmp-openmanage
Dev. by T.H. Amundsen check-snmp-openmanage-only
[Link]@[Link] check-snmp-openmanage-temp
check_ping Connectivity with remote host check-ping
check-ping-address
check_pop POP connectivity check-pop
check-pop-ssl
check_radius RADIUS server connectivity check-radius
check_smtp SMTP connectivity check-smtp
check-smtp-auth
check-smtp-auth-tls
check-smtp-tls
check_snmp Status & info of remote host check-snmp-generic
(via SNMP) check-snmp-hpfan
check_ssh SSH server connectivity check-ssh
check-ssh-version
check_tcp TCP connectivity check-tcp
check-tcp-expect
check-tcp-expectquit
check-tcp-quit
check-tcp-sendexpect
check-tcp-sendexpectquit
518
APPENDIX A: PLUGINS & CHECK COMMANDS
USER1 PLUGINS – UNUSED BY POM DEFAULT CHECK COMMANDS
The following plugins, although installed by default on your POM system, are not used by POM’s
default check commands. You can choose to call them when creating a new check command, using
the macro $USER1$.
See Adding & Creating a New Check Command
NPDT plugins
/usr/lib64/nagios/plugins
Like plugins in the previous table, relevant info for all these plugins is as follows:
Version 1.4.16
Developer Nagios Plugin Development Team
Maintainer contact nagiosplug-devel@[Link]
NPDT plugins check_hpjd check_mysql check_real
check_apt check_icmp check_mysql_query check_rpc
check_breeze check_ide_smart check_nagios check_sensors
check_by_ssh check_ifoperstatus check_nntp check_simap
check_clamd check_ifstatus check_nntps check_spop
check_cluster check_ircd check_nt check_ssmtp
check_disk check_jabber check_ntp check_swap
check_dns check_load check_nwstat check_time
check_file_age check_log check_oracle check_udp
check_flexlm check_mailq check_overcr check_ups
check_fping check_mrtg check_pgsql check_users
check_game check_mrtgtraf check_procs check_wave
Contribution plugins
PLUGINS
/usr/lib64/nagios/plugins/contrib
These plugins have been developed by the Nagios community. To get info on each plugin, simply
run it with the --help or -h (help) argument:
Contribution plugins check_ica_master_browser.pl check_oracle_tbs
check_adptraid.sh check_ica_metaframe_pub_apps.pl check_pcpmetric.py
check_apache.pl check_ica_program_neigbourhood.pl check_pcpmetric.pyc
check_apc_ups.pl check_inodes-[Link] check_pfstate
check_appletalk.pl check_inodes.pl check_qmailq.pl
check_arping.pl check_javaproc.pl check_remote_nagios_status.pl
check_asterisk.pl check_joy.sh check_rrd_data.pl
check_axis.sh check_linux_raid.pl check_sap.sh
check_backup.pl check_lmmon.pl check_smart.pl
check_bgpstate.pl check_log2.pl check_smb.sh
check_breeze.pl check_lotus.pl check_snmp_disk_monitor.pl
check_cluster check_maxchannels.pl check_snmp_printer.pl
check_cluster2 check_maxwanstate.pl check_snmp_process_monitor.pl
check_compaq_insight.pl check_mem.pl check_snmp_procs.pl
check_digitemp.pl check_ms_spooler.pl check_sockets.pl
check_dlswcircuit.pl check_mssql.sh check_temp_cpq
check_dns_random.pl check_nagios.pl check_temp_fsc
check_email_loop.pl check_nagios_db.pl check_timeout
check_fan_cpq_present check_nagios_db_pg.pl check_traceroute-pure_perl.pl
check_fan_fsc_present check_netapp.pl check_traceroute.pl
check_flexlm.pl check_nmap.py check_vcs.pl
check_frontpage check_nmap.pyc check_wave.pl
check_hprsc.pl check_ora_table_space.pl check_wins.pl
check_hw.sh check_oracle_instance.pl
519
APPENDIX A: PLUGINS & CHECK COMMANDS
USER2 PLUGINS – USED BY POM DEFAULT CHECK COMMANDS
These are the plugins specifically developed and/or customized by POM MonitoringTM, that are
used by POM’s default check commands.
You can also call them when creating a new check command, using the macro $USER2$.
See Adding & Creating a New Check Command
By default, they can be found in the following directory:
/opt/pom/plugins
Unless otherwise specified, relevant info for all these plugins is as follows:
Version 1.0
Developed by POM MonitoringTM
Maintainer contact cpeuvrel@[Link]
Plugin name Check target Add. info Related check commands
check_as400 IBM AS/400 server check-as400
check-as400-option
check-as400-sbs-name
check-as400-wc
check_bw_wsmb.sh Download (via smbclient) check-bw-smb
check_curl HTTP return codes & statistics check-curl
check-curl-hostname
check-curl-proxy
check_db2_health DB2 database ConSol Labs check-db2
check_event EVENT service state check-event
check_filecount Number of files in directory check-filecount
check_ftp_age File age (via FTP) check-ftp-age
check-ftp-age-auth
check_google_analytics Google Analytics info check-google-analytics
check_host Host reachability check-host
check_hpasm HP Proliant server v4.6.3.2 check-snmp-hpasm
ConSol Labs
check_http_hp_p2000 HP P2000 array health check-http-hp-p2000
check_livestatus_freshness Freshness of host/service check-livestatus-freshness-host
check-livestatus-freshness-svc
PLUGINS
check_meta_cause Services state check-meta-cause
(via Mklivestatus) handler-meta
check_mssql_health MSSQL database health ConSol Labs check-mssql
check-mssql-db
check-mssql-query
check_mssql_replmon MSSQL db replication monitor check-mssql-replmon
check-mssql-replmon-self
check_mysql_health MySQL database health ConSol Labs check-mysql
check-mysql-query
check_nagios_health Nagios platform health check-nagios-health
check_netapp3.pl NetApp system status v3.0 check-snmp-netapp
James Beal
check_office365 Office 365 connectivity check-office365
check_oracle_health Oracle database health ConSol Labs check-oracle-health
check-oracle-health-noarg
check-oracle-health-re
check-oracle-health-tnsping
check_oracle_mem Oracle db memory usage check-oracle-mem
check_oracle_sid Oracle database system ID check-oracle-sid
check_oracle_tb Oracle database table check-oracle-tb
check_pom_discovery POM Discovery tool state check-pom-discovery
520
APPENDIX A: PLUGINS & CHECK COMMANDS
Plugin name Check target Add. info Related check commands
check_pom_license POM license validity check-pom-license
check_pomklive Services state (via pomklive) check-pomklive
check_postgres PostgreSQL database health v2.21.0 check-postgresql
Bucardo check-postgresql-c
check-postgresql-w
check-postgresql-wc
check-postgresql-wc-query
check-postgresql-wc-queryname
check_replay Replay a service current status check-replay
check_scenario Web scenario check-scenario-user
check-scenario-user-nohost
check_sftp SFTP check-sftp
check_smb_dir SMB directory check-smb-dir
check_smb_robocopy SMB robocopy check-smb-robocopy
check_smtp_receive SMTP reception statistics check-smtp-receive
check_snmp_alcatel_pbx Alcatel PBX phone status check-snmp-alcatel-pbx
(via SNMP)
check_snmp_alive SNMP description v0.4 check-snmp-alive
check_snmp_aloha Aloha load balancer state check-snmp-aloha
(via SNMP)
check_snmp_aruba Aruba access points users check-snmp-aruba
number (via SNMP)
check_snmp_barracuda_disk Barracuda firewall disk usage check-snmp-barracuda-disk
(via SNMP)
check_snmp_barracuda_hardware Barracuda firewall hardware check-snmp-barracuda-hardware
info (via SNMP)
check_snmp_barracuda_latency Barracuda firewall average check-snmp-barracuda-latency
email latency (via SNMP)
check_snmp_barracuda_messages Barracuda firewall messages check-snmp-barracuda-messages
statistics (via SNMP)
check_snmp_barracuda_queue Barracuda firewall queued check-snmp-barracuda-queue
PLUGINS
messages number (via SNMP)
check_snmp_bgp BGP state (via SNMP) check-snmp-bgp
check_snmp_bluecoat_attack Bluecoat proxy attack check-snmp-bluecoat-attack
(via SNMP)
check_snmp_ccmhistory CCM history (via SNMP) check-snmp-ccmhistory
check_snmp_checkpoint Checkpoint firewall status check-snmp-checkpoint
(via SNMP)
check_snmp_ciscochassis Cisco Chassis status check-snmp-ciscochassis
(via SNMP)
check_snmp_colubris_device_load Colubris network device load check-snmp-colubris-device-load
(via SNMP)
check_snmp_counter Network protocols usage check-snmp-counter
(via SNMP)
check_snmp_cpu CPU usage (via SNMP) check-snmp-cpu
check_snmp_cpu_linux CPU usage on Linux host check-snmp-cpu-linux
(via SNMP)
check_snmp_date Host date (via SNMP) check-snmp-date
check_snmp_disk Disk usage (via SNMP) v0.1 check-snmp-disk
check_snmp_disk_io Disk IO info (via SNMP) check-snmp-disk-io
check_snmp_hwg hwgroup device info check-snmp-hwg
(via SNMP)
check_snmp_ibm_bladecenter IBM Bladecenter status v1.0 check-snmp-ibm-bladecenter
(via SNMP) Eric Schultz
check_snmp_iface Network usage (via SNMP) check-snmp-iface
check-snmp-iface-via
check_snmp_iferror Network errors number check-snmp-iferror
(via SNMP)
check_snmp_juniper Juniper network switch status check-snmp-juniper
521
Plugin name Check target Add. info Related check commands
(via SNMP)
check_snmp_load CPU load (via SNMP) check-snmp-load
check_snmp_loop Loop detection alert check-snmp-loop
(via SNMP)
check_snmp_mem Memory usage (via SNMP) check-snmp-mem
check_snmp_nb_process Number of running processes check-snmp-nb-process
(via SNMP)
check_snmp_netscaler Citrix NetScaler gateway check-snmp-netscaler
status (via SNMP)
check_snmp_netscaler_counter Citrix NetScaler gateway check-snmp-netscaler-counter
statistics (via SNMP)
check_snmp_netscaler_hardware Citrix NetScaler gateway check-snmp-netscaler-hardware
hardware info (via SNMP)
check_snmp_palo_alto_hardware Palo Alto firewall hardware check-snmp-palo-alto-hardware
info (via SNMP)
check_snmp_palo_alto_netstats Palo Alto firewall network check-snmp-palo-alto-netstats
statistics (via SNMP)
check_snmp_perfdata Perfdata (via SNMP) check-snmp-perfdata
check_snmp_printer_paper Printer paper state (via SNMP) check-snmp-printer-paper
check_snmp_printer_toner Printer toner state (via SNMP) check-snmp-printer-toner
check_snmp_qnap_disk QNAP NAS disk usage check-snmp-qnap-disk
(via SNMP)
check_snmp_qnap_fan QNAP NAS fan info (via SNMP) check-snmp-qnap-fan
check_snmp_qos Quality of service (via SNMP) check-snmp-qos
check_snmp_rip RIP router state (via SNMP) check-snmp-rip
check_snmp_riverbed Riverbed state (via SNMP) check-snmp-riverbed
check_snmp_scangaule Scangaule state (via SNMP) check-snmp-scangaule
check_snmp_sla Service level agreement info check-snmp-sla
(via SNMP)
check_snmp_stonegate Stonegate firewall state check-snmp-stonegate
(via SNMP)
check_snmp_stonegate_cluster Stonegate firewall cluster check-snmp-stonegate-cluster
state (via SNMP)
check_snmp_svc Service state and number of check-snmp-proc
instances (via SNMP) check-snmp-svc
check_snmp_synology Synology NAS info (via SNMP) check-snmp-synology
check_snmp_ups UPS state (via SNMP) check-snmp-ups-apc
check_snmp_ups_apc_galaxy APC Galaxy UPS state check-snmp-ups-apc-galaxy
(via SNMP)
check_snmp_ups_hp HP UPS state (via SNMP) check-snmp-ups-hp
check_snmp_uptime Uptime (via SNMP) check-snmp-uptime
check_snmp_vip Real IP address of a node check-snmp-vip
behind Virtual IP (via SNMP)
check_ssh_date System date (via SSH) check-ssh-date
check_ssh_disk Disk usage (via SSH) check-ssh-disk
check_ssh_errpt Error report (via SSH) check-ssh-errpt
check_ssh_ibm_san IBM SAN info (via SSH) check-ssh-ibm-san
check_ssh_load Load average (via SSH) check-ssh-load
check_ssh_lpstat AIX spool statistics (via SSH) check-ssh-lpstat
check_ssh_mem Memory usage (via SSH) check-ssh-mem
check-ssh-swap
check_ssh_nb_process Number of running processes check-ssh-nb-process
(via SSH)
check_ssh_process_age Process age (via SSH) check-ssh-process-age
check_ssh_svc Service state and number of check-ssh-svc
instances (via SSH)
check_ssh_uptime Uptime (via SSH) check-ssh-uptime
check_vmware_api.pl VMWare API status v0.7.0 check-esxcl-config
op5 check-esxcl-cpu
522
APPENDIX A: PLUGINS & CHECK COMMANDS
Plugin name Check target Add. info Related check commands
check-esxcl-mem
check_vmware_esx_cpu Commands for HOST check-esx-cpu
check_vmware_esx_mem Commands for HOST check-esx-mem
check_vmware_esx_vmfs Commands for HOST check-esx-vmfs
check_vmware_esx_io Commands for HOST check-esx-io
check_vmware_esx_net Commands for HOST check-esx-net
check_vmware_esx_config Commands for HOST check-esx-config
check_vmware_esx_clock Commands for HOST check-esx-clock
check_vmware_esx_uptime Commands for HOST check-esx-uptime
check_vmware_esx_svc Commands for HOST check-esx-svc
check_vmware_esxdc_cpu Commands for DC/VCENTER check-esxdc-cpu
check_vmware_esxdc_mem Commands for DC/VCENTER check-esxdc-mem
check_vmware_esxdc_vmfs Commands for DC/VCENTER check-esxdc-vmfs
check_vmware_esxdc_io Commands for DC/VCENTER check-esxdc-io
check_vmware_esxdc_config Commands for DC/VCENTER check-esxdc-config
check_vmware_snapshots.pl VMWare snapshots info v0.13 check-esx-snapshots
ConSol Labs
check_wbem_alive State (via WBEM) check-wbem-alive
check_wbem_clock Clock offset (via WBEM) check-wbem-clock
check_wbem_cpu CPU state (via WBEM) check-wbem-cpu
check_wbem_disk Disk usage (via WBEM) check-wbem-disk
check_wbem_job Job state (via WBEM) check-wbem-job
check_wbem_nb_job Jobs number (via WBEM) check-wbem-nb-job
check_wbem_network Network usage (via WBEM) check-wbem-network
check_wbem_sbs SBS state (via WBEM) check-wbem-sbs
check_wbem_uptime Uptime (via WBEM) check-wbem-uptime
check_winexe Windows server application check-winexe
check_winexe_cmd Windows server commands check-winexe-cmd
check_winexe_replsum Windows server replication check-winexe-replsum
summary
PLUGINS
check_winexe_updates Windows server updates info check-winexe-updates
check_wmi_clock Clock offset (via WMI) check-wmi-clock
check_wmi_cpu CPU state (via WMI) check-wmi-cpu
check_wmi_ctxlic Citrix license info (via WMI) check-wmi-ctxlic
check_wmi_ctxsess Citrix session info (via WMI) check-wmi-ctxsess
check_wmi_disk Disk usage (via WMI) check-wmi-disk
check_wmi_hyperv Hyper-V virtualization state check-wmi-hyperv
(via WMI)
check_wmi_mem Memory usage (via WMI) check-wmi-mem
check_wmi_nb_process Number of running processes check-wmi-nb-process
(via WMI)
check_wmi_network Network usage (via WMI) check-wmi-network
check_wmi_proc Number of instances of a check-wmi-proc
process (via WMI)
check_wmi_services Service status (via WMI) check-wmi-services
check_wmi_svc Service state and number of check-wmi-svc
instances (via WMI)
check_wmi_swap Swap usage (via WMI) check-wmi-swap
check_wmi_uptime Uptime (via WMI) check-wmi-uptime
check_wsrpe WSRP service availability check-wsrpe
check-wsrpe-args
check-wsrpe-proxy
check-wsrpe-proxy-args
check_xml_polycom Polycom server status check-xml-polycom
523
USER2 PLUGINS – UNUSED BY POM DEFAULT CHECK COMMANDS
These plugins, specifically developed and/or customized by POM MonitoringTM, are installed by
default on your POM system, but are not used by any of POM’s default check commands. You can
choose to call them when creating a new check command, using the macro $USER2$.
See Adding & Creating a New Check Command
As plugins in the previous table, they can be found by default in the default directory:
/opt/pom/plugins
Unless otherwise specified, relevant info for all these plugins is as follows:
Version 1.0
Developed by POM MonitoringTM
Maintainer contact cpeuvrel@[Link]
Plugin name Check target Version
check_agent_clock Clock offset (via agent)
check_agent_df Disk usage (via agent)
check_agent_linux_cpu CPU usage on Linux host (via agent)
check_agent_linux_load Load average on Linux host (via agent)
check_agent_linux_mem Memory usage on Linux host (via agent)
check_agent_nb_process Number of running processes (via agent)
check_agent_request_url URL requests (via agent)
check_agent_swap Swap usage (via agent)
check_agent_uptime Uptime (via agent)
check_agent_windows_cpu CPU usage on Windows host (via agent)
check_agent_windows_mem Memory usage on Windows host (via agent)
check_agent_windows_network Network usage on Windows host (via agent)
check_mail_loop.sh Mail loop state
check_mail_loop_imap IMAP mail loop state
check_scenario_lib Web scenario
check_smb_get.sh Download (via smbclient)
check_snmp_asa Cisco ASA firewall state (via SNMP)
check_snmp_disk_hrmp Disk HRMP info (via SNMP)
check_snmp_netscaler_cluster Citrix NetScaler gateway cluster state (via SNMP)
check_snmp_raid RAID array state (via SNMP)
check_snmp_sensors Sensor state (via SNMP)
check_snmp_sonicwall_conn SonicWALL VPN connectivity (via SNMP)
check_snmp_sonicwall_vpn SonicWALL VPN state (via SNMP)
check_ssh_backup_arkeia Arkeia backup device status (via SSH) 0.1
check_ssh_zimbra Zimbra mail service zmcontrol status (via SSH)
check_ssh_zombie Zombie processes number (via SSH)
check_vmware_perfcounter.pl VMWare performance statistics
check_wmi WMI info
check_wmi_dc_sync Domain controllers synchronization (via WMI)
check_wmi_scheduled_job Scheduled jobs execution state (via WMI)
524
APPENDIX A: PLUGINS & CHECK COMMANDS
ADDITIONAL PLUGINS SPECIFIC PROCEDURES
CHECK_SAP_HEALTH PLUGIN
check_sap_health is a plugin created by ConSol Labs. You can download it and find its complete
documentation (in German) on this web page. Before using it, you will need to install the SAP
NetWeaver (SAPNW) Perl module on your SAP server, by performing the few following tasks.
Plugin compilation
After downloading the plugin onto your POM server, you first need to compile it, with the
following command:
tar zxf check_sap_health...[Link] ; cd check_sap_health... ; ./configure ; make
Plugin installation
Once the plugin is compiled, simply copy it to your user-specific plugins directory:
cp plugins-scripts/check_sap_health /etc/pom/local/plugins/check_sap_health
Note: to perform this task, you will need a valid S-user account at [Link]
PLUGINS
The installation procedure for sapnwrfc can be found here, and its SDKcan be downloaded from
this page. Further information on how tu use sapnwrfc can be found on this documentation page.
Once the library is compiled, install it on your POM server for the check_sap_health plugin to
use it and function properly.
525
APPENDIX A: PLUGINS & CHECK COMMANDS
CHECK COMMANDS
POM’s default check commands definition files can be found in the following directory:
/opt/pom/lib/nagios
They bear a formatted filename of the form [Link], where “xxx” is usually
an explicit short name for the kind of check that will be performed.
Reminder: to instantly distinguish between check commands and plugins, take notice of the separation
CHECK COMMANDS
characters used in the filenames:
527
HELP ON DEFAULT CHECK COMMANDS
The contents of all default commands can be displayed in the Web interface, from the
Configuration menu > Objects > Commands.
528
APPENDIX A: PLUGINS & CHECK COMMANDS
ADDING & CREATING A NEW CHECK COMMAND
To add a new check command to the collection at your disposal, you can either create a
configuration file manually from a Linux command-line editor, or use the dedicated tool in the
POM web interface to create it automatically. The latter is recommended, as it performs a syntax
check and allows you to easily modify your command later on.
Note: a manually created command definition file can be used to define more than one check command.
Using an editor such as vim, create a command definition file compliant to the name formatting
used with other commands:
[admin@pom-srv template.d]$ vim [Link]
Contents of the definition file will have to present the following syntax for each command defined:
define command {
command_name check-xxx
command_line $USERn$/check_xxx \
-y $zzz$ \
…
}
Where:
xxx is an explicit short name for the chosen kind of check target
CHECK COMMANDS
check_xxx is the plugin file name (plugin has to exist prior to creating the command)
$USERn$ is the adequate plugin directory (1 or 2 for default plugins, 3 for custom ones)
y is an available option for the plugin (run the plugin with –h for full list)
$zzz$ is the corresponding macro
See plugin options lookup example on next page
529
Example of plugin options lookup:
We want to use the check_disk_smb plugin to monitor disk space using the CIFS protocol. This
plugin is provided with the default plugins package installed in the directory
/usr/lib64/nagios/plugins (corresponding to variable $USER1$).
To create the check command, we must know the options the plugin accepts. For help obtaining
usage information, execute the plugin using ––help or –h on the command line.
/usr/lib64/nagios/plugins/check_disk_smb --help
check_disk_smb v1.4.16 (nagios-plugins 1.4.16)
The nagios plugins come with ABSOLUTELY NO WARRANTY. You may redistribute
copies of the plugins under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
Copyright (c) 2000 Michael Anthon/Karl DeBisschop
Perl Check SMB Disk plugin for Nagios
Usage: check_disk_smb -H <host> -s <share> -u <user> -p <password>
-w <warn> -c <crit> [-W <workgroup>] [-P <port>] [-a <IP>]
-H, --hostname=HOST
NetBIOS name of the server
-s, --share=STRING
Share name to be tested
-W, --workgroup=STRING
Workgroup or Domain used (Defaults to "WORKGROUP")
-a, --address=IP
IP-address of HOST (only necessary if HOST is in another network)
-u, --user=STRING
Username to log in to server. (Defaults to "guest")
-p, --password=STRING
Password to log in to server. (Defaults to an empty password)
-w, --warning=INTEGER or INTEGER[kMG]
Percent of used space at which a warning will be generated (Default: 85%)
-c, --critical=INTEGER or INTEGER[kMG]
Percent of used space at which a critical will be generated (Defaults: 95%)
-P, --port=INTEGER
Port to be used to connect to. Some Windows boxes use 139, others 445 (Defaults to
smbclient default)
If thresholds are followed by either a k, M, or G then check to see if that
much disk space is available (kilobytes, Megabytes, Gigabytes)
Warning percentage should be less than critical
Warning (remaining) disk space should be greater than critical.
Send email to nagios-users@[Link] if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to nagiosplug-devel@[Link].
Please include version information with all correspondence (when possible,
use output from the --version option of the plugin itself).
We will therefore use this information to manually run the plugin on a given example and check
that it returns the expected result:
[root@pom ~]# /usr/lib64/nagios/plugins/check_disk_smb -H [Link] \
-u administrator -p ’p@ssw0rd’ -s ’c$’
Disk ok - 157.75G (80%) free on \\[Link]\c$ | \
’c$’=40328232960B;178254354841.6;199225455411.2;0;209711005696
530
APPENDIX A: PLUGINS & CHECK COMMANDS
FROM THE WEB USER INTERFACE
CHECK COMMANDS
531
Click on the Create new command button to launch the command creation wizard.
Directory
The directory where your command definition file will be stored. Default is:
/etc/pom/wui/nagios
File
The name of the command definition file, compliant to the following syntax:
[Link]
Contrary to manually created ones, a command definition file created with the web interface
wizard cannot be used to define several commands. If you try to add a new command to an already
existing definition file, you will get this error message when submitting the command:
Name
The name of the check command itself, compliant to the following syntax:
check-xxx
Command
The definition of your check command, which corresponds to the part between the markup
define command { } in the definition file
532
APPENDIX A: PLUGINS & CHECK COMMANDS
Macros
The different macros you use in your command will depend on the way you plan to use the
command.
See Macros used in Default Check Commands
Their names and use are rather self-explanatory, with the exception of the authentication macros
like $_HOSTBASH_USER$ and $_SERVICEBASH_USER$, that may require some clarification:
In the particular case your command needs authentication on the host, you will need to use the
macro $_HOSTBASH_USER$, which stands for the USER column of the HOSTS section.
If the command is to be used in a SERVICES section, you will also need to use the macro
$_SERVICEBASH_USER$. However, in this example, the macro $_SERVICEBASH_USER$ does
not correspond to a USER column in the SERVICES section, since user information will already be
provided by the USER column of the HOSTS section.
Submit
Once you completed all fields, press the Submit button. The wizard will then perform a syntax
check, which comes in handy compared to the manual creation process, where errors may go
unnoticed.
If an error is detected, you will get an error message pinpointing the inadequate element:
CHECK COMMANDS
Reset
Use this button to clear all fields
Once your new command is validated, it will appear in the list of available commands.
533
EDITING/DELETING AN EXISTING CHECK COMMAND
Note: as you will notice in the commands list, only the check commands created by the user can be
edited or deleted. Default commands appear in the list only for information purpose.
EDITING A COMMAND
From the list of available commands, click on the Edit button next to the command you want to
modify. This will lead you to the editing wizard:
Only the Name and Command itself can be edited. Just as in the command creation process,
clicking on the Submit button will pass all fields through a syntax check.
DELETING A COMMAND
From the list of available commands, click on the Delete button next to the command you want
to delete.
534
APPENDIX A: PLUGINS & CHECK COMMANDS
DEFAULT CHECK COMMANDS
CHECK COMMANDS
_SERVICEBASH_PASSWORD
_SERVICEBASH_AUTH
_SERVICEBASH_RETURN
_SERVICEBASH_FOLLOW
_SERVICEBASH_PROXY
_SERVICEBASH_PROXY_PORT
_SERVICEBASH_PROXY_USER
_SERVICEBASH_WARNING
_SERVICEBASH_PROXY_PASSWORD
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_SIZE_MIN
_SERVICEBASH_AGENT
_SERVICEBASH_SIZE_MAX
check-curl-hostname check_curl HOSTADDRESS
_SERVICEBASH_URL
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_AUTH
_SERVICEBASH_RETURN
_SERVICEBASH_FOLLOW
_SERVICEBASH_PROXY
_SERVICEBASH_PROXY_PORT
_SERVICEBASH_PROXY_USER
_SERVICEBASH_WARNING
_SERVICEBASH_PROXY_PASSWORD
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_SIZE_MIN
_SERVICEBASH_AGENT
_SERVICEBASH_SIZE_MAX
535
Check command name Plugin used Macros used
check-curl-proxy check_curl _SERVICEBASH_PROXY_AUTH
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_URL
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_AUTH
_SERVICEBASH_RETURN
_SERVICEBASH_FOLLOW
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_AGENT
_SERVICEBASH_PORT
_SERVICEBASH_PROXY_USER
_SERVICEBASH_PROXY_PASSWORD
check-db2 check_db2_health _SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_DATABASE
_SERVICEBASH_USER
check-dhcp check_dhcp HOSTADDRESS
_SERVICEBASH_MAC
_SERVICEBASH_IFACE
_SERVICEBASH_TIMEOUT
check-dhcp-broadcast check_dhcp HOSTADDRESS
_SERVICEBASH_MAC
_SERVICEBASH_IFACE
_SERVICEBASH_TIMEOUT
check-dhcp-offer check_dhcp _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_MAC
_SERVICEBASH_IFACE
_SERVICEBASH_OFFER_IP
check-dhcp-offer-broadcast check_dhcp _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_MAC
_SERVICEBASH_IFACE
_SERVICEBASH_OFFER_IP
check-dig check_dig _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_REQUEST
_SERVICEBASH_TYPE
_SERVICEBASH_WARNING
check-dig-expect check_dig _SERVICEBASH_CRITICAL
_SERVICEBASH_EXPECT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_REQUEST
_SERVICEBASH_TYPE
_SERVICEBASH_WARNING
check-disk-smb check_disk_smb _SERVICEBASH_SHARE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_SERVICEBASH_PORT
536
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
check-disk-smb-auth check_disk_smb _SERVICEBASH_SHARE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_PORT
check-echo check_dummy _SERVICEBASH_STATUS
_SERVICEBASH_OUTPUT
check-echo-arg check_dummy ARG1
ARG2
check-esxcl-config check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_EXCLUDE
HOSTNAME
HOSTADDRESS
_SERVICEBASH_CLUSTER
_HOSTBASH_ESX_USER
check-esxcl-cpu check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
HOSTADDRESS
_SERVICEBASH_CLUSTER
_HOSTBASH_ESX_USER
check-esxcl-mem check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_OPTION
HOSTNAME
CHECK COMMANDS
HOSTADDRESS
_SERVICEBASH_CLUSTER
_HOSTBASH_ESX_USER
check-esx-clock check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esxcl-svc check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_SERVICE_NAME
HOSTNAME
HOSTADDRESS
_SERVICEBASH_CLUSTER
_HOSTBASH_ESX_USER
check-esx-config check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_EXCLUDE
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esx-cpu check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_HOSTBASH_ESX_TARGET
537
Check command name Plugin used Macros used
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esxdc-config check_vmware_api.pl _SERVICEBASH_TIMEOUT
_SERVICEBASH_EXCLUDE
HOSTNAME
HOSTADDRESS
_HOSTBASH_ESX_USER
_HOSTBASH_ESX_PASSWORD
check-esxdc-cpu check_vmware_api.pl _SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
HOSTADDRESS
_HOSTBASH_ESX_USER
_HOSTBASH_ESX_PASSWORD
check-esxdc-io check_vmware_api.pl _SERVICEBASH_TIMEOUT
_SERVICEKERNEL_WARNING
_SERVICEKERNEL_CRITICAL
_SERVICEDEVICE_WARNING
_SERVICEDEVICE_CRITICAL
_SERVICEQUEUE_WARNING
_SERVICEQUEUE_CRITICAL
HOSTNAME
HOSTADDRESS
_HOSTBASH_ESX_USER
_HOSTBASH_ESX_PASSWORD
check-esxdc-mem check_vmware_api.pl _SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
HOSTADDRESS
_HOSTBASH_ESX_USER
_HOSTBASH_ESX_PASSWORD
check-esxdc-svc check_vmware_api.pl _SERVICEBASH_TIMEOUT
_SERVICEBASH_SERVICE_NAME
HOSTNAME
HOSTADDRESS
_HOSTBASH_ESX_USER
_HOSTBASH_ESX_PASSWORD
check-esxdc-vmfs check_vmware_api.pl _SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_INCLUDE
_SERVICEBASH_EXCLUDE
HOSTNAME
HOSTADDRESS
_HOSTBASH_ESX_USER
_HOSTBASH_ESX_PASSWORD
check-esx-io check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEKERNEL_WARNING
_SERVICEKERNEL_CRITICAL
_SERVICEDEVICE_WARNING
_SERVICEDEVICE_CRITICAL
_SERVICEQUEUE_WARNING
_SERVICEQUEUE_CRITICAL
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esx-mem check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
538
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_CRITICAL
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esx-net check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esx-snapshots check_vmware_snapshots.pl _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_EXCLUDE
_SERVICEBASH_INCLUDE
HOSTADDRESS
_HOSTBASH_ESX_USER
_HOSTBASH_ESX_PASSWORD
_SERVICEBASH_MODE
check-esx-svc check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_SERVICE_NAME
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esx-uptime check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_CRITICAL
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
CHECK COMMANDS
check-esxvm-config check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_EXCLUDE
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esx-vmfs check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_INCLUDE
_SERVICEBASH_EXCLUDE
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-esxvm-tools check_vmware_api.pl _HOSTBASH_ESX_PASSWORD
_SERVICEBASH_TIMEOUT
HOSTNAME
_HOSTBASH_ESX_TARGET
_HOSTBASH_ESX_NAME
_HOSTBASH_ESX_USER
check-event check_event HOSTNAME
check-event-tagged check_event HOSTNAME
_SERVICEBASH_TAG
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-filecount check_filecount _SERVICEBASH_PATH
_SERVICEBASH_FILE_ONLY
539
Check command name Plugin used Macros used
_SERVICEBASH_RECURSIVE
_SERVICEBASH_MODE
check-ftp check_ftp _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-ftp-age check_ftp_age _SERVICEBASH_EXCLUDE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PROTO
HOSTADDRESS
_SERVICEBASH_PATH
_SERVICEBASH_INCLUDE
check-ftp-age-auth check_ftp_age _SERVICEBASH_PATH
_SERVICEBASH_INCLUDE
_SERVICEBASH_EXCLUDE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PROTO
HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-ftp-ssl check_ftp _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-google-analytics check_google_analytics _SERVICEBASH_UOM
_SERVICEBASH_WEBSITE
_SERVICEBASH_GLOGIN
_SERVICEBASH_GPASSWORD
_SERVICEBASH_METRICS
check-host check_host HOSTADDRESS
_HOSTBASH_TIMEOUT
_HOSTBASH_PACKET
_HOSTBASH_INTERVAL
check-host-nomon check_dummy
check-http check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-http-auth check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-http-auth-expect check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
540
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-http-auth-expect-vhost check_http _SERVICEBASH_EXPECT_OUTPUT
_SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
check-http-auth-expect-vhost-only check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-http-auth-vhost check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
CHECK COMMANDS
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
check-http-auth-vhost-only check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-http-expect check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-http-expect-vhost check_http _SERVICEBASH_EXPECT_OUTPUT
_SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
541
Check command name Plugin used Macros used
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
check-http-expect-vhost-only check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-http-hp-p2000 check_http_hp_p2000 HOSTADDRESS
_HOSTBASH_USER
_HOSTBASH_PASSWORD
_SERVICEBASH_MODE
check-https check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-https-auth check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-https-auth-expect check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-https-auth-expect-vhost check_http _SERVICEBASH_EXPECT_OUTPUT
_SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
542
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_PATH
check-https-auth-expect-vhost-only check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-https-auth-vhost check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
check-https-auth-vhost-only check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_AUTH
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
CHECK COMMANDS
check-https-expect check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-https-expect-return check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_RETURN
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-https-expect-vhost check_http _SERVICEBASH_EXPECT_OUTPUT
_SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
543
Check command name Plugin used Macros used
check-https-expect-vhost-only check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_EXPECT_OUTPUT
check-https-hdr check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
HOSTADDRESS
_SERVICEBASH_PORT _SERVICEBASH_PATH
check-https-vhost check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
check-https-vhost-only check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-http-vhost check_http _SERVICEBASH_METHOD
_SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
check-http-vhost-only check_http _SERVICEBASH_FOLLOW
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_AGENT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_PATH
_SERVICEBASH_METHOD
check-http-x509 check_http _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-http-x509-vhost check_http _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
544
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_WARNING
check-http-x509-vhost-only check_http _SERVICEBASH_TIMEOUT
_SERVICEBASH_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-http-x509-vhost-proxy check_http _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PROXY_ADDRESS
_SERVICEBASH_PROXY_PORT
_SERVICEBASH_VHOST
_SERVICEBASH_WARNING
check-http-x509-vhost-proxy-auth check_http _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PROXY_ADDRESS
_SERVICEBASH_PROXY_PORT
_SERVICEBASH_PROXY_AUTH
_SERVICEBASH_VHOST
check-imap check_imap _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-imap-ssl check_imap _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-jmx check_jmx4perl HOSTADDRESS
CHECK COMMANDS
_SERVICEBASH_PORT
_SERVICEBASH_CONFIG
_SERVICEBASH_CHECK
check-jmx-alias check_jmx4perl _SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_ALIAS
_SERVICEBASH_WARNING
check-jmx-alias-base check_jmx4perl _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_ALIAS
_SERVICEBASH_BASE
check-jmx-args check_jmx4perl _SERVICEARGS
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_CONFIG
_SERVICEBASH_CHECK
check-jmx-auth check_jmx4perl _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_CONFIG
_SERVICEBASH_CHECK
check-jmx-auth-args check_jmx4perl _SERVICEBASH_CONFIG
_SERVICEBASH_CHECK
_SERVICEARGS
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_USER
545
Check command name Plugin used Macros used
_SERVICEBASH_PASSWORD
check-jmx-mbean-attr-string check_jmx4perl _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_MBEAN
_SERVICEBASH_ATTRIBUTE
check-jmx-mbean-attr-string-path check_jmx4perl _SERVICEBASH_PATH
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_MBEAN
_SERVICEBASH_ATTRIBUTE
check-jmx-mbean-attr-unit check_jmx4perl _SERVICEBASH_UNIT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_MBEAN
_SERVICEBASH_ATTRIBUTE
check-jmx-mbean-attr-unit-delta check_jmx4perl _SERVICEBASH_UNIT
_SERVICEBASH_DELTA
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_MBEAN
_SERVICEBASH_ATTRIBUTE
check-ldap check_ldap _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_BASEDN
_SERVICEBASH_SEARCH
check-ldap-auth check_ldap _SERVICEBASH_PASSWORD
_SERVICEBASH_SEARCH
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_BASEDN
_SERVICEBASH_USER
check-ldap-auth-ssl check_ldap _SERVICEBASH_PASSWORD
_SERVICEBASH_SEARCH
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_BASEDN
_SERVICEBASH_USER
check-ldap-auth-tls check_ldap _SERVICEBASH_PASSWORD
_SERVICEBASH_SEARCH
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_BASEDN
_SERVICEBASH_USER
546
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
check-ldap-ssl check_ldap _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_BASEDN
_SERVICEBASH_SEARCH
check-ldap-tls check_ldap _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_BASEDN
_SERVICEBASH_SEARCH
check-livestatus-freshness-host check_livestatus_freshness HOSTNAME
_HOSTBASH_ADDITIONAL_FRESHNESS_LATENCY
check-livestatus-freshness-svc check_livestatus_freshness HOSTNAME
SERVICEDESC
_SERVICEBASH_ADDITIONAL_FRESHNESS_LATENCY
check-mail-loop-imap check_mail_loop_imap HOSTNAME
SERVICEDESC
HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_IMAP_EMAIL
_SERVICEBASH_RELAY_EMAIL
_SERVICEBASH_FOLDER
_SERVICEBASH_TLS
_SERVICEBASH_SSL
_SERVICEBASH_INSECURE
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
CHECK COMMANDS
_SERVICEBASH_TIMEOUT
check-meta-cause check_meta_cause SERVICEDESC
check-mssql check_mssql_health _SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-mssql-db check_mssql_health _SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_DATABASE
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-mssql-query check_mssql_health _SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_LABEL
_SERVICEBASH_QUERY
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-mssql-replmon check_mssql_replmon _SERVICEBASH_PUBLISHER
547
Check command name Plugin used Macros used
_SERVICEBASH_PUBLICATION
_SERVICEBASH_DATABASE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_SUBSCRIBER
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_DISTRIBUTOR
check-mssql-replmon-self check_mssql_replmon _SERVICEBASH_PUBLISHER
_SERVICEBASH_PUBLICATION
_SERVICEBASH_DATABASE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_DISTRIBUTOR
check-mysql check_mysql_health _SERVICEBASH_DATABASE
_SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-mysql-query check_mysql_health _SERVICEBASH_DATABASE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICE_QUERY
_SERVICEBASH_LABEL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-nagios-health check_nagios_health _SERVICEBASH_LABELS
_SERVICEBASH_PARAMETERS
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-nrpe check_nrpe HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-nrpe-args check_nrpe _SERVICESAFEARGLIST
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-nrpe-args-nossl check_nrpe _SERVICESAFEARGLIST
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-nrpe-daemon check_nrpe HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
check-nrpe-nossl check_nrpe HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-nrpe-wc check_nrpe _SERVICEBASH_WARNING
548
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-nrpe-wca check_nrpe _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_ARG
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-nrpe-wca-nossl check_nrpe _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_ARG
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-nrpe-wc-nossl check_nrpe _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_COMMAND
check-ntp-peer check_ntp_peer _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-ntp-peer -address check_ntp_peer _SERVICEBASH_ADDRESS
_SERVICEBASH_PORT
CHECK COMMANDS
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
check-ntp-time check_ntp_time HOSTADDRESS
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
check-office365 check_office365 _SERVICEBASH_CRITICAL
_SERVICEBASH_CACHE_AGE
_SERVICEBASH_MODE
_SERVICEBASH_SERVICE_NAME
HOSTNAME
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_WARNING
check-oracle-health check_oracle_health _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_ARGUMENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_MODE
check-oracle-health-noarg check_oracle_health _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
549
Check command name Plugin used Macros used
_SERVICEBASH_PORT
_SERVICEBASH_MODE
check-oracle-health-re check_oracle_health _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_ARGUMENT
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_MODE
check-oracle-health-tnsping check_oracle_health _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
check-oracle-mem check_oracle_mem _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-oracle-sid check_oracle_sid _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-oracle-tb check_oracle_tb _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_TABLESPACE
_SERVICEBASH_THRESHOLD
check-ping check_ping _SERVICEBASH_LOSS_CRITICAL
_SERVICEBASH_PACKETS
HOSTADDRESS
_SERVICEBASH_RTA_WARNING
_SERVICEBASH_LOSS_WARNING
_SERVICEBASH_RTA_CRITICAL
check-ping-address check_ping _SERVICEBASH_LOSS_CRITICAL
_SERVICEBASH_PACKETS
_SERVICEBASH_ADDRESS
_SERVICEBASH_RTA_WARNING
_SERVICEBASH_LOSS_WARNING
_SERVICEBASH_RTA_CRITICAL
check-pom-discovery check_pom_discovery _SERVICEBASH_TYPE
_SERVICEBASH_NETWORK
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-pom-ix check_pom_ix HOSTNAME
SERVICEDESC
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_APPLICATION
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-pom-license check_pom_license HOSTNAME
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-pomklive check_pomklive HOSTNAME HOSTNAME
check-pop check_pop _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-pop-ssl check_pop _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
550
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_CRITICAL
check-postgresql check_postgres _SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_DATABASE
_SERVICEBASH_USER
check-postgresql-c check_postgres _SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_DATABASE
_SERVICEBASH_USER
check-postgresql-w check_postgres _SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_DATABASE
_SERVICEBASH_USER
check-postgresql-wc check_postgres _SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_DATABASE
_SERVICEBASH_USER
CHECK COMMANDS
check-postgresql-wc-query check_postgres _SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_QUERY
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_DATABASE
_SERVICEBASH_USER
check-postgresql-wc-queryname check_postgres _SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_QUERYNAME
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_DATABASE
_SERVICEBASH_USER
check-qualys check_qualys HOSTNAME
SERVICEDESC
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_IP
_SERVICEBASH_DATE
_SERVICEBASH_REPORT_TEMPLATE_ID
_SERVICEBASH_REPORT_TEMPLATE_NAME
_SERVICEBASH_RETRY
_SERVICEBASH_WARNING
551
Check command name Plugin used Macros used
_SERVICEBASH_CRITICAL
check-radius check_radius _SERVICEBASH_PASSWORD
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_CONFIG
_SERVICEBASH_USER
check-replay check_replay HOSTNAME
SERVICEDESC
_SERVICEBASH_PREFIX
check-scenario _SERVICEBASH_SCENARIO
HOSTADDRESS
_SERVICEBASH_URL
check-scenario-nohost _SERVICEBASH_SCENARIO
_SERVICEBASH_URL
check-scenario-user check_scenario HOSTADDRESS
_SERVICEBASH_URL
_SERVICEBASH_SCENARIO
check-scenario-user-nohost check_scenario _SERVICEBASH_URL
_SERVICEBASH_SCENARIO
check-sftp check_sftp _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-smb-dir check_smb_dir _SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_MODE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_SERVICEBASH_SHARE
_SERVICEBASH_DIRECTORY
_SERVICEBASH_MASK
check-smb-robocopy check_smb_robocopy _SERVICEBASH_INSTANCE
_SERVICEBASH_MAXTIME
HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_SHARE
check-smtp check_smtp _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_FROM
_SERVICEBASH_WARNING
check-smtp-auth check_smtp _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_FROM
_SERVICEBASH_WARNING
check-smtp-auth-tls check_smtp _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
HOSTADDRESS
_SERVICEBASH_PORT
552
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_FROM
_SERVICEBASH_WARNING
check-smtp-receive check_smtp_receive _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_FROM
_SERVICEBASH_TO
check-smtp-tls check_smtp _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_FROM
_SERVICEBASH_WARNING
check-snmp-alcatel-pbx check_snmp_alcatel_pbx _SERVICEBASH_IP_DOMAIN_ID
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_MODE
_HOSTBASH_SNMP_PORT
check-snmp-alive check_snmp_alive _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
CHECK COMMANDS
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-aloha check_snmp_aloha _SERVICEBASH_LISTENER
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_TYPE
check-snmp-aruba check_snmp_aruba _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_MODE
HOSTADDRESS
_HOSTBASH_SNMP_PORT
553
Check command name Plugin used Macros used
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-barracuda-disk check_snmp_barracuda_disk _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-barracuda-hardware check_snmp_barracuda_hardware _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_MODE
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-barracuda-latency check_snmp_barracuda_latency _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-barracuda-messages check_snmp_barracuda_messages _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-barracuda-queue check_snmp_barracuda_queue _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
554
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-bgp check_snmp_bgp HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-bluecoat-attack check_snmp_bluecoat_attack HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_TIMEOUT
check-snmp-ccmhistory check_snmp_ccmhistory _SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_CRITICAL
check-snmp-checkpoint check_snmp_checkpoint _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-ciscochassis check_snmp_ciscochassis HOSTADDRESS
CHECK COMMANDS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_TIMEOUT
check-snmp-colubris-device-load check_colubris_device_load _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_FILTER
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-counter check_snmp_counter _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_MODE
_HOSTBASH_SNMP_PORT
555
Check command name Plugin used Macros used
_SERVICEBASH_IGNORE_TCP_ERROR
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-cpu check_snmp_cpu _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_TYPE
_HOSTBASH_SNMP_PORT
check-snmp-cpu-linux check_snmp_cpu_linux _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-date check_snmp_date _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_TYPE
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
HOSTADDRESS
_SERVICEBASH_TIMEOUT
_HOSTBASH_SNMP_PORT
_HOSTBASH_TIMEZONE
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-disk check_snmp_disk _SERVICEBASH_RESERVED
_HOSTBASH_SNMP_VERSION
_SERVICEBASH_PARTITION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
556
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_TYPE
_HOSTBASH_SNMP_PORT
check-snmp-disk-io check_snmp_disk_io _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_TYPE
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-generic check_snmp _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_LABEL
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_OID
check-snmp-hpasm check_hpasm HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_TYPE
check-snmp-hpfan check_snmp _SERVICEBASH_CRITICAL
HOSTADDRESS
CHECK COMMANDS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_WARNING
check-snmp-hwg check_snmp_hwg HOSTADDRESS
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_SENSOR
check-snmp-ibm-bladecenter check_snmp_ibm_bladecenter _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_MODE
_SERVICEBASH_ITEM_NUM
check-snmp-iface check_snmp_iface _SERVICEBASH_TYPE_IGNORE
_HOSTBASH_SNMP_VERSION
_SERVICEBASH_TYPE
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_PORT
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_SERVICEBASH_SPEED_IN
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_SPEED_OUT
_SERVICEBASH_WARNING
_SERVICEBASH_IGNORE_STATE
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_IGNORE_OP_STATE
557
Check command name Plugin used Macros used
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_IGNORE_NEW
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_BSD
_SERVICEBASH_TYPE_ALLOW
_HOSTBASH_SNMP_PORT
check-snmp-iface-via check_snmp_iface _SERVICEBASH_TYPE_IGNORE
_SERVICEBASH_SNMP_VERSION
_SERVICEBASH_TYPE
_SERVICEBASH_SNMP_COMMUNITY
_SERVICEBASH_PORT
_SERVICEBASH_SNMP_SEC_LEVEL
_SERVICEBASH_SNMP_SEC_NAME
_SERVICEBASH_SNMP_AUTH_PROTOCOL
_SERVICEBASH_SNMP_AUTH_PASSWORD
_SERVICEBASH_SNMP_PRIV_PROTOCOL
_SERVICEBASH_SPEED_IN
_SERVICEBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_SPEED_OUT
_SERVICEBASH_WARNING
_SERVICEBASH_IGNORE_STATE
_SERVICEBASH_CRITICAL HOSTNAME
_SERVICEBASH_IGNORE_OP_STATE
_SERVICEBASH_RETRY SERVICEDESC
_SERVICEBASH_IGNORE_NEW
_SERVICEBASH_TIMEOUT
_SERVICEBASH_SNMP_HOST
_SERVICEBASH_BSD
_SERVICEBASH_TYPE_ALLOW
_SERVICEBASH_SNMP_PORT
check-snmp-iferror check_snmp_iferror _SERVICEBASH_TIMEOUT
_HOSTBASH_SNMP_VERSION
_SERVICEBASH_INDEX
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING_ERR
_SERVICEBASH_CRITICAL_ERR
HOSTNAME
_SERVICEBASH_WARNING_DISCARD
SERVICEDESC
_SERVICEBASH_CRITICAL_DISCARD
HOSTADDRESS
_SERVICEBASH_RETRY
_HOSTBASH_SNMP_PORT
check-snmp-juniper check_snmp_juniper _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_TIMEOUT
SERVICEDESC
558
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_MODE
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-load check_snmp_load _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_TYPE
_HOSTBASH_SNMP_PORT
check-snmp-loop check_snmp_loop _SERVICEBASH_TIMEOUT
_SERVICEBASH_RETRY
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_CREDENTIALS
_SERVICEBASH_DURATION
check-snmp-mem check_snmp_mem _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
CHECK COMMANDS
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_TYPE
_SERVICEBASH_WARNING
HOSTNAME
_SERVICEBASH_CRITICAL
SERVICEDESC
_SERVICEBASH_RETRY
HOSTADDRESS
_SERVICEBASH_TIMEOUT
_HOSTBASH_SNMP_PORT
check-snmp-nb-process check_snmp_nb_process _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
_SERVICEBASH_RETRY
HOSTADDRESS
_SERVICEBASH_TIMEOUT
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-netapp check_netapp3.pl _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
559
Check command name Plugin used Macros used
_SERVICEBASH_MODE
check-snmp-netscaler check_snmp_netscaler _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_TIMEOUT
SERVICEDESC
_SERVICEBASH_MODE
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-netscaler-counter check_snmp_netscaler_counter _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_TIMEOUT
SERVICEDESC
_SERVICEBASH_MODE
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-netscaler-hardware check_snmp_netscaler_hardware _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_TIMEOUT
SERVICEDESC
_SERVICEBASH_MODE
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-openmanage check_openmanage HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-openmanage-only check_openmanage HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_TYPE
check-snmp-openmanage-temp check_openmanage _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_WARNING
check-snmp-palo-alto-hardware check_snmp_palo_alto_hardware _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
560
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_MODE
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-palo-alto-netstats check_snmp_palo_alto_netstats _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_TIMEOUT
SERVICEDESC
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-perfdata check_snmp_perfdata HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
CHECK COMMANDS
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_RETRY
_SERVICEBASH_TIMEOUT
_SERVICEBASH_OID
_SERVICEBASH_LABEL
_SERVICEBASH_DESCRIPTION
_SERVICEBASH_MATCH_INDEX
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_LABEL_OID
_SERVICEBASH_WARNING_OID
_SERVICEBASH_CRITICAL_OID
_SERVICEBASH_MIN
_SERVICEBASH_MIN_OID
_SERVICEBASH_MAX
_SERVICEBASH_MAX_OID
_SERVICEBASH_UOM
_SERVICEBASH_MULTIPLICATOR
_SERVICEBASH_MULTIPLICATOR_OID
_SERVICEBASH_COUNT
_SERVICEBASH_SUM_TOTAL
_SERVICEBASH_SUM_ONLY
_SERVICEBASH_AVG_TOTAL
_SERVICEBASH_AVG_ONLY
561
Check command name Plugin used Macros used
_SERVICEBASH_FETCH_REINDEX
_SERVICEBASH_BINARY_PREFIX
_SERVICEBASH_SUBTREE
_SERVICEBASH_COUNTER
_SERVICEBASH_OUTPUT_PATTERN
_SERVICEBASH_OUTPUT_CUSTOM
_SERVICEBASH_LABEL_IGNORE_SNMP_IDX
_SERVICEBASH_CRITICAL_ERRORS
_SERVICEBASH_REVERSE_THRESHOLD
check-snmp-printer-paper check_snmp_printer_paper _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-printer-toner check_snmp_printer_toner _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-proc check_snmp_svc _SERVICEBASH_PROCESS
_HOSTBASH_SNMP_VERSION
_SERVICEBASH_ARGS
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_TYPE
_SERVICEBASH_MIN
HOSTNAME
_SERVICEBASH_MAX
SERVICEDESC
_SERVICEBASH_RETRY
HOSTADDRESS
_SERVICEBASH_TIMEOUT
_HOSTBASH_SNMP_PORT
check-snmp-qnap-disk check_snmp_qnap_disk _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_WARNING
562
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
check-snmp-qnap-fan check_snmp_qnap_fan _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_WARNING
check-snmp-qos check_snmp_qos _SERVICEBASH_CLASSES
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_INTERFACE
check-snmp-rip check_snmp_rip HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-riverbed check_snmp_riverbed _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_MODE
_HOSTBASH_SNMP_PORT
check-snmp-scangaule check_snmp_scangaule _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
CHECK COMMANDS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_MODE
check-snmp-sla check_snmp_sla HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_DATACENTER
check-snmp-stonegate check_snmp_stonegate _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_MODE
_HOSTBASH_SNMP_PORT
check-snmp-stonegate-cluster check_snmp_stonegate_cluster _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
563
Check command name Plugin used Macros used
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
_SERVICEBASH_TIMEOUT
_SERVICEBASH_MEMBERS
_SERVICEBASH_NAME
_HOSTBASH_SNMP_PORT
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-svc check_snmp_svc _HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_TYPE
_SERVICEBASH_MIN
_SERVICEBASH_MAX
_SERVICEBASH_RETRY
HOSTADDRESS
_SERVICEBASH_TIMEOUT
_HOSTBASH_SNMP_PORT
_SERVICEBASH_SERVICE_NAME
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
check-snmp-synology check_snmp_synology _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTNAME
_SERVICEBASH_RETRY
SERVICEDESC
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_SNMP_PORT
check-snmp-ups-apc check_snmp_ups _SERVICEBASH_TEMP
_SERVICEBASH_LOAD
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_RUNTIME
check-snmp-ups-apc-galaxy check_snmp_ups_apc_galaxy _SERVICEBASH_TEMP
_SERVICEBASH_LOAD
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_RUNTIME
check-snmp-ups-hp check_snmp_ups_hp _SERVICEBASH_TEMP
_SERVICEBASH_LOAD
HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_RUNTIME
check-snmp-uptime check_snmp_uptime _HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_HOSTBASH_SNMP_SEC_LEVEL
_HOSTBASH_SNMP_SEC_NAME
564
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_HOSTBASH_SNMP_AUTH_PROTOCOL
_HOSTBASH_SNMP_AUTH_PASSWORD
_HOSTBASH_SNMP_PRIV_PROTOCOL
_HOSTBASH_SNMP_PRIV_PASSWORD
_SERVICEBASH_CRITICAL
_SERVICEBASH_RETRY
HOSTNAME
_SERVICEBASH_TIMEOUT
SERVICEDESC
_SERVICEBASH_PERSISTENT
HOSTADDRESS
_SERVICEBASH_TYPE
_HOSTBASH_SNMP_PORT
check-snmp-vip check_snmp_vip HOSTADDRESS
_HOSTBASH_SNMP_VERSION
_HOSTBASH_SNMP_COMMUNITY
_SERVICEBASH_TIMEOUT
check-ssh check_ssh HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
check-ssh-date check_ssh_date _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SSH_PORT
_HOSTBASH_SSH_USER
_SERVICEBASH_WARNING
check-ssh-disk check_ssh_disk _SERVICEBASH_CRITICAL
_SERVICEBASH_PARTITION
HOSTADDRESS
_HOSTBASH_SSH_USER
_HOSTBASH_SSH_PORT
_SERVICEBASH_WARNING
check-ssh-errpt check_ssh_errpt _SERVICEBASH_CRITICAL
CHECK COMMANDS
HOSTADDRESS
_HOSTBASH_SSH_PORT
_HOSTBASH_SSH_USER
_SERVICEBASH_WARNING
check-ssh-ibm-san check_ssh_ibm_san _SERVICEBASH_CRITICAL
_SERVICEBASH_MODE
_SERVICEBASH_OPTION
HOSTADDRESS
_HOSTBASH_SSH_PORT
_HOSTBASH_SSH_USER
_SERVICEBASH_WARNING
check-ssh-load check_ssh_load _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SSH_PORT
_HOSTBASH_SSH_USER
_SERVICEBASH_WARNING
check-ssh-lpstat check_ssh_lpstat _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SSH_PORT
_HOSTBASH_SSH_USER
_SERVICEBASH_WARNING
check-ssh-mem check_ssh_mem _SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
HOSTADDRESS
_HOSTBASH_SSH_PORT
_HOSTBASH_SSH_USER
_SERVICEBASH_WARNING
check-ssh-nb-process check_ssh_nb_process _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_SSH_USER
565
Check command name Plugin used Macros used
_HOSTBASH_SSH_PORT
_SERVICEBASH_WARNING
check-ssh-process-age check_ssh_process_age _SERVICEBASH_CRITICAL
_SERVICEBASH_PROCESS
_SERVICEBASH_EXCLUDE
HOSTADDRESS
_HOSTBASH_SSH_USER
_HOSTBASH_SSH_PORT
_SERVICEBASH_WARNING
check-ssh-svc check_ssh_svc _SERVICEBASH_MAX
_SERVICEBASH_PROCESS
HOSTADDRESS
_HOSTBASH_SSH_USER
_HOSTBASH_SSH_PORT
_SERVICEBASH_MIN
check-ssh-swap check_ssh_mem _SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
HOSTADDRESS
_HOSTBASH_SSH_PORT
_HOSTBASH_SSH_USER
_SERVICEBASH_WARNING
check-ssh-uptime check_ssh_uptime _HOSTBASH_SSH_USER
_SERVICEBASH_PERSISTENT
_SERVICEBASH_CRITICAL
HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_SSH_PORT
check-ssh-version check_ssh HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_TIMEOUT
_SERVICEBASH_VERSION
check-tcp check_tcp _SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-tcp-expect check_tcp _SERVICEBASH_TIMEOUT
_SERVICEBASH_EXPECT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-tcp-expectquit check_tcp _SERVICEBASH_TIMEOUT
_SERVICEBASH_EXPECT
_SERVICEBASH_QUIT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-tcp-quit check_tcp _SERVICEBASH_TIMEOUT
_SERVICEBASH_QUIT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-tcp-sendexpect check_tcp _SERVICEBASH_TIMEOUT
_SERVICEBASH_SEND
_SERVICEBASH_EXPECT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
566
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_CRITICAL
check-tcp-sendexpectquit check_tcp _SERVICEBASH_TIMEOUT
_SERVICEBASH_SEND
_SERVICEBASH_EXPECT
_SERVICEBASH_QUIT
HOSTADDRESS
_SERVICEBASH_PORT
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
check-undefined check_dummy
check-wbem-alive check_wbem_alive HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_TYPE
check-wbem-clock check_wbem_clock HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
_HOSTBASH_TIMEZONE
check-wbem-cpu check_wbem_cpu HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
check-wbem-disk check_wbem_disk HOSTNAME
SERVICEDESC
CHECK COMMANDS
HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
check-wbem-job check_wbem_job HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_TYPE
_SERVICEBASH_JOB
_SERVICEBASH_AS_USER
check-wbem-nb-job check_wbem_nb_job HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
_SERVICEBASH_MODE
check-wbem-network check_wbem_network HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_WARNING
567
Check command name Plugin used Macros used
_SERVICEBASH_CRITICAL
_SERVICEBASH_TYPE
_SERVICEBASH_LINE
check-wbem-sbs check_wbem_sbs HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_TYPE
_SERVICEBASH_SBS
check-wbem-uptilme check_wbem_uptime HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_WBEM_USER
_HOSTBASH_WBEM_PASSWORD
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_PERSISTENT
_SERVICEBASH_TYPE
check-winexe check_winexe HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_SERVICEBASH_COMMAND
check-winexe-cmd check_winexe_cmd _SERVICEBASH_COMMAND
HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_REGEXP
check-winexe-replsum check_winexe_replsum HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
check-winexe-updates check_winexe_updates HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
check-wmi-clock check_wmi_clock _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-cpu check_wmi_cpu _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-ctxlic check_wmi_ctxlic _SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_PASSWORD
_SERVICEBASH_WARNING
check-wmi-ctxsess check_wmi_ctxsess _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_SERVICEBASH_USER
_SERVICEBASH_WORKGROUP
_HOSTBASH_MS_PASSWORD
check-wmi-disk check_wmi_disk _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
568
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_SERVICEBASH_PARTITION
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-hyperv check_wmi_hyperv _SERVICEBASH_CRITICAL
_SERVICEBASH_OPTION
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_SERVICEBASH_WARNING
check-wmi-mem check_wmi_mem _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-nb-process check_wmi_nb_process _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-network check_wmi_network _SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_SERVICEBASH_WARNING
check-wmi-proc check_wmi_proc _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
CHECK COMMANDS
_SERVICEBASH_TIMEOUT
_SERVICEBASH_PROCESS
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-services check_wmi_services _SERVICEBASH_START_MODE
_SERVICEBASH_INCLUDE_DNAME
_SERVICEBASH_INCLUDE_NAME
_SERVICEBASH_EXCLUDE_DNAME
_SERVICEBASH_EXCLUDE_NAME
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-scheduled-job check_scheduled_job HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
_SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
_SERVICEBASH_TIMEOUT
_SERVICEBASH_JOB
check-wmi-svc check_wmi_svc _SERVICEBASH_SERVICE_NAME
_SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
569
Check command name Plugin used Macros used
check-wmi-swap check_wmi_swap _SERVICEBASH_WARNING
_SERVICEBASH_CRITICAL
HOSTADDRESS
_HOSTBASH_MS_USER
_HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
check-wmi-uptime check_wmi_uptime _HOSTBASH_MS_PASSWORD
_HOSTBASH_MS_WORKGROUP
_SERVICEBASH_PERSISTENT
_SERVICEBASH_CRITICAL
HOSTNAME
SERVICEDESC
HOSTADDRESS
_HOSTBASH_MS_USER
check-wsrpe check_wsrpe _SERVICEBASH_URL
_SERVICEBASH_COMMAND
check-wsrpe-args check_wsrpe _SERVICEBASH_URL
_SERVICEBASH_COMMAND
_SERVICEBASH_ARGUMENTS
check-wsrpe-proxy check_wsrpe _SERVICEBASH_URL
_SERVICEBASH_COMMAND
_SERVICEBASH_PROXY
check-wsrpe-proxy-args check_wsrpe _SERVICEBASH_URL
_SERVICEBASH_COMMAND
_SERVICEBASH_ARGUMENTS
_SERVICEBASH_PROXY
check-xml-polycom check_xml_polycom _SERVICEBASH_TIMEOUT
HOSTADDRESS
_HOSTBASH_USER
_HOSTBASH_PASSWORD
_SERVICEBASH_MODE
freshness-too-old check_dummy
handler-meta check_meta_cause _SERVICEBASH_META
LASTSERVICECHECK
SERVICESTATETYPE
COMMANDFILE
host-alert-mail pomalert NOTIFICATIONAUTHORNAME
NOTIFICATIONCOMMENT
HOSTNAME
HOSTALIAS
HOSTADDRESS
HOSTSTATE
LASTHOSTSTATECHANGE
LASTHOSTCHECK
HOSTOUTPUT
_HOSTBASH_NOTES
CONTACTNAME
_HOSTBASH_POM_SITE
CONTACTGROUPNAME
CONTACTEMAIL
_CONTACTBASH_LANGUAGE
NOTIFICATIONTYPE
host-alert-smstools pomalert NOTIFICATIONAUTHORNAME
NOTIFICATIONCOMMENT
HOSTNAME
HOSTALIAS
HOSTADDRESS
HOSTSTATE
LASTHOSTSTATECHANGE
LASTHOSTCHECK
HOSTOUTPUT
570
APPENDIX A: PLUGINS & CHECK COMMANDS
Check command name Plugin used Macros used
_HOSTBASH_NOTES
CONTACTNAME
_HOSTBASH_POM_SITE
CONTACTGROUPNAME
CONTACTPAGER
_CONTACTBASH_LANGUAGE
NOTIFICATIONTYPE
ochp-command logger TIMET
ocsp-command logger TIMET
service-alert-mail pomalert _SERVICEBASH_POM_SITE
NOTIFICATIONAUTHORNAME
CONTACTEMAIL
NOTIFICATIONCOMMENT
HOSTNAME
HOSTALIAS
HOSTADDRESS
HOSTSTATE
SERVICEDESC
SERVICESTATE
LASTSERVICESTATECHANGE
LASTSERVICECHECK
CONTACTNAME
SERVICEOUTPUT
CONTACTGROUPNAME
_HOSTBASH_NOTES
_CONTACTBASH_LANGUAGE
_HOSTBASH_POM_SITE
NOTIFICATIONTYPE
service-alert-smstools pomalert _SERVICEBASH_POM_SITE
NOTIFICATIONAUTHORNAME
CONTACTPAGER
NOTIFICATIONCOMMENT
CHECK COMMANDS
HOSTNAME
HOSTALIAS
HOSTADDRESS
HOSTSTATE
SERVICEDESC
SERVICESTATE
LASTSERVICESTATECHANGE
LASTSERVICECHECK
CONTACTNAME
SERVICEOUTPUT
CONTACTGROUPNAME
_HOSTBASH_NOTES
_CONTACTBASH_LANGUAGE
_HOSTBASH_POM_SITE
NOTIFICATIONTYPE
571
NAME INDEX / GLOSSARY
NAME INDEX /
GLOSSARY
Note: this index only references topics that are not explicitly featured in the Table of Contents
3
3COM (network switch)
Monitoring template 361
A
AD (Active Directory)
Enabling LDAPS in AD 222
Monitoring template 482
AIX (server)
Monitoring template 315
Monitoring template (via SSH) 316
Aloha (load balancer)
Monitoring template 339
AP (Access Point)
Shape in Maps tab 53
Apache (web server)
Involvement in SSO via Kerberos authentication 230
Restart procedure 144
APM (Application Performance Management)
APPLIPERF section of the spreadsheet file 266
Aruba (wi-fi mobility controller)
Monitoring template 340
AS/400 (IBM system)
AS400 Monitoring template 317
AS400-WBEM Monitoring template 318
Language setup on an AS/400 244
ASA (Adaptive Security Appliance)
Monitoring template 368
Shape in Maps tab 53
Astaro (firewall)
Monitoring template 369
Authentication
Assume Root privileges on POM server 134
Autologin 235
Configuration in POM WUI 97
573
Credentials configuration 106
LDAP/LDAPS/LDAPTLS authentication 222
Renewing SSL certificate 144
SMTP authentication 232
SSL certificate at first WUI connection 130
SSO via Kerberos authentication 227
Autologin
Autologin authentication method 235
Automaps
Setting up 159
AWS (Amazon Web Services)
AWS Monitoring template 390
AWS-ALARM Monitoring template 483
AWS-BILLING Monitoring template 484
Monitoring an AWS infrastucture with POM 218
B
Backup
POM platform backup copies 138
Barracuda (spam firewall)
Monitoring template 370
Beaglebone (open source hardware)
Setup as a POM console 153
BIG-IP (Local Traffic Manager)
F5-BIGIP monitoring template 345
BladeCenter (IBM server)
Monitoring template 320
Bluecoat (proxy appliance)
Bluecoat monitoring template 341
Bluecoat-AV monitoring template 342
Bookmarks
in Logs tab 63
Brocade (network switch)
monitoring template 343
C
CA (Certificate Authority)
Create a CA 222
CCM (Cisco Call Manager)
Monitoring template 344
Check commands
Creation of new check commands 529
Deafult check commands available in POM 535
Edition & deletion of check commands 534
Help on check commands 528
Notifications customization 295
Overview 527
Registering a check command in the spreadsheet file 533
check_interval
Role in alerting process 20
check_snmp_iface
Role in weathermaps 50
Checkpoint (firewall)
574
NAME INDEX / GLOSSARY
Monitoring template 371
CIDR (Classless Inter-Domain Routing)
CIDR notation in Inventory tab 38
POM server IP address notation 127
Cisco
ASA Monitoring template 368
Available shapes in Maps 53
CCM Monitoring template 344
Cisco switch Monitoring template 362
PIX Monitoring template 378
Citrix
NetScaler Monitoring template 376
Color code
In Events tab 22
In Logs tab 56
Configuration
Configuration spreadsheet file 247
Configuration state in POM WUI 111
POM configuration files directory 116, 117
POM server initial configuration 126
POM web interface configuration 89
Reloading POM configuration manually (pomgen) 273
Credentials
Configuration in POM WUI 106
in POM-Agent 176
CRITICAL state See States
CSR (Certificate Signing Request)
Create a CSR 224
CSR generation for POM platform 144
D
Database
Shape in Maps tab 53
DB (DataBase) See Database
DB2 (database)
Monitoring template 463
DC-SYNC
Monitoring template 485
Debug
Technical support in POM WUI 102
Dell
iDRAC Monitoring template 348
DHCP (Dynamic Host Configuration Protocol)
Monitoring template 422
Discovery
Overview 36
DNS (Domain Name System)
DNS lookup in Smart Discovery 38
Monitoring template 423
Downtimes
Configuration in POM WUI 110
In Events tab 27
Setup via HTTP request 304
Drive
575
HDD shape in Maps tab 53
Managing large drives on POM server 152
Duplication
POM platform duplication procedure 139
E
EMC (Storage area network)
Monitoring template 382
ERRPT
Monitoring template 406
ESX (Elastic Sky X hypervisor)
ESX Monitoring template 391
ESX-CL Monitoring template 486
ESX-SNAPSHOTS Monitoring template 487
ESX-VC Monitoring template 488
ESX-VC-VMFS Monitoring template 489
ESX-VMFS Monitoring template 490
Monitoring a VMWare infrastucture with POM 214
Events
Deactivate pop-in window in Events tab 157
Default settings for the Events view 156
Events tab Common usage 19
Events tab Customization 156
F
F5
F5-BIGIP monitoring template 345
Filters
In Events tab 30
in Inventory tab 40
In Logs tab 60
Firewall
Astaro Monitoring template 369
Barracuda Monitoring template 370
Checkpoint Monitoring template 371
Cisco ASA Monitoring template 368
Cisco PIX Monitoring template 378
Fortigate 200b Monitoring template 373
Fortigate Monitoring template 372
IronPort Monitoring template 374
McAfee Stonegate Monitoring template 379
Palo-Alto Monitoring template 377
Shape in Maps tab 53
Fortigate (firewall)
Monitoring template 372
Fortigate 200b (firewall)
Monitoring template 373
Fortinet See Fortigate
FTP (File Transfer Protocol)
Default Monitoring template 425
File age Monitoring template (via FTP) 426
FTPS (File Transfer Protocol - Secured)
Monitoring template 427
576
NAME INDEX / GLOSSARY
FW (FireWall) See Firewall
G
Gateway
Citrix NetScaler Monitoring template 376
Shape in Maps tab 54
GoogleMaps API
Base for geographical maps 51
GPL (GNU General Public License)
for OpenPOM 21
Guest-config
Deactivate monitoring of guest-config in a VMWare environment 217
Guest-tools
Deactivate monitoring of guest-tools in a VMWare environment 217
GW (GateWay) See Gateway
H
H3C (network switch)
Monitoring template 346
Hard drive See Drive
HARD state See States
HDD (Hard Disk Drive) See Drive
Host Templates
Overview 308
HP (Hewlett-Packard)
HP 5130 Monitoring template 347
HP ILO Monitoring template 349
HP P2000 Monitoring template 319
HP switch Monitoring template 363
HP UPS Monitoring template 332
HP 5130 (network switch)
Monitoring template 347
HTML (HyperLink Markup Language)
Export formats for reports 86
HTPL See Host Templates
HTTP (HyperText Transfer Protocol)
Monitoring template 428
HTTPS (HyperText Transfer Protocol - Secured)
Monitoring template 430
Hypervision
General principle 199
Hypervisor 200
Satellite 200
Hypervisor
In a VMWare/ESX context 214
In an AWS context 218
in POM-Hypervision 200
I
IAD (Integrated Access Device)
Shape in Maps tab 53
IBM
577
AS400 Monitoring template 317
AS400-wbem Monitoring template 318
IBM BladeCenter Monitoring template 320
ICMP (Internet Control Message Protocol)
POM server installation 120
Iconset
Custom iconsets in Maps tab 161
iDRAC (integrated Dell Remote Access Controller)
Monitoring template 348
ILO (HP Integrated Lights Out)
Monitoring template 349
IMAP (Internet Message Access Protocol)
Monitoring template 432
IMAPS (Internet Message Access Protocol - Secured)
Monitoring template 433
Installation
POM installation directory 116, 117
POM server installation procedure 122
Inventory
Inventory tab Common usage 35
Inventory tab Customization 158
Overview 36
IP (Internet Protocol)
monitoring template 350
IronPort (firewall)
Monitoring template 374
ISDN (Integrated Services Digital Network)
Shape in Maps tab 53
J
Juniper (network switch)
Juniper EX Monitoring template 351
Juniper SA Monitoring template 352
K
Kerberos (authentication protocol)
SSO via Kerberos authentication 227
L
Language
Language setup on an IBM AS/400 244
POM platform language setup 146
LDAP (Lightweight Directory Access Protocol)
LDAP Monitoring template 434
LDAP parameters in POM WUI 98
LDAP/LDAPS/LDAPTLS authentication 222
LDAPS Monitoring template 436
LDAPTLS Monitoring template 438
Shape in Maps tab 54
LDAPS (LDAP over SSL) See LDAP
LDAPTLS (LDAP over STARTTLS) See LDAP
License
578
NAME INDEX / GLOSSARY
Management in POM Interface 97
Linux/Unix
Activate SNMP 149
Display POM platform Linux version 136
Linux monitoring template 321
Monitoring a Linux/Unix system with POM 213
NRPE monitoring template 322
Setting up SYSLOG formatted logs on a Linux system 162
UCD statistics monitoring template 323
list-ds 267
Livebox (Orange router)
Monitoring template 353
Logs
LOGMATCH section of the spreadsheet file 268
Logs tab Common usage 55
Logs tab Customization 162
NXLOG Configuration 162
Processing of log lines through POM 269
RSYSLOG Configuration 162
Setting up SYSLOG formatted logs in Windows 162
Setting up SYSLOG formatted logs on Linux 162
SYSLOG facilities 61
SYSLOG severity levels 61
M
Maps
Adding a custom iconset 161
Display graphs in the Maps tab pop-ins 160
Geographical maps 51
Maps tab Common usage 41
Maps tab Customization 159
Modifying a map background 160
Modifying an existing map background 160
On-demand site maps in POM-Multisite 206
Setting up automaps 159
max_check_attempts
Role in alerting process 20
McAfee
Stonegate Monitoring template 379
Meta-indicator
in POM-Multisite 202
META section of the spreadsheet file 257, 258
Role in hypervision 199
Migration
POM platform migration procedure 139
Models
Usage in the spreadsheet file for POM-Multisite 202
MSSQL (Microsoft Database)
Monitoring template 465
MSSQLREPL
Monitoring template 469
Multiservice Templates
Overview 395
MUX (MUltipleXer)
579
Shape in Maps tab 53
MySQL (database)
Monitoring template 470
N
NAS (Network Attached Storage)
QNAP Monitoring template 386
Synology Monitoring template 387
Negative lookahead See Regular Expressions
NetApp (Storage Area Network)
Monitoring template 383, 384
NetASQ (Security device)
Monitoring template 375
NetScaler (Citrix secure access gateway)
Monitoring template 376
Network
Activate SNMP on network devices 150
Monitoring template 440
nomon
"No Monitoring" tag 254
Nortel (network switch)
Default Monitoring template 354
Nortel 8600 series Monitoring template 364
Notifications
Customization 293
Disable in Event tray 28
Disable in Events tray 29
Enable in Events tray 29
Notification periods 108
Notifications periods definition in HOSTS section 255
Sender address 289
Setup 288
SMS notifications 290
Working hours settings 167
NRPE (Nagios Remote Plugin Extractor)
Host Monitoring template 322
Service Monitoring template 411
NTP (Network Time Protocol)
Define NTP server 127
NXLOG (Windows logging tool) See Logs
O
OFFICE365
Monitoring template 493
OK state See States
OpenFiler
Monitoring template 385
Operators
in Events tab search 31
in Logs tab search 60
Oracle (Database)
Monitoring template 472
Orange
580
NAME INDEX / GLOSSARY
Livebox Monitoring template 353
P
P2000 (HP system)
Monitoring template 319
Packages
Configure POM-HA to ignore certain RPM packages 194
POM RPM packages information 137
pomcfg 127
sudo 134
yum 136
Palo-Alto (firewall)
Monitoring template 377
Partition
Increase partition size 141
Password
Changing passwords in POM 234
Password encryption 234
PBX (Private Branch eXchange)
Shape in Maps tab 53
PCRE (Perl Compatible Regular Expressions)
PCRE expressions 270
PDA (Personal Digital Assistant)
Shape in Maps tab 54
PDF (Portable Document Format)
Export formats for reports 86
Periods See Time-periods
PIX (Private Internet eXchange)
Monitoring template 378
Shape in Maps tab 53
Plugins
check_interval 20
check_snmp_iface 50
Creation 512
Default plugins available in POM 517, 525
Help on plugins 509
max_check_attempts 20
Overview 509
Plugins directories 510, 511
retry_interval 20
Polycom
Polycom HDX desktop device monitoring template 325
Polycom server monitoring template 324
POM
Monitoring template 326
POM web interface
Configuration 89
Creation of check commands 531
First connection 130
POM-Base
Monitoring template 327
pomcfg
POM server initial configuration 127
role in SMTP authentication 232
581
POM-Discovery
Monitoring template 494
pomgen (POM config GENeration tool)
Automatic execution 273
Execution from a command-line session 274
Execution from the WUI 273
POM-HA (High Availability)
Monitoring template 328
pompwd
Password encryption tool 234
POP (Post Office Protocol)
Monitoring template 445
POPS (Post Office Protocol - Secured)
Monitoring template 446
POSIX (Portable Operating System Interface)
POSIX regular expressions in widgets 76
PostgreSQL (database)
Monitoring template 477
Printer
Monitoring template 329
Profiles
Configuration in POM WUI 90
Q
QNAP (Network Attached Storage)
Monitoring template 386
R
RADIUS (authentication server and protocol)
Monitoring template 449
Reboot
POM server 135
RegEx (Regular Expression) See Regular expressions
Regular expressions
in Widgets 76
PCRE expressions 270
Regular Expressions
Negative lookahead RegEx 476
Release
Display current release of POM 136
Reports
Customizing reports 166
Reports tab Common usage 83
Reports tab Customization 166
Working hours settings 167
Restore
POM platform restoration procedure 138
retry_interval
Role in alerting process 20
Riverbed (bandwidth optimization device)
Monitoring template 355
Robocopy
Monitoring template 495
582
NAME INDEX / GLOSSARY
Root
logging in as Root on POM server 134
Rotate See Screen rollover
Route
Add a persistent route to POM server 151
Router
Default Monitoring template 356
Orange Livebox Monitoring template 353
RPM (Redhat Package Manager) See Packages
RRD (Round-Robin Database)
Loading interval 76
Role in working hours settings 167
RSA (Rivest-Shamir-Adleman cryptosystem)
Generating SSH encryption keys 285
RSYSLOG (Linux/Unix logging tool) See Logs
RT (Real Time)
Real-time index 57
S
Samba (protocol)
Involvement in SSO via Kerberos authentication 228
SMB directory Monitoring template 500
SMB share Monitoring template 499
SAN (Storage Area Network)
EMC Monitoring template 382
NetApp Monitoring template 383, 384
Satellite
in POM-Hypervision 200
Scangaule (sensor device)
Monitoring template 330
Scenarios See Web scenarios
Scheduled job
Monitoring template 497
Screen rollover
Configuration 170
Service Templates
Multiservice templates 395
Overview 393
SFTP (SSH FTP)
Monitoring template 450
Shutdown
Downtimes configuration in POM WUI 110
POM server 135
SIP (Session Initiation Protocol)
Shape in Maps tab 53
Sizing
Increase partition size 141
POM server requirements 120
SLA (Service Level Agreement)
Availability widget 76, 77
Smart Discovery See Discovery
Smart Inventory See Inventory
SMB See Samba
SMS (Short Message Service)
583
SMS notifications 290
SMTP (Simple Mail Transfer Protocol)
Monitoring template 451
SMTP authentication 232
SMTPTLS (Simple Mail Transfer Protocol over TLS)
Monitoring template 452
SNMP (Simple Network Management Protocol)
Activation on Linux/Unix 149
Activation on network devices 150
Activation on Windows 147
Monitoring template 453
Overview 147
POM server installation 120
Role in weathermaps 50
SNMP 5.3 Monitoring template 358
SNMP 5.5 Monitoring template 359
SNMP Default Monitoring template 357
SNMP interrogation in Discovery tab 38
SOFT state See States
Split brain
Resolution in POM-HA 193
SSH (Secure SHell)
AIX-SSH monitoring template 316
Default Monitoring template 360
Generating SSH encryption keys 285
Monitoring a device via SSH 284
Monitoring template 455
SFTP (FTP via SSH) monitoring template 450
SSL (Secure Sockets Layer)
LDAP-SSL support in POM 225
SSL certificate
Create a certificate authority 222
Creation 222
Generation 144
Install a certificate in AD 225
POM WUI first connection 130
Renew POM platform's certificate 144
Sign & accept an SSL certificate 224
SSO (Single Sign-On)
SSO via Kerberos authentication 227
STARTTLS
LDAP-STARTTLS support in POM 225
States
Color code in Events tray 22
Devices states in Inventory tab 37
OK, WARNING, CRITICAL, UNKNOWN, SOFT, HARD 20
State summary widget 79, 80, 81
Symbology in Maps tab 42
Stonegate (McAfee firewall)
Monitoring template 379
STP (Spanning Tree Protocol)
Shape in Maps tab 53
STPL See Service Templates
sudo
Assume superuser privileges 134
584
NAME INDEX / GLOSSARY
Survivor
in a split-brain issue 193
Switch
3COM switch Monitoring template 361
Cisco switch monitoring template 362
H3C switch monitoring template 346
HP switch Monitoring template 363
Juniper EX Monitoring template 351
Juniper SA Monitoring template 352
Nortel 8600 Monitoring template 364
Nortel default Monitoring template 354
Switchover
Preventing switchover in POM-HA 193
Server role swap in POM-HA 191
Synology (Network Attached Storage)
Monitoring template 387
SYSLOG See Logs
T
TCP (Transmission Control Protocol)
Monitoring template 456
Technical support
Contact 5
Open a support channel 102
Time-periods
Configuration in POM WUI 108
Working hours settings 167
Timezone
Definition in HOSTS section 255
TLS (Transport Layer Security)
LDAP-TLS support in POM 225
U
Ucopia (wi-fi access portal)
Monitoring template 365
UNKNOWN state See States
Update
POM platform (yum update) 136
Upgrade
POM platform (yum update) 136
UPS (Uninterrupted Power Supply)
Monitoring template 331
Monitoring template (HP brand) 332
Users
Configuration in POM WUI 95
UTM (United Threat Management)
Monitoring template 380
V
Variables
Simple- and loop-variables in Models 203
Version
585
Display current version of POM 136
Victim
in a split-brain issue 193
View levels
Description 30
Italics in Events tray 22
VIP (Virtual IP address)
Role in POM-HA 191
VM (Virtual Machine)
Migrating POM from a VM to physical machine 139
Monitoring a VM in a VMWare/ESX context 216
Monitoring a VM in an AWS context 219
VMWare (virtualization software)
Monitoring a VMWare infrastucture with POM 214
VoIP (Voice over Internet Protocol)
Shape in Maps tab) 53
VPN (Virtual Private Network)
Shape in Maps tab 53
VTL (Virtual Tape Library)
Monitoring template 388
W
WARNING state See States
Web
Monitoring template 458
Web interface See POM web interface
Web scenarios
Configuration 297
Execution via POM-Agent 178
Monitoring template 496
Wildcards
in Events tab search 31
in Logs tab search 60
Windows
Activate SNMP 147
Monitoring a Windows system with POM 212
Monitoring template to launch Windows executables 503
Restart a Windows service with an event-handler 282
Setting up SYSLOG formatted logs on a Windows system 162
Windows 2000 monitoring template 333
Windows Agent monitoring template 335
Windows default monitoring template 334
Windows monitoring template (via WMI) 336
WMI setup 238
WINEXE
Monitoring template 503
WMI (Windows Management Instrumentation)
Windows monitoring template (via WMI) 336
WMI setup 238
Working hours
Setting up working hours 167
WSRP (Web Services for Remote Portlets)
WSRPE Monitoring template 461
WUI (Web User Interface) See POM web interface
586
NAME INDEX / GLOSSARY
X
X509 (certificate)
X509 certificate validity monitoring template 504
Y
yum
POM server update 136
587
© Copyright POM MonitoringTM 2016