![Nagios 误解 Http 响应!](https://linux22.com/image/37785/Nagios%20%E8%AF%AF%E8%A7%A3%20Http%20%E5%93%8D%E5%BA%94%EF%BC%81.png)
我已经安装了纳吉奥斯4.0.1在我的 CentOS 6.5 服务器上。由于我将 Node.js 设置为使用端口 80,httpd
因此我将 Apache ( ) 服务配置为侦听端口 3000。
我可以打开 Nagios 控制台,在端口 3000 上使用 HTTP 一切看起来都很好。问题出在 Nagios 服务状态中,该状态将我的 HTTP 显示为“严重”,并带有描述:
连接被拒绝 HTTP 严重 - 无法打开 TCP 套接字
我有什么想法可以解决这个问题吗?
答案1
Nagios 中的插件确实是 Nagios 如此强大的秘诀。执行 HTTP 检查的检查是这样的:
$ /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]
请注意,有一个开关,-p <port>
如果未指定,您可以覆盖默认端口 80。
例子
$ /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
要更改端口,或者明确地说:
$ /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
如果您在 Nagios 中使用默认检查,则可能需要创建自己的自定义服务检查,以调用端口 3000 而不是默认端口 80。
定制服务检查
您可以创建和/或修改 HTTP 服务检查,以便它需要一个附加参数,在本例中是要使用的 TCP 端口。
详细信息将在本文中进一步讨论,标题为:使用 check_http 和 check_bigip_pool 来监控网站。
例子
摘抄
以下是我定义命令的方式。为了区分,我更喜欢在不同的配置文件中定义这些命令,并为每个命令名称赋予不同的定义。这样,如果某个端口无法访问,您可以解决该端口的问题,而不必假设整个 Web 应用程序都已关闭。
命令定义 > (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$ }