Nagios 警报 returns "NRPE: Unable to read output" 命令:check_service!httpd
Nagios Alert returns "NRPE: Unable to read output" Command: check_service!httpd
我已经在 Redhat 上安装了 Nagios,配置如下:
/usr/local/nagios/etc/static/commands.cfg
define command {
command_name check_service
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_service -a $ARG1$
}
当我尝试手动 运行 时:
if i try to use the following syntax, I get error:
/usr/local/nagios/libexec/check_nrpe -H 10.111.55.92 -c check_service -a check_http
NRPE: Unable to read output
不使用 nope:
/usr/local/nagios/libexec/check_http -H 10.111.55.92
HTTP OK: HTTP/1.1 200 OK - 4298 bytes in 0.024 second response time |time=0.024462s;;;0.000000 size=4298B;;;0
我一直收到 Nagios 电子邮件通知:
HOST: Proxy (Dev) i-01aa24242424d7
IP: 10.111.55.92
Service: Apache Running
Service State: UNKNOWN
Attempts: 3/3
Duration: 0d 9h 28m 49s
Command: check_service!httpd
\More Details:
NRPE: Unable to read output
不确定如何将 nrpe 与 check_service 结合使用来检查 http
只是。 运行将 check_nrpe 与 check_http 结合显示安装的版本 nope
/usr/local/nagios/libexec/check_nrpe -H 10.111.55.92 -a check_http
NRPE v3.2.1
/usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 10 -c 15
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_root_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 10 -c 15 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 500 -c 750
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 500 -c 750
command[check_ping]=/usr/local/nagios/libexec/check_ping $ARG1$
command[check_http]=/usr/local/nagios/libexec/check_http
# LINUX DEFAULT
command[check_service]=/bin/sudo -n /bin/systemctl status -l $ARG1$
# GLUSTER CHECKS
command[check_glusterdata]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /gluster
# GITLAB CHECKS
command[gitlab_ctl]=/bin/sudo -n /bin/gitlab-ctl status $ARG1$
command[gitlab_rake]=/bin/sudo -n /bin/gitlab-rake gitlab:check
command[check_gitlabdata]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /var/opt/gitlab
# OPENSHIFT CHECKS
command[check_openshift_pods]=/usr/local/nagios/libexec/check_pods
文件:/usr/local/nagios/etc/nagios.cfg
cfg_dir=/usr/local/nagios/etc/static
您似乎混淆了两个插件。 check_service 只会检查服务是否在本地 运行ning。尝试这样称呼它:
/usr/local/nagios/libexec/check_nrpe -H 10.111.55.92 -c check_service -a httpd
不过,我会犹豫是否使用您提供的 check_service 命令。让 nrpe 使用 sudo 访问 运行 systemctl 对我来说似乎很危险。
check_http 是一个 http 客户端。它实际上会连接到 http 服务器并检查给定的 URI。它可以检查状态代码并执行各种操作。
您的 nrpe.cfg 中似乎没有包含 check_http 的任何参数。如果你这样调用它,它只会打印它的帮助消息,我认为它不会检查本地机器。
请注意,当您手动调用上面的 check_http 时,您需要提供 -H。 -H 不会自动传递,您需要在 nrpe.cfg.
中为 check_http 命令提供参数
换行:
命令[check_http]=/usr/local/nagios/libexec/check_http
类似于:
命令[check_http]=/usr/local/nagios/libexec/check_http -H 127.0.0.1
假设您的 http 正在侦听本地主机,它应该会更好地工作。
你可能不想像这样通过 nrpe 调用 check_http。让你的 nagios 服务器调用 check_http 到远程机器。
我已经在 Redhat 上安装了 Nagios,配置如下:
/usr/local/nagios/etc/static/commands.cfg
define command {
command_name check_service
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_service -a $ARG1$
}
当我尝试手动 运行 时:
if i try to use the following syntax, I get error:
/usr/local/nagios/libexec/check_nrpe -H 10.111.55.92 -c check_service -a check_http
NRPE: Unable to read output
不使用 nope:
/usr/local/nagios/libexec/check_http -H 10.111.55.92
HTTP OK: HTTP/1.1 200 OK - 4298 bytes in 0.024 second response time |time=0.024462s;;;0.000000 size=4298B;;;0
我一直收到 Nagios 电子邮件通知:
HOST: Proxy (Dev) i-01aa24242424d7
IP: 10.111.55.92
Service: Apache Running
Service State: UNKNOWN
Attempts: 3/3
Duration: 0d 9h 28m 49s
Command: check_service!httpd
\More Details:
NRPE: Unable to read output
不确定如何将 nrpe 与 check_service 结合使用来检查 http
只是。 运行将 check_nrpe 与 check_http 结合显示安装的版本 nope
/usr/local/nagios/libexec/check_nrpe -H 10.111.55.92 -a check_http
NRPE v3.2.1
/usr/local/nagios/etc/nrpe.cfg
command[check_users]=/usr/local/nagios/libexec/check_users -w 10 -c 15
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_root_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 10 -c 15 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 500 -c 750
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 500 -c 750
command[check_ping]=/usr/local/nagios/libexec/check_ping $ARG1$
command[check_http]=/usr/local/nagios/libexec/check_http
# LINUX DEFAULT
command[check_service]=/bin/sudo -n /bin/systemctl status -l $ARG1$
# GLUSTER CHECKS
command[check_glusterdata]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /gluster
# GITLAB CHECKS
command[gitlab_ctl]=/bin/sudo -n /bin/gitlab-ctl status $ARG1$
command[gitlab_rake]=/bin/sudo -n /bin/gitlab-rake gitlab:check
command[check_gitlabdata]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /var/opt/gitlab
# OPENSHIFT CHECKS
command[check_openshift_pods]=/usr/local/nagios/libexec/check_pods
文件:/usr/local/nagios/etc/nagios.cfg
cfg_dir=/usr/local/nagios/etc/static
您似乎混淆了两个插件。 check_service 只会检查服务是否在本地 运行ning。尝试这样称呼它:
/usr/local/nagios/libexec/check_nrpe -H 10.111.55.92 -c check_service -a httpd
不过,我会犹豫是否使用您提供的 check_service 命令。让 nrpe 使用 sudo 访问 运行 systemctl 对我来说似乎很危险。
check_http 是一个 http 客户端。它实际上会连接到 http 服务器并检查给定的 URI。它可以检查状态代码并执行各种操作。
您的 nrpe.cfg 中似乎没有包含 check_http 的任何参数。如果你这样调用它,它只会打印它的帮助消息,我认为它不会检查本地机器。
请注意,当您手动调用上面的 check_http 时,您需要提供 -H。 -H 不会自动传递,您需要在 nrpe.cfg.
中为 check_http 命令提供参数换行:
命令[check_http]=/usr/local/nagios/libexec/check_http
类似于:
命令[check_http]=/usr/local/nagios/libexec/check_http -H 127.0.0.1
假设您的 http 正在侦听本地主机,它应该会更好地工作。
你可能不想像这样通过 nrpe 调用 check_http。让你的 nagios 服务器调用 check_http 到远程机器。