LogicMonitor ログを使用して Azure リソース イベントを監視する

LogicMonitor ログを使用して Azure リソース イベントを監視する

Azure のイベント駆動モデルと LogicMonitor の監視機能の統合により、リアルタイムの IT インフラストラクチャ監視のための堅牢なソリューションが企業に提供されます。 LogicMonitor のクラウドベースのプラットフォームは、クラウドとオンプレミスの両方で組織の IT インフラストラクチャの包括的な概要を提供します。 クラウドやコンテナのリソース、サーバー、ネットワーク、ストレージ、アプリケーションなどの幅広いリソースと、これらのリソースからのあらゆる重要なテレメトリ信号を監視するように設計されています。 LogicMonitor プラットフォームの主な機能は、IT インフラストラクチャ全体にわたる重要なイベントをユーザーに通知するように構成できる強力なアラート エンジンです。

この記事では、LogicMonitor のログ製品を活用する方法を説明します。 LMログ、および Azure リソース イベントを監視するアラート エンジン。 Azure リソース イベントをルーティングすることで、 LMログ、企業は Azure インフラストラクチャのさらに包括的かつリアルタイムの概要を取得できます。

Azure Event Grid と Azure Functions を使用してこの統合を開発し、スケーラブルで合理化されたデータ フローを確保し、重要なイベントにタイムリーに対応できるようにします。

Azure リソース イベントとは何ですか?

Azure リソース イベントは、状態の変更または操作を示す、Azure リソースに関連する特定の出来事です。 これらのイベントは、仮想マシンの起動時、データベースの更新時、ストレージ BLOB の削除時など、Azure 内のリソースが変更されるときに生成されます。 Azure リソース イベントは Azure のイベント駆動型アーキテクチャに不可欠であり、開発者や IT プロフェッショナルがこれらのイベントを監視し、対応し、応答を自動化できるようにします。 Azure リソース イベントをキャプチャして応答することで、組織は運用効率を向上させ、リアルタイム アラートを通じてセキュリティを向上させ、動的で応答性の高いクラウド環境を構築できます。 AzureイベントグリッドAzure 内の主要なサービスである は、これらのリソース イベントを処理し、さまざまなエンドポイントまたはアプリケーションにルーティングしてさらに処理するように特別に設計されています。

Azure Event Grid とは何ですか?

Azureイベントグリッド は、Azure のサーバーレス インフラストラクチャに不可欠なマネージド イベント ルーティング サービスです。 その主な機能は次のとおりです。

  1. イベントの集約: Event Grid はすべてのイベントを統合し、Azure 内外の任意の送信元から任意の宛先にルーティングします。
  2. 効率化: Event Grid によりポーリングの必要性がなくなり、関連するコストと待ち時間が削減されます。
  3. デカップリング: Event Grid は パブリッシャー/サブスクライバー イベント発行者と購読者を分離するモデル。
  4. スケーラビリティ: Event Grid は、膨大な量のイベントを処理するように設計されており、追加の構成を必要とせずに、XNUMX 秒あたり数百万のイベントを処理するようにスケールアウトできます。
  5. 柔軟性: Event Grid は、組み込みイベントとカスタム イベントの両方をサポートし、幅広いアプリケーションに対応します。

Azure Event Grid はさまざまなイベント ソースからイベントを受け入れることができ、特定のイベントをトリガーするように構成できます。 これらのイベントは、Azure Functions、Azure Logic Apps、Azure Event Hubs などのさまざまな Azure サービスで処理できます。 Azure Event Grid はあらゆるソースからのイベントを受け入れることができますが、主に Azure リソースによって生成されたイベントを処理するために使用されます。 これらのイベントは、Azure サービスによって Azure Event Grid に発行され、さらなる処理のためにさまざまなエンドポイントまたはアプリケーションにルーティングできます。 サポートされている Azure イベント ソースとハンドラーの完全なリストについては、次の Azure ドキュメントを参照してください。 イベントソース & イベントハンドラー.

システム トピックを使用してイベントを LM ログに送信する

システムトピックス は、Azure Event Grid のコア コンポーネントです。 これらは、次のような特定の Azure サービスによって発行されたイベントを表します。 Azureストレージ & Azureコンテナレジストリ。 BLOB アップロードなどのイベントがストレージ アカウントで発生すると、Azure Storage サービスはこのイベントを Event Grid のシステム トピックに発行します。 その後、イベントはトピックのサブスクライバーに転送されます。 イベントをシステム トピックに発行する権限を持っているのは Azure サービスだけであることに注意して、標準化された安全な情報フローを確保してください。 さらに、Azure は、Azure Blob Storage、Azure Event Hubs、Azure Kubernetes Service など、さまざまなサービスにわたるシステム トピックをサポートしています。

以下は、このチュートリアルで構築する統合の高レベルのアーキテクチャです。

Azure リソースと LogicMonitor ログの統合は、次の XNUMX 段階のプロセスです。

  1. Azure 関数を作成します。 Azureイベントブリッジ イベントを Azure Event Grid から LogicMonitor ログにルーティングします。
  2. イベントを Azure Event Grid に発行するように Azure Storage (または別のリソース) を構成します。

以下に、図示されたプロセスの概要を示します。 イベントを Azure Event Grid システム トピックに送信するように、必要な Azure リソースを構成します。 Event Grid トピックへの Azure Function サブスクリプションを通じて、Azure Function アプリは受信イベント データを解析し、LogicMonitor ログに適した形式に変換し、LogicMonitor API を使用して LogicMonitor ログに送信することで、Azure 間のブリッジとして機能します。 Event Grid と LogicMonitor のログ。

ステップ 1: Azure 関数の作成: AzureEventBridge

