Azure Monitor には監視対象の状態(シグナル)に応じてアラートを発報することができます
このアラートにはステートレスとステートフルの2つの種類があります
今回はこれの違いを試してみました
アラートの状態
Azure Monitor アラートにはいくつかのプロパティがあります
その中に、「警告条件 (アラート条件)」と「ユーザーの応答」が含まれます
項目 | ステータス | 説明 |
---|---|---|
警告条件 (アラート条件) | 起動済み、解決済み | Azure 基盤側で管理 |
ユーザーの応答 | 新規、確認済み、終了 | ユーザー側で管理 |
ステータスだけを見ると似ているのでわかりずらいですが、誰がステータスを管理するかを意識するとわかりやすいです
今回、題材にしているのは Azure で管理する「警告条件 (アラート条件)」です
ざっくり手順
- Azure Monitor アラートの作成
- 仮想マシンに負荷をかける
- 負荷中のアラート確認
- 負荷解除後のアラート確認
1. Azure Monitor アラートの作成
仮想マシンの CPU 使用率を対象にするアラートを作成します
[アラートを自動的に解決する] のチェックを外すことでステートレス アラートになります
アラートの発生条件を同じにして、[アラートを自動的に解決する] のチェックを入れてステートフル アラートを設定しておきます
2. 仮想マシンに負荷をかける
CPU に負荷をかけてアラートを発生させます
負荷は Azure Chaos Studio を使用しました
Chaos Studio を使って VM のテストをし隊 – クラウドを勉強し隊
3. 負荷中のアラート確認
Chaos Studio で CPU に負荷をかけてしばらくするとアラートが発報されました
ステートレスはアラートの確認が発生するたびに新しいアラートが発報されます
一方でステートフルはアラートが発報された後、アラートが解決されるまで新しいアラートが発報されません
4. 負荷解除後のアラート確認
負荷を解除し、しばらくすると、ステートフル アラートの警告条件(アラート条件)は解決済みになります
しかし、ステートレス アラートは解決済みにならず、起動済みのままです
解決済みになるロジックはこちらを見てください
Azure Monitor の警告の概要 - Azure Monitor | Microsoft Learn
まとめ
Azure Monitor アラートのステートレスとステートフルを試しました
同じ問題のアラートが頻発している場合は、アラート設定を見直し 場合によってはステートフルに変更すると良いかもしれません