Azure Monitorを利用し、アラート通知対象のログが発生時にメール通知する

はじめに

前回のblogでは、『LinuxのログをLog Analyticsに取り込む方法』を紹介しました。

ログを取り込んだ後は様々な用途に活用することが可能です。例えば、障害が発生した場合、担当者に障害メッセージをメールで通知することにも使用できます。今回はその続編として、Linuxサーバーで障害メッセージを取り込んだ際に通知する仕組みをご紹介します。


【注意事項】

  • LinuxのログをLog Analyticsに取り込む方法については、本記事では扱っておりません。
  • 本記事の内容は、2026年10月5日時点の情報に基づいています。時間の経過により内容が変更される可能性がありますので、最新情報をご確認のうえ、適宜対応してください。
  • 各設定については、環境に応じて適切に調整してください。本記事では基本的な設定方法のみを記載しています。


前提条件

以下を前提条件としてメールによるアラート通知の設定方法を記載します。

1.Log Analiticsにログが取り込まれている必要があります。

2.アクションは以下の方法がありますが、本記事ではメール通知の方法(★印)をご紹介します。
 詳細は通知の種類をご覧ください。
①特定のロールへの通知
 Azureで特定のロールを持つユーザーへ通知します。
 例えば、障害対応を行う担当者に Owner ロールが割り当てている場合、通知先としてユーザーごとのメールアドレスを登録しなくても、Owner ロールが割り当てられたユーザー全員へ一括で通知できます。
②メール ★
 アクショングループに登録したメールアドレスに通知します。
③SMS
 携帯電話へショートメッセージを通知します。
④Azure アプリのプッシュ通知
 携帯電話のAzureモバイルアプリに通知します。
⑤Voice
 通知先の電話に音声通知します。

通知の種類:https://learn.microsoft.com/ja-jp/azure/azure-monitor/alerts/action-groups#notification-types



構成

本記載では、アラート通知処理の流れについて、構成図を用いてご説明いたします。

【処理の流れ】

上記処理の流れを実現するための設定と、本記載でご紹介します。

①KQLを発行し、ログを絞り込みます。

②ログを絞り込んだ結果を受け取ります。

③ログを絞り込んだ結果がしきい値を超過しているか判断します。
 なお、しきい値は設定次第でアラート通知されなくなるなど影響が大きいため、後述する設定にて実例を交えて説明しております。

④設定したアクションに従いアラート通知します。(本記事ではメールを使用)



設定

実現するにはAzureのLog Analiticsワークスペースの設定画面で以下の設定が必要です。

  1. アラートルールの設定
  2. アクショングループの作成
  3. 詳細の設定
  4. アクショングループの選択

次項から簡単に設定のポイントをご紹介いたします。

詳細な設定手順については参考URLに記載されている手順を参考に対応してください。


アラートルールの設定

ログが取り込めることが確認できたので、ここではアラートを通知する設定をしていきます。

Log Analyticsワークスペースの縦メニューにある警告を押下します。

アラートルールを押下します。

シグナル名は「カスタムログの検索」を選択してください。

シグナル名を「カスタムログの検索」にすることで検索クエリの記載項目が表示されるため、KQLを利用することが可能になります。

本記載で設定した検索クエリの記述について簡単に説明します。

記載した検索クエリは一例ですので、用途に応じて変更、追加してください。

  • Syslog(テーブル名)
    検索対象のテーブルを指定します。
  • | where HostName == “対象ホスト”
    SyslogテーブルのHostName列に表示されるホスト名が[対象ホスト名]であるものを抽出します。
  • | where Facility == “local6”
    SyslogテーブルのFacility列が[local6]になっているものを抽出します。
  • | where SeverityLevel == “error”
    SyslogテーブルのSeverityLevel列に表示される文字列に[error]があるものを抽出します。
  • | where SyslogMessage contains “test”
    SyslogテーブルのSyslogMessage列に表示されるメッセージ内に[test]が含まれているものを抽出します。
    ※containsは大文字小文字区別せず、部分一致で検索します。
  • | sort by TimeGenerated desc
    上記の検索結果を降順に並び替えて表示します。最上部に最新の検索結果が表示されることで結果が分かりやすくなります。

詳細は参考URLをご覧ください。

参考URL:Kustoのドキュメント
https://learn.microsoft.com/ja-jp/kusto/?view=microsoft-fabric


本記事では、基本的な設定方法をご紹介しますので、「測定」「アラートロジック」「詳細設定オプション」の設定項目はデフォルト値のまま設定します。

「アラートロジック」の設定項目では、演算子を「次の値より大きい」、しきい値を「0」にすることで、5分間を1区切りとし1件以上KQLクエリに合致する検索結果に該当した場合をトリガーにアラート発生と判断します。

ただし、この設定は注意が必要です。

