可分别设定下列数值:
l Channel: 监听的频道。
l Trigger Word: 触发的关键词,可以逗号分隔。
l URL: 接收数据的URL,一行一个。
l Token: Slack产生的,可以做为核对身分的依据。
下拉选单,并选择要传送讯息的 channel,然后新增 “Incoming WebHooks integration”。
记下 Webhook URL,储存后,并复制到ICINGA server上要用的 script。
3. ICINGA 设定
3.1. 首先需要建立二个 Slack Notification Shell scripts,可直接由 Github 上下载 slack_host和 slack_service。链接网址为: https://github.com/linhc130/icinga-plugins-slack-notification
编辑 slack_service ,并加上所要连接之Slack 服务的设定参数。
编辑 slack_host.sh,同样的在最后端加入 Slack 的 WebHooks 连接信息。
3.2. 告警信息Shell Scripts 发送测试
执行 slack_service.sh ,若正常,即会出现一个不带任何信息的告警信息。
ICINGA透过Slack所发出的空白信息。
3.3. 在 ICINGA设定 Contacts 及 Notification Commands 连接Slack 服务
首先在 contacts.cfg 加入下面设定值。
并在 commands.cfg 加入下面参数,让系统接收到报警时,去执行 slack_service.sh 和 slack_host.sh。
4. 告警信息传送测试
变更任一 ICINGA service 报警,如本文例子降低Cisco 温度警报触发度数,使 ICINGA 触发 notification。编辑 switch.cfg 配置文件,在此我们将温度警报设定从 45度降低至 35度 ,重新启动 ICINGA,并查询是否正确收到告警信息。
确认可在 Slack 上收到温度告警信息后即可改回,并重启 ICINGA。
当事件触发后,查看手机所接收到之信息,开启APP后即可查看告警信息内容。
5. 总结
维持主机服务的运行,是每个系统管理人员最基本的职责。但受限于人力的考虑,管理人员不可能 24 小时随时监控系统服务的运行。当遇到系统服务发生异常时,能实时通知管理者的监控系统,是每个管理人员所迫切需要的。我们利用 ICINGA 监控软件搭配 Slack 的通讯平台服务,不仅帮助管理人员实时监控系统服务的状态,也能在系统服务发生异常时,立刻以短信通知管理者。让管理人员可以快速处理,减少意外事件的冲击。