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

5
我已经运行了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文件内容(我尝试过两种方法,其中一种来自于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 请帮助我找到正确的方向。
4个回答

0

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

-github用户eugene-chow:

Slack处理程序的配置需要命名不同。尝试下面的JSON。我为每个环境重命名了Slack配置,然后使用-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/文件夹中。


0

我曾经遇到过同样的问题,所以答案已经给出,但也许会帮助未来的某个人。

首先,安装Sensu Slack插件。

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

接下来,创建一个处理程序配置文件

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

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

handler-slack.rb https://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" : ""
    }
}  

0
你需要在Sensu服务器上创建一个处理程序,以便向Slack发送请求。你已经创建了吗?如果是,请发布它的内容。

-1

1
请直接写出实际答案,而不是链接,因为链接可能会失效。 - basickarl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接