ログ監視の場合、しきい値で「以上」「等しい」などの設定を間違えると通知されなくなる危険があります。一例を上げますと、演算子を「等しい」、しきい値を「1」にすると、5分間で1件アラート発生した場合のみメール通知します。つまり、5分間で2件以上アラート発生した場合にメール通知されない状況になります。

演算子の種類は以下の通り5種類あります。

演算子の種類説明(数式)
次の値より大きいしきい値を超えたらアラート(>)
次の値以上しきい値以上になったらアラート(>=)
次の値より小さいしきい値未満になったらアラート(<)
次の値以下しきい値以下になったらアラート(<=)
等しいしきい値と一致したらアラート(=)

直近5分間(評価期間)のを対象に、5分単位(評価の粒度)で集計し、5分ごと(評価の頻度)に判定します。しきい値は「0」、演算子を「次の値より大きい」にしてますので、1件以上エラーログがある場合にメール通知対象になります。

監視がスタートするタイミングはアラートルール作成後に有効化し設定を保存した段階からスタートします。また、有効化前は監視対象外になるのでご注意ください。

ここまでの設定で、メッセージの収集とアラート発生のトリガーまで設定が完了しました。

参考URL:メトリックアラートルールを作成または編集する

https://learn.microsoft.com/ja-jp/azure/azure-monitor/alerts/alerts-create-metric-alert-rule


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

既にアクショングループを設定している場合は選択することが可能です。

ここではアクショングループを新規作成する手順をご紹介します。

「アクショングループの作成」を押下することで、新規作成画面に遷移します。

アクショングループ作成画面の「基本」ではサブスクリプションやリソースグループなど、実際にご利用されている環境を入力し、アクショングループ名は任意の名前を入力してください。

「通知」タブでどのようなアクションを実行するか設定します。

ここでは「電子メール/SMS メッセージ/プッシュ/音声」を選択します。

「電子メール/SMS メッセージ/プッシュ/音声」を選択すると、右側にメールアドレスを設定する画面が開きます。「電子メール」にチェックを入れ、アラートが生じた際に通知したいあて先になるメールアドレスを入力します。

なお、「アクション」ではAutomationやLogicAppなどを選択可能です。


詳細の設定

プロジェクトの詳細は編集できませんのでデフォルトのままでOKです。

アラートルールの詳細は重大度とアラートルールの説明を記載します。

ここでは「1-エラー」を選択し、アラートルールの説明は本記載に伴うテストメールであることを記載しています。

今回の紹介では下記項目は使用しません。

IDはデフォルトの設定で、詳細設定オプションは空欄のままでOKです。

参考情報になりますが、設定の『アラートを自動的に解決する』にチェックを入れる(有効)とアラート発生条件から外れた場合(合致しない)は復旧処理され、復旧通知が送信されます。いつまでもアラート発生状態を防ぐための機能です。

また、アラート発生条件を満たしている場合(合致)は、アラート未復旧と判断され1度メール通知した障害に対して再通知(二重通知)することを防ぐことができます。

条件挙動
合致アラート未復旧であるため、1度メール通知した後は再通知しない
合致しないアラート復旧と判断、復旧通知される

「タグ」は論理的にグループ化したい場合に使用しますが、今回の設定では使用しませんので空欄のままでOKです。


最下部に表示されている「確認と作成」を押下すると、アクショングループが作成されます。

メール通知以外に設定可能なアクションについては参考URLをご覧ください。

参考URL:アクショングループ
https://learn.microsoft.com/ja-jp/azure/azure-monitor/alerts/action-groups


アクショングループの選択

アクショングループ作成後、再びアクショングループを選択する画面に戻りますので、今度は「アクショングループの選択」を押下します。

右側にアクショングループの一覧が表示されますので、今回利用したいアクショングループにチェックを入れ、最下部の「選択」を押下します。

最後に、アクショングループが登録されたことを確認します。


テスト

設定が完了したら、実際の環境でエラーが生じることを想定しテストコマンドを実行します。

KQLクエリ検索に該当するメッセージをloggerコマンドで出力し、メール通知されることを確認します。

テストとして以下コマンドを実行してみました。

# logger -p local6.err “test message”

下記のようなテストメールを受信します。

メール件名にはアラートルール名が表示されます。


なお、参考情報になりますが、メールの件名を設定できるようになりました。

メール件名を設定した場合は、アラートルール名ではなくメール件名が表示されます。


まとめ

本記事では、アラート通知対象のログが発生時にメール通知する方法についてご紹介しました。最小限の構成と設定で実現できるため、アラートルールやアクションの仕組みを理解するうえでも有用な内容となっています。
今後も本ブログでは、Azure の各種機能やサービスの活用方法を分かりやすく紹介していく予定です。ぜひ引き続きご覧ください。

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください