简短版本:如果我想更改 Nagios 集中的某个“命令定义”,最好的方法是什么?
例如,我想将-f
(follow) 标志添加到在 中找到的 check_http 命令之一/etc/nagios-plugins/config/http.cfg
。但编辑这些文件感觉不对。
我是否应该编辑现有命令以满足我的需求?我是否应该将自己的命令添加到文件http.cfg
以满足我的需求?有没有地方可以添加自己的命令文件?
非常欢迎对文档提供指引!
答案1
在 中使用新名称定义您自己的命令etc/objects/commands.cfg
,如下所示:
define command{
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}
define command{
command_name check_http_redirect
command_line $USER1$/check_http -I $HOSTADDRESS$ -f $ARG1$
}
并使用您想要处理的相应状态来调用它/etc/nagios-plugins/config/http.cfg
:
define service{
use generic-service
host_name domain.com
service_description domain.com
check_command check_http_redirect!warning
process_perf_data 0
contact_groups admin
}
从命令行运行的示例:
$ check_http -H domain.com -f warning
HTTP WARNING: HTTP/1.1 301 Moved Permanently - 428 bytes in 0.003 second response time |time=0.002897s;;;0.000000 size=428B;;;0