NagiosとSlackの連携時、Channelを指定する

NagiosとSlackの連携時、Channelを指定する

NagiosとSlackの連携は検索すれば出てくるものの、Channelが固定だったので、Nagiosのcontact毎に指定する方法を記載します。

環境

  • Slack
  • Ubuntu 16.04
  • Nagios 3.5.1.dfsg-2.1ubuntu1.3

Slack設定

Slackのアプリを追加で、Nagiosを設定。
手順は、アプリ追加時のセットアップ手順を参照。

Nagios設定

セットアップ手順にて、以下の部分を個別に指定。
  • command
    slack_channelに`"#$CONTACTEMAIL$"のマクロを指定
  • contact
    emailに通知するチャンネルを指定
これでcontactごとにemailでチャンネルを指定できる
define command {
  command_name notify-service-by-slack
  command_line /usr/local/bin/slack_nagios.pl -field slack_channel="#$CONTACTEMAIL$" -field HOSTALIAS="$HOSTNAME$" -field SERVICEDESC="$SERVICEDESC$" -field SERVICESTATE="$SERVICESTATE$" -field SERVICEOUTPUT="$SERVICEOUTPUT$" -field NOTIFICATIONTYPE="$NOTIFICATIONTYPE$"
}

define command {
  command_name notify-host-by-slack
  command_line /usr/local/bin/slack_nagios.pl -field slack_channel="#$CONTACTEMAIL$" -field HOSTALIAS="$HOSTNAME$" -field HOSTSTATE="$HOSTSTATE$" -field HOSTOUTPUT="$HOSTOUTPUT$" -field NOTIFICATIONTYPE="$NOTIFICATIONTYPE$"
}

define contact {
  contact_name  slack-nagios
  alias slack-nagios
  service_notification_period 24x7
  host_notification_period  24x7
  service_notification_options  w,u,c,r
  host_notification_options d,r
  service_notification_commands notify-service-by-slack
  host_notification_commands  notify-host-by-slack
  email nagios
}

コメント

このブログの人気の投稿

AMD環境でKVM PCIパススルー (PT2で)

Rails Devise認証のカスタマイズメモ