Os plugins dentro do Nagios são realmente o molho secreto do que faz o Nagios tão poderoso. A verificação que executa a verificação HTTP é esta:
$ /usr/lib64/nagios/plugins/check_http
check_http: Could not parse arguments
Usage:
check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]
[-w <warn time>] [-c <critical time>] [-t <timeout>] [-L] [-a auth]
[-b proxy_auth] [-f <ok|warning|critcal|follow|sticky|stickyport>]
[-e <expect>] [-s string] [-l] [-r <regex> | -R <case-insensitive regex>]
[-P string] [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>]
[-A string] [-k string] [-S] [--sni] [-C <age>] [-T <content-type>]
[-j method]
Observe que há um comutador, -p <port>
, que você pode substituir o padrão, que é a porta 80, se não estiver especificado.
Exemplo
$ /usr/lib64/nagios/plugins/check_http -H fan
HTTP OK: HTTP/1.1 200 OK - 5233 bytes in 0.025 second response time |time=0.024596s;;;0.000000 size=5233B;;;0
Para alterar a porta ou ser explícito:
$ /usr/lib64/nagios/plugins/check_http -H fan -p 80
HTTP OK: HTTP/1.1 200 OK - 5233 bytes in 0.003 second response time |time=0.002890s;;;0.000000 size=5233B;;;0
Se você estiver usando uma verificação padrão no Nagios, provavelmente precisará criar sua própria verificação de serviço personalizada que chama a porta 3000 em vez da porta padrão 80.
Personalizando uma verificação de serviço
Você pode criar e / ou modificar a sua verificação do serviço HTTP para que seja necessário um argumento adicional, neste caso, a porta TCP a ser usada.
Detalhes são discutidos mais adiante neste artigo intitulado: Trabalhando com check_http e check_bigip_pool para monitorar sites da web .
Exemplo
trecho
Here is how I defined the commands. For separation purposes, I prefer to the definitions within a distinct configuration file and give each command name a distinct definition. This way if one port is not accessible, you can address the one port issue and not assume the entire web application is down.
Command Definition > (nagios_host:/path_to_nagios/etc/objects/commands/cmd_http.cfg):
define command{ command_name check_webstore command_line $USER1$/check_http -H $ARG1$ -u $ARG2$ -p $ARG3$ }