Windows IIS Web Server (via NRPE)

Description

Monitors a IIS Windows server using Nagios Remote Plugin Executor (NRPE). NRPE is used by the Nagios server to communicate with the Windows server. The nrpe.cfg file on the Windows server maps commands issued by the GroundWork server to scripts in the c:\nrpe_nt directory. Commands issued by this profile are installed with this package. If new NRPE commands are added, this file must be modified.

Profile Package

This package includes the following files:

  • Profile definition: service-profile-nrpe-iis.xml

  • Plugin script: check_nrpe

  • NRPE script (installed on the monitored Windows server): nrpe_nt.zip

Installation

GroundWork Monitor includes many monitoring profiles for a variety of devices, systems and applications. Some profiles are pre-imported on a new GroundWork installation and others are distributed with the product. The configuration tool is used to import updated profiles and profiles that require additional setup, services can also be imported, see Importing Profiles.

Services Configuration

For plugin details you can run the service help command from within the nagios container. For example: Get to the nagios container from the gw8 directory: docker-compose exec -u 1000 nagios bash, then to the libexec directory: cd /usr/local/nagios/libexec, and enter a service help command e.g., ./check_snmp --help to receive help content.

Service/Command Line/Plugin CommandCommand Parameters

This column lists the Service Definition name, Service Command name with arguments to be passed to the plugin, and the Plugin Command line which is the plugin script called by Nagios for the service.

Command parameters are in the configuration services section with the following names and default values.

  • nrpe_iis_bytes_received

  • check_nrpe_iis_bytes_received!Name=

    _Total!6000!12000

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_bytes_received -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_bytes_received command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of bytes received is 6000

  • $ARG3$: Critical number, default critical threshold for number of bytes received is 12000

  • nrpe_iis_bytes_sent

  • check_nrpe_iis_bytes_sent!Name=

    _Total!6000000!10000000

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_bytes_sent -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_bytes_sent command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of bytes sent is 6000000

  • $ARG3$: Critical number, default critical threshold for number of bytes sent is 10000000

  • nrpe_iis_bytes_total

  • check_nrpe_iis_bytes_total!Name=

    _Total!500000!600000

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_bytes_total -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_bytes_total command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of bytes total is 500000

  • $ARG3$: Critical number, default critical threshold for number of bytes total is 600000

  • nrpe_iis_current_connections

  • check_nrpe_iis_current_connections!Name=

    _Total!200!400

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_currentconnections -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_currentconnections command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of current connections is 200

  • $ARG3$: Critical number, default critical threshold for number of current connections is 400

  • nrpe_iis_current_nonanonymous_users

  • check_nrpe_iis_current_nonanonymous_users!Name=_Total!50!80

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_curnonanonusers -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_curnonanonusers command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of current users is 50

  • $ARG3$: Critical number, default critical threshold for number of current users is 80

  • nrpe_iis_get_requests

  • check_nrpe_iis_get_requests!Name=_Total!200!400

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_get_requests -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_get_requests command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of get requests per second is 200

  • $ARG3$: Critical number, default critical threshold for number of get requests per second is 400

  • nrpe_iis_maximum_connections

  • check_nrpe_iis_maximum_connections!Name=_Total!50!60

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_maximumconnections -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_maximumconnections command as defined in the nrpe.cfg.

  • $ARG1$: Instance, e.g. Name=_Total Default web server instance is _Total

  • $ARG2$: Warning number Default warning threshold for number of current connections is 50

  • $ARG3$: Critical number Default critical threshold for number of current connections is 60

  • nrpe_iis_post_requests

  • check_nrpe_iis_post_requests!Name=_Total!200!400

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_post_requests -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_post_requests command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of post requests per second is 200

  • $ARG3$: Critical number, default critical threshold for number of post requests per second is 400

  • nrpe_iis_private_bytes

  • check_nrpe_iis_private_bytes!4000000!5000000

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_privatebytes -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_privatebytes command as defined in the nrpe.cfg.

  • $ARG1$: Warning number, default warning threshold for size of IIS private bytes is 4000000

  • $ARG2$: Critical number, default critical threshold for size of IIS private bytes is 5000000

  • nrpe_iis_total_not_found_errors

  • check_nrpe_iis_total_not_found_errors!Name=_Total!500!600

  • $USER1$/check_nrpe -t 60 -H $HOSTADDRESS$ -c get_iis_totalnotfounderrors -a "$HOSTADDRESS$" "$ARG1$" "$ARG2$" "$ARG3$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_iis_totalnotfounderrors command as defined in the nrpe.cfg.

  • $ARG1$: Instance, default web server instance is _Total

  • $ARG2$: Warning number, default warning threshold for number of not found errors is 500

  • $ARG3$: Critical number, default critical threshold for number of current connections is 600

  • nrpe_service_Dfs

  • check_nrpe_service!Dfs

  • $USER1$/check_nrpe -H $HOSTADDRESS$ -t 60 -c get_service -a "$HOSTADDRESS$" "$ARG1$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_service command as defined in the nrpe.cfg.

  • $ARG1$: Service Name (not Display Name)

  • OK if service is running

  • CRITICAL is service is stopped

  • UNKNOWN is service is not installed

  • nrpe_service_IISADMIN

  • check_nrpe_service!IISADMIN

  • $USER1$/check_nrpe -H $HOSTADDRESS$ -t 60 -c get_service -a "$HOSTADDRESS$" "$ARG1$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_service command as defined in the nrpe.cfg.

  • $ARG1$: Service Name (not Display Name)

  • OK if service is running

  • CRITICAL is service is stopped

  • UNKNOWN is service is not installed

  • nrpe_service_IsmServ

  • check_nrpe_service!IsmServ

  • $USER1$/check_nrpe -H $HOSTADDRESS$ -t 60 -c get_service -a "$HOSTADDRESS$" "$ARG1$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_service command as defined in the nrpe.cfg.

  • $ARG1$: Service Name (not Display Name)

  • OK if service is running

  • CRITICAL is service is stopped

  • UNKNOWN is service is not installed

  • nrpe_service_W3SVC

  • check_nrpe_service!W3SVC

  • $USER1$/check_nrpe -H $HOSTADDRESS$ -t 60 -c get_service -a "$HOSTADDRESS$" "$ARG1$"

Uses check_nrpe plugin to connect to NRPE on $HOSTADDRESS$ and execute the get_service command as defined in the nrpe.cfg.

  • $ARG1$: Service Name (not Display Name)

  • OK if service is running

  • CRITICAL is service is stopped

  • UNKNOWN is service is not installed

Related Resources