Nagios check_service.sh 错误 redis-server 无法识别的服务

Nagios check_service.sh 错误 redis-server 无法识别的服务

我在 Nagios 监控方面遇到问题。我有以下配置:

在命令.cfg 中

define command{
        command_name    check_service.sh
        command_line    /usr/lib64/nagios/plugins/check_service.sh -o $ARG1$ -t $ARG2$ 
}

在服务定义中

define service {
        use                             generic-service
        host_name                       ARGPLUS_REDIS_SLV
        service_description             Redis Service
        check_command                   check_service.sh!linux!"service redis-server status"
        notifications_enabled           0
        }

我收到以下错误:

当前状态:未知(0 天 0 小时 0 分 17 秒)状态信息:未知状态:redis-server:无法识别的服务命令或服务配置中是否有拼写错误?:redis-server:无法识别的服务

但使用相同的配置,只需更改进程名称即可获得正确的输出

define service {
        use                             generic-service
        host_name                       ARGPLUS_REDIS_SLV
        service_description             Redis Service
        check_command                   check_service.sh!linux!"service nrpe status"
        notifications_enabled           0
        }

输出 服务状态信息当前状态:OK(0 天 0 小时 24 分 20 秒)状态信息:nrpe(pid 16124)正在运行...

我认为进程名称 redis-server 中的减号导致了问题。

答案1

我认为 redis 服务也可以用名称运行redis. 有可能。

define service {
        use                             generic-service
        host_name                       ARGPLUS_REDIS_SLV
        service_description             Redis Service
        check_command                   check_service.sh!linux!"service redis status"
        notifications_enabled           0
        }

确认运行手动检查

 $ ./check_service.sh -o linux -t "service redis status"

相关内容