Overview
check_uptrack is a Nagios plugin that allows you to monitor
out-of-date and inactive machines.
It uses the Uptrack API to determine whether updates are available and not installed.
Downloading the Plugin
The Uptrack Nagios plugin, check_uptrack, is shipped as a part of the
Uptrack API Python bindings.
After installation, the script will be located in
/usr/lib/nagios/plugins.
Installation instructions for package managers and for installing manually are provided.
Configuring the Plugin
To configure the Nagios plugin, place your API username and API key in the file
/etc/uptrack-api.conf on the machine the plugin will run on,
in the following format:
[uptrack] username = joeuser api_key = 3af3c2c1ec407feb0fdc9fc1d8c4460c
Your username and API key can be retrieved from your settings page.
If you need to configure internet access through a proxy,
you can configure one in uptrack-api.conf using a line like:
https_proxy = http://proxy.example.com:3128/
The proxy string should be of the form [protocol://][username:password@]<host>[:port],
where
- protocol is the protocol to connect to the proxy (http or https)
- username and password are the authentication information needed to use your proxy (if any).
- host and port are the hostname/ip address and port number used to connect to the proxy
- The proxy must support making HTTPS connections.
You then need to configure the plugin in Nagios. An example minimal configuration for running the plugin directly might look like:
# Dummy host to associate the Uptrack service with
define host {
host_name uptrack-service
notifications_enabled 0
max_check_attempts 1
notification_interval 0
check_period never
contacts server-admins
}
define service {
host_name uptrack-service
service_description Ksplice Uptrack Update Status
check_command check_uptrack
notifications_enabled 1
normal_check_interval 60
retry_check_interval 15
max_check_attempts 4
notification_options w,c,r
contacts server-admins
}
define command {
command_name check_uptrack
command_line /usr/lib/nagios/plugins/check_uptrack
}
define command {
command_name check_uptrack_opts
command_line /usr/lib/nagios/plugins/check_uptrack -w $ARG1$ -c $ARG2$
}
Monitoring all of your machines
The minimal way to monitor all of your machines is to just run:
# /usr/lib/nagios/plugins/check_uptrack
This produces a summary about your machines using the standard nagios plugin format. A summary might look like this:
2 machines are OUTOFDATE!|uptodate=1280;outofdate=1;unsupported=0;inactive=3 prod1.foobar.com (192.168.1.1) is OUTOFDATE prod2.foobar.com (192.168.1.2) is OUTOFDATE
By default, the plugin will produce a CRITICAL status
if any machine is missing any updates.
To configure this, you can pass the -w and -c options to check_uptrack.
Each option should be a comma-separated string containing zero or more of the choices
o, u, and i, for out of date, unsupported, and inactive machines,
respectively. For example:
# /usr/lib/nagios/plugins/check_uptrack -w u,i -c o
Will return WARNING if you have any machines that are running unsupported kernels
or have uninstalled Ksplice Uptrack or otherwise not checked in recently,
and CRITICAL if any machines are out of date.
Monitoring the local machine
Uptrack 1.1.0 includes a separate Nagios plugin to monitor the local machine.
It accepts the same -w and -c options as check_uptrack. This plugin can be run as:
# /usr/lib/nagios/plugins/check_uptrack_local
check_uptrack_local uses only the local Uptrack update cache already present
on the machine, so no additional configuration is necessary.
check_uptrack_local will generate a similar summary to check_uptrack,
but for out-of-date machines,
will also report a list of the updates needed to bring the current machine up to date.
