Sensu 只处理每 180 次出现

nul*_*tek 7 sensu

我安装了最新的 sensu-core 并且我已经使用 omnibus 包安装了 sensu-plugin gem。

Sensu 已启动并正常运行,但我遇到了处理程序的主要问题。我已经设置了来自社区插件的标准 ruby​​ mailer.rb 以及 pagerduty 处理程序。

当我将处理程序添加到我知道在日志中失败的检查时,我看到:

{\"id\":\"a1e807d2-425f-4891-b291-ed5bda5b6105\",\"client\":{\"name\":\"mfp\",\"address\":\"25.147.26.157\",\"subscriptions\":[\"test\"],\"version\":\"0.20.0\",\"timestamp\":1437673191},\"check\":{\"command\":\"/etc/sensu/plugins/check-disk.sh -d /dev/md1 -w 80 -c 90\",\"interval\":10,\"handlers\":[\"default\",\"pagerduty\",\"mailer\"],\"occurrences\":3,\"subscribers\":[\"test\"],\"name\":\"disk\",\"issued\":1437673279,\"executed\":1437673201,\"duration\":0.01,\"output\":\"CRITICAL - /dev/md1 space used=94% | '/dev/md1 usage'=94%;80;90;\\n\",\"status\":2,\"history\":[\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\"],\"total_state_change\":0},\"occurrences\":513,\"action\":\"create\"}"]}
{"timestamp":"2015-07-23T12:41:20.873279-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: ws/disk\n"]}
{"timestamp":"2015-07-23T12:41:20.873561-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: wwv/disk\n"]}
{"timestamp":"2015-07-23T12:41:21.055407-0500","level":"info","message":"handler output","handler":{"type":"pipe","command":"/etc/sensu/handlers/pagerduty.rb","api_key":"2e24c101ef754ff6add39aaaffa846c9","name":"pagerduty"},"output":["only handling every 180 occurrences: mfp/disk\n"]}
Run Code Online (Sandbox Code Playgroud)

所以看起来处理程序正在触发但被 sensu-handler.rb gem 过滤,而不是创建电子邮件或 pagerduty 事件。

这是违规行

only handling every 180 occurrences
Run Code Online (Sandbox Code Playgroud)

有谁知道问题是什么?这是一个错误吗?我需要覆盖某些东西吗?对于此特定检查 (check_disk),我在 sensu 中发生了大量事件,因此它应该触发 pagerduty 和邮件程序。

小智 5

我在尝试集成松弛处理程序时遇到了同样的问题。您必须在处理程序配置文件中添加refresh参数。例如 :

{
  "checks": {
    "memory": {
      "command": "/etc/sensu/plugins/check-memory.sh -w 700 -c 64",
      "interval": 10,
      "subscribers": [
        "test"
      ],
      "handlers": [
        "slack",
        "default"
      ],
      "occurrences": 5,
      "refresh": 60
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

在本教程中找到的解决方案:http : //www.whiteboardcoder.com/2014/11/getting-sensu-to-talk-to-hipchat.html


nul*_*tek 1

这是 sensu-plugin 中的一个错误,不一定是错误,而是缺乏文档。问题在于 config.json 中,您需要为 API 块指定主机声明,sensu-plugin 需要这个,否则您会遇到这些过滤问题。

  "api": {
    "host": "localhost",
    "port": 4567
  }
Run Code Online (Sandbox Code Playgroud)