shinken 故障排除

shinken 故障排除

我有一个 Shinken 设置,用于测试 2 个经过 HTTP 身份验证的域。为此,我使用以下自定义宏:

define command {
    command_name new_check_http
    command_line /opt/shinken/libexec/check_http $ARG1$ --warning $ARG2$ --critical $ARG3$
}

该命令的调用方式如下

check_command new_check_http!-I my_host -H my_website -p 80 -a "http_user:http_password"!10!30

当我尝试时/opt/shinken/libexec/check_http -I my_host -H my_website -p 80 -a "http_user:http_password --warning 10 --critical 30,我得到了 302,就像我应该得到的一样。然而,Shinken 每小时都会报告 401。可能是什么问题?我如何才能看到实际正在做什么?

答案1

我认为这可能是空格和引号的问题。尝试用更多变量将其分隔开,例如:

define command {
    command_name new_check_http
    command_line /opt/shinken/libexec/check_http -I $ARG1$ -H $ARG2$ -p $ARG3$ -a $ARG4$ --warning $ARG5$ --critical $ARG6$
}

check_command new_check_http!my_host!my_website!80!http_user:http_password!10!30

或者更好的是,使用自定义变量:

define command {
    command_name new_check_http
    command_line /opt/shinken/libexec/check_http -I $_IP$ -H $_HOSTNAME$ -p $_PORT$ -a $_AUTH$ --warning $ARG1$ --critical $ARG2$
}

然后,在您的主机定义中:

define host{
  host_name test
  address   127.0.0.1
  _IP       127.0.0.1
  _HOSTNAME test
  _PORT     80
  _AUTH     http_user:http_password
}

相关内容