の指示に従ってください Azure 関数のドキュメント という名前の Azure 関数を作成します Azureイベントブリッジ C# スクリプト プログラミング言語を使用します。 必要に応じて、Visual Studio などの IDE を使用して、次の手順に従って Azure 関数を作成することもできます。 VS Code の Azure 関数ドキュメント。 Function アプリを作成するときに、必ず選択してください。 Azureイベントグリッド Azure 関数のトリガー タイプとして。 Function アプリを作成したら、次のコードを使用してロジックを実装できます。

#r "Azure.Messaging.EventGrid"

#r "System.Text.Json"

#r "System.Net.Http.Json"

using Azure.Messaging.EventGrid;

using System.Globalization;

using System.Net.Http.Json;

using System.Text.Json;

using System.Text.Json.Serialization;

public static async Task Run(EventGridEvent eventGridEvent, ILogger log)

{

    using (var httpClient = new HttpClient())

    {

        // Prepare the HTTP request to send data to LogicMonitor

        httpClient.DefaultRequestHeaders.Clear();

        var lmBearerToken = System.Environment.GetEnvironmentVariable("LMBearerToken", EnvironmentVariableTarget.Process);

        httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", lmBearerToken);

        httpClient.DefaultRequestHeaders.UserAgent.Add(new System.Net.Http.Headers.ProductInfoHeaderValue("AzEventBridgeFx", "1.0.0"));

        var payload = new Payload[]

        {

            new Payload(){

                // Payload attributes are indexed by LogicMonitor and can be used to create custom alert rules

                Message = JsonSerializer.Serialize(eventGridEvent),

                EventTime = eventGridEvent.EventTime.ToString("o", CultureInfo.InvariantCulture),

                EventType = eventGridEvent.EventType,

                Topic = eventGridEvent.Topic,

                Subject = eventGridEvent.Subject

            }

        };

        var response = await httpClient.PostAsJsonAsync("https://<your-account-name>.logicmonitor.com/rest/log/ingest", payload);

        response.EnsureSuccessStatusCode();

    }

}

// LogicMonitor requires the payload to be in a specific format. You can add additional attributes to the payload as needed.

public class Payload

{

    public string Message { get; set; }

    public string EventTime { get; set; }

    public string EventType { get; set; }

    public string Topic { get; set; }

    public string Subject { get; set; }

}

この関数は、 LogicMonitor ログ取り込み API そしてシンプルな ベアラー認証 イベント データを LogicMonitor ログに送信します。 アプリケーションのベアラー トークンを生成するには、次の手順に従ってください。 ロジックモニターのドキュメント 次のスクリーンショットに示すように、ベアラー トークンを LMBearerToken という名前のアプリケーション設定として Azure 関数に追加します。

次に、イベントを Azure Event Grid に発行するように Azure Storage を構成し、これらのイベントを Azure Event Grid に転送するように構成します。 Azureイベントブリッジ 機能。

ステップ 2: イベントを Azure Event Grid に発行するように Azure Storage を構成する

Azure 学習ガイドに従ってください。 イベントを Azure Event Grid に発行するように Azure Storage を構成する。 イベントを Azure Event Grid に発行するように Azure Storage を構成したら、これらのイベントを Azure Event Grid に転送するように構成する必要があります。 Azureイベントブリッジ 機能。

次のビデオは、Azure portal で数回クリックするだけで統合を構築する方法を示しています。

統合が完了すると、LogicMonitor ログにアラート条件を設定して、BLOB の削除などの重要なイベントが確実に通知されるようにできるようになりました。

LM ログでのアラート条件の設定

Azure ストレージ アカウントでいくつかのテスト操作を実行して、いくつかのイベントを生成します。 次のスクリーンショットに示すように、LogicMonitor ログ内のイベントをすぐに確認できます。

重要なイベントが確実に通知されるようにするには、LogicMonitor ログにアラート条件を設定して、Azure Blob Storage から BLOB が削除されたときにユーザーに通知します。 これを行うには、次のように LogicMonitor ログに新しいアラート ルールを作成する必要があります。

まず、次のログ クエリを使用して、新しい LM ログ パイプラインを作成します。

_lm_user_agent = "AzEventBridgeFx/1.0.0."

次に、次のフィルター クエリを使用してパイプラインに新しいアラート ルールを作成します。

eventType = "Microsoft.Storage.BlobDeleted"

Azure ストレージ アカウントから BLOB を削除することで、アラート ルールをテストできるようになりました。 ストレージ アカウント内のコンテナーから BLOB を削除すると、次のスクリーンショットに示すように、LogicMonitor でアラート通知を受信する必要があります。

同様に、追加の Event Grid サブスクリプションを作成して、他の Azure リソースからイベントを Azureイベントブリッジ 重要なイベントをユーザーに通知するために、LogicMonitor ログにアラート ルールを設定します。 ここではいくつかの例を示します。

  1. コンテナイメージ削除アラート: Azure Container Registry からコンテナー イメージを削除するための通知を設定します。
  2. 仮想マシン構成アラート:仮想マシンの構成変更があれば必ずアラートをトリガーし、法規制へのコンプライアンスを維持します。
  3. Azure Kubernetes サービスのアラート: Azure Kubernetes Service への変更を管理者に通知して、クラスターが常に最新であることを確認します。

まとめ

Azure リソースを LogicMonitor Logs と統合すると、インフラストラクチャの正常性とアクティビティの包括的なビューが提供されます。 Azure Event Grid と Azure Functions を活用することで、イベントを LogicMonitor にシームレスに転送し、重大なインシデントのアラートを設定できます。 この統合により、重要な変更について常に通知され、必要に応じてタイムリーなアクションを実行できるようになります。 LogicMonitor の使用を開始するには、フレンドリーなチャットボットを通じてデモをスケジュールするか、サインアップしてください。 無料試用.