h9803660ブログ

ネットワーク関連の技術検証のメモ、ネットワーク製品動向、投資のこと等を気が向いた時に書くかもしれません。

Cisco MerakiのWebhooksを試してみた

背景

個人で使える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/

元記事

qiita.com