Sensu非企业版安装Slack Plugin

Installing Slack Plugin to Sensu NON-enterprise edition

我有 Sensu 运行 并尽我所能按照说明安装 Slack 插件。我试图只做一个 "hello-world" 来开始,但我似乎缺少文档。

我在 "getting started" 之后进行了检查: https://sensuapp.org/docs/0.20/getting-started-with-checks 一切似乎都在服务器上的正确位置。

我正在尝试安装以下社区插件,但他们有针对所有社区插件的全面说明。插件说明里有一个json文件,但是没说放在哪里... https://github.com/sensu-plugins/sensu-plugins-slack

这是我的 check_cron.json 的样子(我尝试了 2 种方法,其中 1 种来自 Sensu 以外的其他来源):

{
    "checks": {
      "cron_checks": {
        "handlers": ["default", "slack"],
        "command": "/etc/sensu/plugins/check-procs.rb -p cron -C 1 ",
        "interval": 60,      "subscribers": ["webservers"]
      },
      "cron": {
        "handlers": ["default", "slack"],
        "command": "/etc/sensu/plugins/check-procs.rb -p cron",
        "subscribers": [
            "production",
            "webservers",
        ],
        "interval": 60
      }
    }
  }

我在进行更改后重新启动了我的服务器。我假设此 cron 每分钟都会触发并调用 slack 通知插件,但不知道我遗漏了什么,也不知道将 .json 文档从 Slack 插件 "documentation" 放在哪里 https://github.com/sensu-plugins/sensu-plugins-slack

有什么帮助可以帮助我找到正确的方向吗?

您需要 Sensu 服务器上的处理程序来将请求发送到 Slack。你创造了那个吗?如果是,请post内容

我在 Git 的 "issues" 部分找到了答案 https://github.com/sensu-plugins/sensu-plugins-slack/issues/7

所以我刚刚解决了这个问题。 benishkey 确实在 link 中提供了解决方案,但是,以防万一有人遇到这个问题并且 link 坏了,我想我会添加解决方案。

-github user eugene-chow:

The Slack handler's config need to be named differently. Try the JSON below. I renamed the Slack config for each environment, and then pointed the handler to the respective config with -j config_name

{
  "handlers": {
    "slack-staging": {
      "type": "pipe",
      "command": "/usr/local/bin/handler-slack.rb -j slack-staging",
      "severites": ["critical", "unknown"]
    }
  },
  "slack-staging": {
    "webhook_url": "https://hooks.slack.com/services/...",
    "template" : ""
  }
}


{
  "handlers": {
    "slack-production": {
      "type": "pipe",
      "command": "/usr/local/bin/handler-slack.rb -j slack-production",
      "severites": ["critical", "unknown"]
    }
  },
  "slack-production": {
    "webhook_url": "https://hooks.slack.com/services/...",
    "template" : ""
  }
}

我将 handler-slack.rb 文件放入我的支票中并从那里引用它,因为它不在我的 /usr/local/bin/ 文件夹中

我遇到了同样的问题,所以答案已经给出了,但也许将来会对某人有所帮助,

首先,安装sensu slack插件

/opt/sensu/embedded/bin/gem install sensu-plugins-slack

然后,创建处理程序配置文件

   vim /etc/sensu/conf.d/slack-handler.json

handler-slack.rbhttps://github.com/sensu-plugins/sensu-plugins-slack/blob/master/bin/handler-slack.rb

{
    "handlers": {
        "slack": {
            "type": "pipe",
            "command": "/opt/sensu/embedded/bin/handler-slack.rb",
            "severites": ["critical", "unknown"]
        }
    },
    "slack": {
        "webhook_url": "https://your_webhook.com/abc",
        "template" : ""
    }
}