チュートリアル: Azure リソースのログ検索アラートを作成する

Azure Monitor のアラートは、監視データで重要な状態が見つかると事前に通知します。 ログ検索警告ルールは、ログ クエリが特定の結果を返す場合にアラートを作成します。 たとえば、仮想マシンで特定のイベントが作成された場合にアラートを受信したり、ストレージ アカウントに対して過剰な数の匿名要求が行われた場合に警告を送信したりします。

このチュートリアルでは、次の作業を行う方法について説明します。

  • さまざまな種類のリソースのアラート ルールをサポートするように設計された事前構築済みのログ クエリにアクセスする
  • ログ検索警告ルールを作成する
  • 通知の詳細を定義するアクション グループを作成する

前提条件

このチュートリアルを完了するには、以下のものが必要です:

  • 監視する Azure リソース。 診断設定がサポートされている、Azure サブスクリプション内の任意のリソースを使用できます。 リソースで診断設定がサポートされているかどうかを調べるには、Azure portal でリソースのメニューの [監視] セクションに [診断設定] オプションがあることを確認します。

仮想マシン以外の Azure リソースを使用している場合は、以下が必要です。

Azure 仮想マシンを使用している場合は、以下が必要です。

ログ クエリを選択し、結果を確認する

Log Analytics ワークスペースからデータを取得するには、Kusto クエリ言語 (KQL) で記述したログ クエリを使用します。 Azure Monitor の分析情報とソリューションには、特定のサービスのデータを取得するためのログ クエリが用意されていますが、Azure portal では Log Analytics を使用してログ クエリとその結果を直接処理することができます。

リソースのメニューから [ログ] を選択します。 Log Analytics が [クエリ] ウィンドウとともに開き、[リソースの種類] に対する事前構築済みのクエリが表示されます。 [アラート] を選択して、警告ルール用に設計されたクエリを表示します。

Note

[クエリ] ウィンドウが開かない場合は、右上にある [クエリ] をクリックします。

[クエリ] ウィンドウが開かれた Log Analytics

クエリを選択し、 [実行] をクリックしてクエリ エディターに読み込み、結果を返します。 クエリを変更して、もう一度実行することもできます。 たとえば、ストレージ アカウントに対する匿名要求の表示クエリが次のスクリーンショットに示されています。 [AuthenticationType] を変更したり、別の列でフィルター処理したりできます。

クエリの結果

アラート ルールの作成

クエリを確認したら、アラート ルールを作成できます。 [新しいアラート ルール] を選択し、現在のログ クエリに基づいて新しいアラート ルールを作成します。 [スコープ] は既に現在のリソースに設定されています。 この値を変更する必要はありません。

アラート ルールの作成

条件の構成

[条件] タブでは、[ログ クエリ] が既に入力されています。 [測定] セクションでは、ログ クエリからのレコードの測定方法を定義します。 クエリで集計が行われない場合、唯一のオプションは [テーブルの行][カウント] することです。 クエリに 1 つ以上の集計された列が含まれる場合は、[テーブルの行] の数を使用するか、または集計された列のいずれかに基づく計算を行うかを選択できます。 [集約粒度] は、収集された値を集約する時間間隔を定義します。 たとえば、集計の細分性が 5 分に設定されている場合、警告ルールは過去 5 分間に集計されたデータを評価します。 集計の細分性が 15 分に設定されている場合、警告ルールは過去 15 分間に集計されたデータを評価します。 警告ルールはアラートの精度に影響を与える可能性があるため、警告ルールに適した集計の細分性を選択することが重要です。

Note

ログ警告ルールのプロパティ内のすべてのデータの合計サイズが 64KB を超えることはできません。 これは、ディメンションが多すぎる、クエリが大きすぎる、アクション グループが多すぎる、または説明が長いことが原因で発生する可能性があります。 大きな警告ルールを作成する場合は、これらの領域を最適化することを忘れないでください。

アラート ルールの条件

ディメンションの構成

[Split by dimensions](ディメンションで分割) すると、さまざまなリソースに対して個別のアラートを作成できます。 この設定は、複数のリソースに適用されるアラート ルールを作成する場合に便利です。 スコープが 1 つのリソースに設定されている場合、この設定は通常使用されません。

アラート ルールのディメンション

