提问者:小点点

将Slack插件安装到Sensu非企业版


我已经运行Sensu并按照说明尽我所能安装Slack插件。我正试图做一个“hello-world”来开始,但我似乎缺少留档。

我跟着检查“入门”: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通知插件,但不知道我错过了什么,或者把Slack插件中的. json文档放在哪里"留档"https://github.com/sensu-plugins/sensu-plugins-slack

能帮我找到正确的方向吗?


共3个答案

匿名用户

您需要Sensu Server上的一个处理程序来将请求发送到Slack。你创建了吗?如果是,请发布它的内容。

匿名用户

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

-github用户eugene-chow:

Slack处理程序的配置需要不同的命名。试试下面的JSON。我为每个环境重命名了Slack配置,然后用-jconfig_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" : ""
    }
}