Nagios 仅为 http 服务创建警告

Nagios 仅为 http 服务创建警告

我还想使用 nagios 监控非关键服务,例如我们的 GitLab 服务器或 phpMyAdmin 实例。有没有办法只为某些服务创建警告而不是严重错误?

目前我正在使用以下内容:

define service {
    host_name localhost
    use generic-service
    service_description HTTP GitLab
    check_command check_www!git.example.com!'/users/sign_in'
}

define command {
    command_name check_www
    command_line /usr/lib/nagios/plugins/check_http -H '$ARG1$' -I '$HOSTADDRESS$' -e 'HTTP/1.1 200 OK' -u '$ARG2$'
}

答案1

否定插件正是因为这个原因而存在。

使用 -c 选项,您可以将 CRITICAL 更改为 WARNING。例如,您可以执行以下操作:

define command {
    command_name check_www_no_crit
    command_line /usr/lib/nagios/plugins/negate -s -c WARNING /usr/lib/nagios/plugins/check_http -H '$ARG1$' -I '$HOSTADDRESS$' -e 'HTTP/1.1 200 OK' -u '$ARG2$'
}

答案2

问题似乎是您使用check_http标志来检查返回代码。如果检查失败,-e该插件似乎不提供返回 WARNING(而不是 CRITICAL)错误的选项。-e

您需要编写一个小型的 shell 脚本包装器,check_http它将输出不加改变地传递下去,但检查插件的返回代码,如果插件的返回代码为 2 则执行exit 1,否则将返回代码不加改变地传递下去。

相关内容