お問い合わせ
資料請求

Pandora FMS Enterprise SaaS に Slack 投稿機能を追加しました

Pandora FMS Enterprise SaaS では、障害や警告を検知した際に、電話やメールを使って通知機能をご提供しておりますが、今般これに加えて Slack への投稿による通知機能を追加いたしました。社内の情報共有に Slack を使っている方は是非ご利用いただき、今後の ChatOps 移行の礎としていただければ幸いです。
本稿では、本機能の詳細と利用方法、今後の展開について公開します。

Slack 投稿機能の仕組み

Pandora FMS blogChatOps: Pandora FMS meets Slack and Mattermost という記事を参考に、Pandora FMS Enterprise SaaS サーバー上に以下のスクリプトを用意しました。
Incoming WebHook の機能を使ってメッセージを投稿する、単純なスクリプトです。

#!/bin/bash
TEXT=$1
URL=`echo $2 | sed 's/^\[RECOVER\]//'`
CHANNEL=`echo $3 | sed 's/^\[RECOVER\]//'`
USERNAME=`echo ${4:-"Pandora FMS Enterprise SaaS"} | sed 's/^\[RECOVER\]//'`
ICON=`echo ${5:-"http://download.monitor.rworks-ms.jp/pandora-fms-enterprise-saas-slackicon.png"} | sed 's/^\[RECOVER\]//'`

MSG="'payload={\"channel\": \"$CHANNEL\", \"username\": \"$USERNAME\", \"text\": \"$TEXT\", \"icon_url\": \"$ICON\"}'"
COMMAND="curl -X POST --data-urlencode $MSG $URL"
eval $COMMAND

さらに、このコマンドを Pandora FMS Enterprise SaaS サーバー上でアラートコマンドとして実行させるため、「Slack への投稿」というアラートコマンドを登録しました。
「Slack への投稿」アラートコマンド詳細画面

利用方法

a. Slack の WebHook URL を取得

Slack への投稿を行うにあたり、Webhook URL を取得する必要があります。ご利用中の Slack で、以下の手順を実施してください。
なお、Slack 側の仕様変更により、以下の手順と同じ画面が表示されない可能性があります。この場合は、Slack のマニュアル等を参考に、 Incoming WebHook の URL を取得してください。

  1. Slack にログインし、左上の「v」マークをクリックします。
    メニューがポップアップするので、この中から「Apps & integrations」をクリックします。
    Slack詳細メニュークリックするとアプリ検索画面に遷移します。
    Slackのアプリサーチ画面
  2. 検索窓に「Incoming WebHooks」と入力すると、候補の一番上に「Incoming WebHooks」が出るので、これをクリックします。
    Slackアプリサーチ画面でIncoming WebHooksを選択
    Incoming WebHook の説明画面に遷移するので、左側緑色の「Add Configuration」をクリックします。
    Incoming WebHooks 紹介画面
  3. 「Post to Channel」のプルダウンメニューから自動投稿したいチャネルを選び、「Add Incomin WebHooks Integration」をクリックします。投稿先にしたいチャネルが表示されない場合、「create a new channel」から新しいチャネルを作ってください。
    画面例では、あらかじめ作成していた「pandorafms_events」というチャネルを選んでいます。
    Incoming Webhook作成!
  4. 作成した Webhook URL が「Webhook URL」欄に表示されます。画面外にもありますので、すべてをコピーしてください。
    WebHookできました

b. アラートアクションを定義

設定済みのアラートコマンドを使って、アラートアクションを定義します。最低限設定してほしい項目と内容例を、下表に示します。

※「下記表は指でスライドさせてご覧いただけます。」

名前 Slack への投稿(チャネル名)
コマンド Slack への投稿
メッセージ/障害通知 任意
メッセージ/復旧通知 任意
Webhook URL/障害通知 上記手順で取得した Webhook URL
channel/障害通知 上記手順で指定した投稿先チャネル

以下画像の設定例も参考にしてください。
「Slackへの投稿(pandorafms_events)」アラートアクション設定画面

既存アラートに追加

本手順で定義したアラートアクションを、以下いずれかの手順で既存モジュールへ割り当ててください。

  • 既存のアラートに、本手順で定義したアラートアクションを追加する。
  • ポリシーで定義しているアラートに、本手順で定義したアラートアクションを追加する。
  • アラートテンプレートに、本手順で定義したアラートアクションを割り当てる。アラートテンプレート適用時のデフォルトの動作になる。

実際にアラートが発生した時と復旧した時の、画面表示例を掲載します。
Slack への投稿サンプル

今後の計画

既に Pandora FMS Enterprise SaaS をご利用の方で、Slack への投稿を行わせたいお客様は、弊社担当までご連絡ください。
障害検知か復旧投稿か、または警告検知なのかを Slack メッセージの受信者が直感的に理解しやすくするため、メッセージ本文を色付きの引用形式にするのもよいかもしれません。

ご相談・お問い合わせはこちらから

サービスについてのご相談、資料のご請求など、お気軽にお問い合わせください。

03-5946-8400 平日 10:00 - 18:00
page top