Nagios 误解 Http 响应!

Nagios 误解 Http 响应!

我已经安装了纳吉奥斯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$
           }

相关内容