NSClient通过NSCA向Nagios上报主机检查自定义消息报错问题
故障原因
NSClient++ 0.5.2版本内置Check_OK命令不支持直接传入位置参数作为返回消息。直接在命令后拼接"OK"的写法不符合该命令传参规则,传入的字符串会被识别为无效命令选项,触发状态码3的参数错误;未传入消息参数时,命令默认返回空消息,经NSCA上报到Nagios服务端后会被填充为固定文本No message。
修正方案
- 编辑nsclient.ini的调度配置段,显式通过
message参数指定自定义返回消息,正确配置示例:[/settings/scheduler/schedules] host_check = Check_OK message="OK: 主机运行正常" - 若需要自定义上报的状态码,可追加
exit-code参数,例如上报警告状态的配置:host_check = Check_OK exit-code=1 message="WARNING: 主机资源使用率超过阈值" - 保存配置后重启NSClient++服务,配置即可生效。
- 校验:查看Nagios服务端日志,主机检查结果会正常携带自定义消息,不再出现命令行参数错误。
内容的提问来源于stack exchange,提问作者the-burgh
相关产品推荐
相关产品推荐

