SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

ネットワーク装置からチャットにメッセージを投稿 (Aruba CentralとSlackの連携例)

aruba
2020.02.26

ビジネスチャットを使おう

働き方改革の1つとして、コミュニケーションツールはSlackに代表される、ビジネスチャットを導入されている方も多いでしょう。
しかし、ネットワークの監視といえば、Syslogやメールアラートを利用されていて、せっかく人とのコミュニケーションはチャットでリアルタイム化されているのに、ネットワーク障害が発生した場合はメールで通知を受け取るというのは少し野暮ったい気がします。

目標: Slackへメッセージを自動送信してみる

ネットワーク装置で特定のイベントが発生した場合に自動的にチャットにメッセージを通知する方法を見てみます。 やり方はいくつか存在するのですが、今日は非常に簡単な方法で、Slackへメッセージを投稿してみるまでの設定を見ていきます。

環境

今回は以下のような環境を用意してみました。
* Aruba Central
* Zapier (Starter Plan)
* Slack

Webhookとは

インターネットなどで検索すると、たくさん情報が出てくるのであえてここで詳細は説明はしませんが、Webhookとは、デバイス上でイベントが発生したことをWebのポストができる機能です。 この機能を利用することで、Aruba Central上で発生したイベントを自動フロー作成ツールを通して、Slackへ投稿するチャットを自動的に生成します。

w01.png

手順


Zapier上でSlackとの連携を行う

ZapierはSlackと連携するとメッセージの投稿が簡単になります。My AppからSlackを探して、自分が参加しているワークスペースにログインすると、連携できる状態になります。 必要に応じて、Slackのアカウント情報を入力することで、ZapierがSlackのチャネルへアクセス権限を付与します。 w02.png

Zapier上で、自動フローを作りましょう

Zapier上でフローを作ります。 今回はAruba CentralからWebhookを受けて、それをSlackへメッセージとしてポストするという流れです。 w03.png

Make Zapから"Webhook by Zapier"(Premiumアプリです)を選択し、トリガーイベントを"Catch Hook"としましょう。すると、Custom Webhook URLが表示されるので、このURLはコピーしてメモ帳などに貼り付けてください。 なお、このURLはとても大事なので誰にも知らせず、どこにも漏らさないように注意してください。

w04.png

一旦Skipテストから、Do thisを作ります。 Do thisでは、Slackを探して、"Send Channel Message"を選びましょう。 任意のSlackアカウントを選びます。 メッセージを送信するチャネル、Message Textを記入します。このときメッセージテキストは後ほど編集するので、一旦適当なメッセージを入れておきます。 w05.png 適当なメッセージを入れておきます。 w06.png

Aruba Central上でWebhookの登録、イベントの指定

Aruba Centralへログインし、WebhookのURLを登録します。 少々わかりにくい場所にありますが、アカウントホームの右下に"WEBHOOK"があります。 w07.png

新しいWebhookを作成し、任意の名前と先の手順でコピーした、ZapierのWebhook URLを貼り付けます。 w08.png

次に、Aruba Centralのアラート設定から、通知がほしいイベントを探して、イベントを通知先としてWebhookを選びます。 ネットワーク操作→グローバル→アラート及びイベント→アクセスポイント
ここにはAruba Cenralで検出できるアクセスポイントのイベントがまとめられています。 w09.png 任意のイベントを選択し、監視したいグループやサイトを選択してから、一番下のWebhookをチェックし、先程作成したWebhookのプロファイルを設定します。 w10.png

通知するイベントをチューニング

またZapierの設定画面に戻り、先程作ったZapを呼び出し、Catch Hookからテストを実行します。このときに、Aruba Centralからイベントを発生させます。
すると、Aruba Centralから送られてきたメッセージ内容が表示されます。 w11.png

この内容を変数として、Slackへのメッセージ投稿に利用します。 先程メッセージの内容は適当に記載しましたが、+のボタンを押して変数を使います。 w12.png

するとテストが成功して、Aruba Centralから送られてきたメッセージがあるので、これを使って、Slackへ通知するメッセージのテンプレートを作成します。 このときテストが成功していれば、変数が利用できるので、イベントの内容を自動的にメッセージに含めることができます。

あとは、テスト及びZapを有効にして同じようにイベントを発生させて、Slackへメッセージが送信されるか確認してください。 w13.png

まとめ

いかがでしたでしょうか。ネットワーク障害をログから分析するのもいいですが、やはりイベントの変化を兆候としてすぐに受け取ることは重要です。
もちろんメールで受信しても良いですが、どうしてもメールだと見逃しやすかったり、メール容量がなくなったりするケースも見受けられます。 また自動連携となると、プログラミングの知識やコードを書いたりすることも多いですが、最近のネットワークシステムならこのようにWebのGUIだけでも簡単な自動化ができるので大変便利です。 次回以降、他メーカー製品や他の仕組みを使った方法も取り上げようと思います。

テレワークに最適なソリューション

著者紹介

SB C&S株式会社
技術統括部 第3技術部 2課
宮本 世華

釣りが好きです。