Azure Load Testing で通知機能がサポートされたので設定してみた
いわさです。
先日のアップデートで Azure Load Testing の通知機能が GA となりました。
Generally Available: Configure Notifications in Azure Load Testing
Azure Load Testing now allows you to configure notifications to receive updates for key events, such as test completion or schedule changes. These notifications can help you automate follow-up actions and improve team collaboration.
この機能を使うことで、Azure Load Testing の各種実行イベントが発生した時に通知を行うことができるようになります。
通知先・通知条件もいくつか指定できるので、CI/CD パイプラインの自動実行中に失敗イベントだけ通知するなど柔軟に設定できそうです。
サポートされているイベントや通知チャネル
以下が該当機能の公式ドキュメントです。
後ほど後述しますが、通知構成は Azure Load Testing リソース上の通知機能として設定します。
そのため最低でもリソースレベルでの「負荷テスト所有者」または「所有者/共同作成者」のロールが必要となります。
ドキュメントによると次のイベント発生時に通知を行うことができるとされています。
- テスト実行が開始
- テスト実行が完了
- スケジュール イベント
しかし、ポータル上から設定するとわかりますが、もう少し細かく設定が可能です。
例えばテスト実行完了については失敗時のみ通知することもできます。
また、通知先には Azure Monitor のアクショングループを設定する形です。
そのため非常に柔軟な通知やトリガーアクションの設定が可能となっています。
このあたりも実際の設定画面を後ほど見てみましょう。
通知設定方法
というわけで実際に通知構成を行ってみたいと思います。
今回の機能は個別のテスト作成時に通知設定を行うのではなく、Azure Load Testing リソースに設定する共通の機能となっています。
Azure Load Testing の「通知」メニューから設定ができます。
ここから通知のルールを作成するのですが、最初にスコープを決めることができます。
すべてのテストを対象とするか、個別にテストを指定することができます。テストごとに通知先や条件を変更できそうで良いですね。
特定のテストを指定する際はルールベースで指定できるわけではなく、それぞれのテストを指定する形となります。
なので、テスト追加時は必要に応じてこの構成側にも設定が必要です。
続いて対象イベントですが、イベントタブでどのイベントを通知対象とするか選択が可能になっています。
毎回すべてが通知されるとノイズになりそうだなぁとも思ったのですが、次のように対象イベントを絞った通知が可能です。これは使いやすそう。
なお、上記からいくつかのイベントは定義がわかりにくいので以下に補足しておきます。
- 「状態が失敗」:テスト構成が正しくないことで実行に失敗した場合に発生
- 「テスト結果が失敗」:テスト条件に基づいてテスト結果が失敗した場合に発生
- 「スケジュールが無効」:テスト実行が 3 回連続で失敗した場合に発生
最後に通知先をアクショングループで指定できます。
既存の Azure Monitor のアクショングループも指定できますし、ここから新規作成も可能です。
ご存知の方も多いと思いますが Azure Monitor のアクショングループは非常に多様な通知先とアクションをサポートしています。
通知先電子メール、SMS、Azure Mobie App 通知、音声に対応。
アクションは以下のアクションタイプがサポートされています。エラー発生からタスク管理システムに連携するとか、上記以外の通知先にカスタム通知を送るとかなんでもできます。
通知内容の確認
設定方法は以上なのですが、最後に実際に負荷テストを実行して通知される基本的な内容を確認してみます。
今回はアクショングループには通知メールアドレスのみ指定しています。
実行開始時には次のようなメールを受信しました。送信者は「azure-noreply@microsoft.com」ですね。
テスト終了時は「Test run ended for xxx」という内容で受信されます。
内容なんですが、テストが終わったよだけでなく、どの程度の時間テストが実行され何件リクエストが送信されたのか、平均スループットがどの程度だったのかなど、簡易的なレポートとして確認できますね。
使った VUH も記載されているので管理者的にもありがたいかもしれないです。
さいごに
本日は Azure Load Testing で通知機能がサポートされたので設定してみました。
Azure Load Testing の利用ユースケースによってはこれは欲しかったという機能なのではないでしょうか。
CI/CD で使っている場合にパイプライン側でもエラー検知して通知とかはできると思いますが、より簡単に構成できるのと通知内容からテスト状況まで把握ができるのが良いですね。