我正在尝试让 sensu 在磁盘已满时发送电子邮件,使用社区磁盘检查插件。即使 Sensu 执行的命令返回状态 0,Sensu 也会触发处理程序。
这是 check_disk.json 文件
{
"checks": {
"check_disk_usage": {
"command": "/etc/sensu/plugins/check-disk.rb -c 42 -w 43",
"handlers": ["debug", "email"],
"subscribers": [ "disk_check" ],
"interval": 30,
"notification": "Disk Check failed",
"occurrences": 5
}
}
}
在这里我手动运行命令,注意成功和状态为零:
/etc/sensu/plugins/check-disk.rb -c 42 -w 43
CheckDisk OK: All disk usage under 43% and inode usage under 85%
[root@ip-10-9-66-239 conf.d]# echo $?
0
这是我的 sensu-client.log 中的相关输出
{"timestamp":"2015-06-17T20:03:43.079971+0000","level":"info","message":"publishing check result","payload":{"client":"portal","check":{"name":"check_disk_usage","issued":1434571422,"command":"/etc/sensu/plugins/check-disk.rb -c 42 -w 43","handlers":["debug","email"],"subscribers":["disk_check"],"interval":30,"notification":"Disk Check failed", "occurrences":5,"executed":1434571422,"duration":0.104,"output":"CheckDisk OK: All disk usage under 43% and inode usage under 85%\n","status":0}}}
任何 sensu 将其称为失败并发出通知的见解将不胜感激。