0

我正在尝试让 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 将其称为失败并发出通知的见解将不胜感激。

4

1 回答 1

1

A 在文档中声明,您可以指定处理程序将触发的严重性。

{
  "handlers": {
    "statsd": {
      "type": "udp",
      "severities": [
        "warning",
        "critical",
        "unknown"
      ],
      "socket": {
        "port": 8125,
        "host": "statsd.service.consul"
      }
    }
  }
}

这是否不起作用然后在上面发布您的处理程序配置。

于 2015-08-11T20:36:12.497 回答