アラート通知メールに特定のディメンションを含める必要がある場合は、ディメンション ("コンピューター" など) を指定できます。アラート通知メールには、アラートをトリガーしたコンピューター名が含まれます。 アラート エンジンは、アラート クエリを使用して使用可能なディメンションを決定します。 "ディメンション名" のドロップダウン リストに目的のディメンションが表示されない場合は、アラート クエリで結果にその列が公開されないことが理由です。 使用する列を含む Project 行をクエリに追加することで、必要なディメンションを簡単に追加できます。 [集計] 行を使用して、クエリ結果にさらに列を追加することもできます。

Computer set というディメンションがあるアラート ルールのディメンションを示すスクリーンショット。

アラート ロジックの構成

アラート ロジックで [演算子][しきい値] を設定して、測定から返された値と比較します。 この値が true の場合、アラートが作成されます。 [評価の頻度] の値を選択します。この値は、ログ クエリを実行して評価する頻度を定義します。 アラート ルールのコストは、頻度の値が小さいほど増加します。 頻度を選択すると、一定期間のクエリ結果のプレビューに加えて、推定月額コストが表示されます。

たとえば、測定が [テーブルの行] である場合は、アラート ロジックを、少なくとも 1 つのレコードが返されたことを示す [0 より大きい] にできます。 測定が列の値の場合、ロジックは特定のしきい値より大きいか、またはより小さい必要があります。 次の例では、ログ クエリはストレージ アカウントに対する匿名要求を検索しています。 匿名の要求が行われた場合には、アラートをトリガーする必要があります。 この場合、1 行が返された時点でアラートをトリガーします。そのため、アラート ロジックは [Greater than 0](0 より大きい) となります。

アラート ロジック

アクションを構成する

アクション グループは、携帯ショートメール (SMS) メッセージやメールの送信など、アラートが発生したときに実行される一連のアクションを定義するものです。

アクションを構成するには、[アクション] タブを選択します。

[アクション] タブが強調表示されているスクリーンショット。

[アクション グループの選択] をクリックして、アラート ルールにアクション グループを追加します。

[アクション グループの選択] ボタンを示すスクリーンショット。

選択すべきアクション グループがまだサブスクリプションにない場合は、 [アクション グループの作成] をクリックして新たに作成します。

アクション グループの作成

アクション グループのサブスクリプションリソース グループを選択し、ポータルに表示されるアクション グループ名と、メールや SMS 通知に記載される表示名を指定します。

アクション グループの [基本]

[通知] タブを選択し、アラートが発生したときに適切な人員に通知する方法を追加します。複数の方法を追加することもできます。

アクション グループの [通知]

詳細の構成

詳細 タブを選択し、アラート ルールのさまざまな設定を構成します。

  • [アラート ルール名] はアラートが発生したときに表示されるため、わかりやすい名前を指定する必要があります。
  • 必要に応じて、アラートの詳細に含める [アラート ルールの説明] を入力します。
  • アラート ルールの保存先となるサブスクリプションリソース グループ。 監視対象のリソースと同じリソース グループである必要はありません。
  • アラートの [重要度] です。 相対的な重要度が近いアラートをグループ化できます。 応答しない仮想マシンには、 [エラー] という重要度が適しています。
  • [詳細オプション][作成時に有効化] チェック ボックスはオンのままにします。
  • [詳細オプション][アラートを自動的に解決する] チェック ボックスはオンのままにします。 これにより、アラートがステートフルになります。つまり、条件が満たされなくなった場合にアラートが解決されます。

アラート ルールの詳細

[アラート ルールの作成] をクリックして、アラート ルールを作成します。

アラートの表示

アラートが発生すると、そのアクション グループ内のすべての通知が送信されます。 また、Azure portal でアラートを表示することもできます。

リソースのメニューから [アラート] を選択します。 リソースにオープン状態のアラートがある場合、それらがビューに表示されます。

アラート ビュー

重要度をクリックすると、その重要度のアラートが表示されます。 [ユーザーの応答] を選び、[終了] の選択を解除して、オープン状態のアラートのみを表示します。

ユーザー応答フィルターを示すスクリーンショット。

アラートの名前をクリックすると、その詳細が表示されます。

アラートの詳細

次のステップ

Azure リソースのログ検索アラートを作成する方法を学習したので、監視データのインタラクティブな視覚化を作成するためのブックを確認します。