Skip to content
Geospatial monitoring plugins for Nagios
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

About GeoNagios

GeoNagios is a plugin for the monitoring system Nagios. It tests the availability and performance of a geospatial web service, e.g. Web Map Service (WMS). It measures latency and size of response in bytes.

ProtocolImplemented byFinished

GeoNagios has been developed with support from the Danish Geodata Agency, Grontmij and the University of Copenhagen, Department of Computer Science.


GeoNagios is written in Python (tested with 2.6 and 2.7). Dependencies are Python 2.5+ and pyproj. It currently only supports WMS, but additional protocols are planned.

# easy_install pyproj
pip install pyproj  # maybe need 'sudo' in front

Getting started with GeoNagios

Get a copy of

curl -o
chmod u+x

Get help by calling with the --help option:

$./ --help

List the layers available for a WMS service by calling with the --list-layers option:

$ ./ --list-layers '' 

Test all the layers by calling without options (only the URL argument):

$ ./ '' | tr ',' '\n' | tr '|' '\n'

Test some of the layers by calling with the --specific-layers option:


Test n randomly picked layers by calling with the --n-layers option:

$ ./ --n-layers INTEGER [SERVICEURL]

Configure Nagios to use GeoNagios

Remember there are multiple ways to configurate Nagios. This is just one way!

Define host

Host template:

define host {
        name                            generic-wmshost ; The name of this host template
        hostgroups                      geospatial-servers
        notifications_enabled           0
        check_command                   check-wms
        check_interval                  1
        retry_interval                  1
        max_check_attempts              5
        check_period                    24x7
        event_handler_enabled           1               ; Host event handler is enabled
        flap_detection_enabled          1               ; Flap detection is enabled
        failure_prediction_enabled      1               ; Failure prediction is enabled
        process_perf_data               1               ; Process performance data
        retain_status_information       1               ; Retain status information across program restarts
        retain_nonstatus_information    1               ; Retain non-status information across program restarts
        register                        0               


define host {
        use             generic-wmshost
        host_name       plansystem
        alias           Plansystem - local plans for Denmark
    action_url  /wms?servicename=wms

Define command:

(I have defined $USER3$ to point to where is)

define command {
        command_name check_wms_py
        command_line    $USER3$/ $HOSTADDRESS$$HOSTACTIONURL$ $ARG1$

Define service:

define service {
        use             generic-service
        host_name       plansystem, eea_europa, arealinfo, vienna, kortforsyningen
        service_description check_wms_services
        check_command   check_wms_py ! -n 5 --cache

Additional documentation

Something went wrong with that request. Please try again.