前提
運用しているサーバーの監視をMackerelで行っています。
そしてMackerelから発報された通知はTeamsのIncoming Webhookを使って受信しています。
チャネル追加の際に「Microsoft Teams」を選択しています。
突然やってきた、「なくなるよ」通知
2024/7/9の深夜に通知された内容の末尾に何やら見慣れない英語が・・・
文中のリンク先は下記のとおりです。
Learn more
Set up workflow
Learn moreの方を確認すると、Office 365系コネクタを段階的に廃止するぜ!猶予期間は2024/9末までな!だそう。
いきなりすぎるやないか!!!
Wave 1 – effective August 15th, 2024: All new Connector creation will be blocked within all clouds
Wave 2 – effective October 1st, 2024: All connectors within all clouds will stop working
と言っていても、Microsoftさんですし仕方ないですね。
仕方ないので対応する
webhookをworkflowに置き換えなさいってあるので、Set up workflowリンクを踏んでWorkflowを作ってみます。
指示通りにポチポチ。
最後に表示されたURLをコピーして、Mackerel通知チャネルの「URL」欄に貼り付けます。
これでMackerel通知チャネルのテスト送信をしてみます。
・
・
・
Teamsに通知が来ない。
WorkflowはPower Automateで実現されているので、Power Automateのクラウドフローから、先ほど作成したWorkflowの実行履歴を開いてみます。
「失敗」してますね。
Workflowの内容確認と、何が起きているのかを確認してみます。
入力の受付は成功して、その後ループ?なんでなんでしょうね。とりあえずそこでエラーが起きているみたい。
入力アクション部分を見ると、「成功」してますが、schemaと実際の入力が全然違います。
エラーの起きているループアクションを確認すると「bodyのattachmentsがNULL」と。。。
そりゃそうです。入力アクション部分で受けている内容はどうみても「attachements」なんてありません。
schema違いますやん!
なんですが、このschemaは変更できないので、ガン無視します!!
そもそもAdaptiveカードである必要もないというか、Mackerelから送られてくる内容(入力アクションの出力セクション「body」参照)的にそうであっては困るので、単にメッセージを投稿するアクションに変更します。
そして、schemaはガン無視なので、入力が格納されている変数を直接使って組み立てます。
こうなりました。
表示 | 値 |
---|---|
themeColor | triggerBody()?['themeColor'] |
title | triggerBody()?['title'] |
text | triggerBody()?['text'] |
再びMackerel通知チャネルのテスト送信をしてみます。
成功!!!
リソースアラートはこんな感じに表示されるようになりました。
グラフ画像がちょっと小さくはなりましたが、まぁ十分雰囲気はわかるしこれでよし。