背景##
個人で使えるCisco Merakiの評価機を幸運にも所有している。
たまたま目に入ったWebhooks(まだベータ版らしい)の機能が目についたのでお試しに使ってみた。
自分への備忘録を兼ねて投稿します。
一部Cisco Merakiを触ったことがある人/知っている人しかわからない用語等も含まれます。
Webhooksの設定画面####
ダッシュボードを開き、ネットワーク全体→設定→アラートを選択すると一番下の画面にこんな設定画面があります。
ここでWebhookを受信するHTTPサーバを追加設定します。
HTTPサーバを追加をクリックするとこんな感じで任意の名前とHTTPサーバのURL等を記載することになります。
当初このHTTPサーバをどうしようかと思ってMerakiの英語のコミュニティを見ていたところ、Zapier(多数のアプリを組み合わせて自分ならのワークフローが作れるintergration Platform as a Service)が使えるよ!って書いてあるのを見て調べたのですが、
どうやらZapierの無料版ではWebhookの機能は使えない(Premiumのマークがついてました)ようなので途方に暮れていたところ、
Googleスプレッドシートで試せるようなのでそちらに方向転換しました。
Webhooksを使うためのステップ###
とてもシンプルでこの4つのステップを実行するだけです。
1.Googleスプレッドシートを作成
2.GitHubに公開されているコードを持ってきてコピー
3.Webアプリ公開
4.MerakiダッシュボードにWebhookの設定を投入
1.Googleスプレッドシートを作成##
新規にGoogleスプレッドシートを開いてツール→スクリプトエディタを選択します。すると下のような画面になります。
2.GitHubに公開されているコードを持ってきてコピー##
GitHubのここからコード(code.gs)を持ってきてスクリプトエディタの初期から記載されているコード.gsの内容を入れ替えます。
3.Webアプリ公開##
公開→ウェブアプリケーションとして導入を選択
次に下のような画面がでてくるのでWho has access to the appのところはAnyone,even anonymousを選択してDeployを押してください。
※Execute the app asは自分のメアドが表示されてしまうのでマスキングしてます。
Deployが終了するとWeb whook用のURLの宛先が表示されるのでこのURLをコピーします。
4.MerakiダッシュボードにWebhookの設定を投入##
MerakiのダッシュボードのWebhooksに戻り先ほどコピーしたURLを登録します。
ネットワーク全体→設定→アラートを開いた一番上のアラート設定の受信者に先ほど登録したWebhook用のサーバを登録しましょう。
今回はWebhook:GoogleSheetという名前になっています。
確認作業###
保存した後はWebhookのテストを実施します。Webhooksの設定箇所でWebhookテストが実施可能です。
成功すると緑色、失敗すると赤になります。自分は最初URLを最後までコピーしてなくて失敗しました。
次に設定可能なパラメータを何か変更して見て設定変更がGoogleスプレッドシートに反映されるか見てみます。
一部情報を非表示にしたりしてますが、スプレッドシートにアラート情報を受け取っていることはわかるかと思います。
まとめ###
直接Webhookの設定をするのは初めてでした。やっぱり自分の手である程度やらないとイメージもわかないので、
思い立ったが吉日でやってみた結果、多少理解度が深まった気がします。
設定変更が発生したらSlackやTEAMSに通知みたいなこともゆくゆくは試してみたいですね。
参考###
今回の検証はほとんどCisco Devnetのコンテンツを参照して実施してます。
https://developer.cisco.com/meraki/build/meraki-dashboard-alerts-with-google-sheets/