docs:tips_n_tricks:nagios:using_http_for_passive_checks
This is an old revision of the document!
Using HTTP for passive checks
This description is valid for Nagios 3.
In situations, where you cannot use send_nsca
for submitting passive check results over the network, you can use the Nagios web interface. You need an http account
- Allowed to access nagios by your webserver, normally accomplished with Basic Auth and htpasswd.
- Allowed to submit passive check results via cgi, this can be done either by
- via dedicated permissions on the host(s) and service(s) in question
or
- Allowed to view all services/hosts1) via
/etc/nagios3/cgi.cfg
- Allowed to submit commands for all services/hosts2) via
/etc/nagios3/cgi.cfg
At least if you are going to use dedicated permissions, you need to define a nagios contact, that might look like:
define contact{ contact_name passive_via_http alias passive_via_http service_notification_period never host_notification_period never service_notification_options n host_notification_options n service_notification_commands notify-service-by-email host_notification_commands notify-host-by-email }
Assuming you have your credentionals for the account http_remote saved in either ~/.wgetrc
or ~/.netrc
, this example will submit a passive check result for the service TEST on host localhost in status UNKNOWN3):
wget -O - \ --user=passive_via_http \ --auth-no-challenge \ --no-check-cert \ 'https://<nagios-server>/cgi-bin/nagios3/cmd.cgi'\ '?cmd_typ=30'\ '&cmd_mod=2'\ '&host=localhost'\ '&service=TEST'\ '&plugin_state=3'\ '&plugin_output=Test+mit+wget+II'\ '&btnSubmit=Commit'
Of course, in a large environment with appropriate security needs, you would write a PHP script that is restricted to write passive checks.
docs/tips_n_tricks/nagios/using_http_for_passive_checks.1350916983.txt.gz · Last modified: 22.10.2012 16:43 CEST by peter