ASCII.jpさんに「ノンコーディングで質問に自動回答するLINE BOTを作ってみよう」という記事を寄稿させていただいています。
今回はQnA Makerが動かなかった場合のエラー処理を追加(LINEにエラーメッセージを送信、Slackにエラーがあったことを通知)する方法と、サービスの監視に便利なサービス(Log Analytics)についてメモ的なエントリーです。
失敗した場合の処理を追加する
ノンコーディングで作成するLINE BOTのベースは「ノンコーディングで質問に自動回答するLINE BOTを作ってみよう」を参考にされてください。
何かエラーがあってワークフローが動かなかった場合、ユーザーがLINEで話しかけても「何もレスが来ない状態」になってしまいます。
それを防ぐため、以下の処理を追加します。
- LINEにエラーメッセージを送信
- Slackにエラーがあったことを通知
「Generate answer」コネクタの下に「並列分岐の追加」をクリックし、処理を追加します。
赤枠内をクリックして「実行条件の構成」を選び、「に失敗しました」にチェックを入れます。これで「Generate answer」コネクタが正常に動かなかった(失敗した)場合に、こちらの処理が動くことになります。
Slackに「LINE BOTが送信に失敗しています。確認してください。」という文言が通知されるようにします。
実際にQnA Makerコネクタが失敗した場合
LINEはこのようなメッセージが返信されます。
Slackにはこのような通知が来るようになりました。
「Generate answer」コネクタが正常に動かなかった(失敗した)場合に都度Slackに通知されるので、アラート通知としては即時通知の1つになるかなと思います。
Log Analyticsを利用する
Logic Appsは「概要」部分でワークフローの実行履歴は見れますが、より詳細な内容を見たい場合は「Log Analytics」を利用するのがオススメです。
設定方法などは以下の記事を参考にされてください。
https://docs.microsoft.com/ja-jp/azure/logic-apps/logic-apps-monitor-your-logic-apps
画面はこのような感じ。
例えば、「アクション / トリガーのエラー」をクリックすると、このような情報がデフォルトの状態でも表示されます。
いろいろ機能があって全部を理解しきれていないので、もっと勉強しなければなサービスなのですが、ログを集めて分析できるものがあるのはいいのではないかな?と。使いこなすとサービスの監視が捗りそうですw
もっと簡易的にアラートを出す方法はこちらの記事をどうぞ。
https://zuvuyalink.net/nrjlog/archives/4124
最後に
Logic Appsを利用してLINE BOTを作成すると、このようにイレギュラーな処理も後から簡単に追加することができます。
監視の必要性やエラー時の処理などは運用後にわかることも多いかと思うので、現場で手軽に修正できるのは便利ではないかと。
Azureには便利な機能があるので、色々使ってみてください!