Azure ログの送信

最終更新日: 12 年 2023 月 XNUMX 日

LM ログの Microsoft Azure 統合は、イベント ハブからログを消費し、そのログを LogicMonitor ログ インジェスト API に送信する Azure 関数として実装されます。 以下では、Azure ログの転送を設定するためのオプションについて説明します。

要件

  • An Azure クラウド アカウント LogicMonitor ポータルで作成されます。
  • LogicMonitorAPIトークン ログ取り込みAPIへのすべてのリクエストを認証します。
  •   AzureCLI ログを転送するマシンにインストールされているツール。
  • Azureで「ユーザー管理者」の役割を作成して 管理されたアイデンティティ Azure リソース ログにアクセスします。
  • Azureデバイスは、同じリージョン内のイベントハブにのみログを送信できます。 各Azureリージョンには、個別のAzureFunctionデプロイメントが必要です。

Azure テンプレート

LogicMonitor が提供する Azure テンプレートを使用して、次のことを行うことができます。

リソースのデプロイ

Azure テンプレートは、という名前のリソース グループをデプロイします。 lm-logs-{LM_会社名}-{resource_group_region}-グループ。 グループには次のリソースがあります。

  • イベントハブ
  • アズール機能
  • ストレージアカウント
  • App Service プラン

Azure 関数とイベント ハブがデプロイされると、Azure 関数はイベント ハブからのログをリッスンします。 

 現在地に最も近い Azureにデプロイする 下のボタンをクリックして Azure テンプレートを開き、デプロイを実行します。

 展開するときは、テンプレートに次の詳細を指定する必要があります。

説明
Region(必須) デプロイ メタデータを保存する場所。 Azure で事前定義されていますが、値を変更できます。 表示名別の Azure リージョンの一覧については、次を参照してください。 Azure の地域.
resource_group_region(必須) リソース グループを作成し、イベント ハブ、関数アプリなどのリソースをデプロイするリージョンを入力します。

Azure リージョンの一覧をプレーン テキストで表示するには、Azure CLI ツールがインストールされている PowerShell から次のコマンドを実行します。
az account list-locations -o table
LM_Company_name(必須) ターゲット URL 内の LogicMonitor の会社名またはアカウント名。 これだけです  値であり、完全修飾ドメイン名 (FQDN) ではありません。
例:  https://<account>.logicmonitor.com
LM_Access_Id(必須) LM API トークンのアクセス ID。 この統合には、API のみのユーザーを使用する必要があります。
LM_Access_Key(必須)LMAPIトークンのアクセスキー。
Azure_Client_Id(必須) LogicMonitor ポータルで Azure クラウド アカウントを作成するときに使用されるアプリケーション (クライアント) ID。 
注: この ID は、Azure クラウド アカウントに接続したときに作成されているはずです。 ID は、アプリの登録の下の Azure Active Directory にあります。
Enable Activity Logs(オプション) Azure 関数で作成されたイベント ハブにアクティビティ ログを送信するかどうかを指定します。 「はい」(デフォルト)または「いいえ」を指定できます。

デプロイが成功し、 有効なアクティビティログ が「はい」に設定されている場合、ログは LMログページ。 これらのログは、LogicMonitor ポータルで作成された Azure クラウド アカウントにマップされます。 ログが転送されていない場合は、を参照してください。 デバッグ ログの有効化.

If アクティビティ ログを有効にする が「いいえ」に設定されている場合、イベント ハブへのログの転送を手動で構成する必要があります。 LogicMonitor には、このためのテンプレートも用意されています。 以下の「Azure リソース ログの送信」を参照してください。

Azure リソース ログの送信

Azure 関数とイベント ハブがデプロイされると、Azure 関数はイベント ハブからのログをリッスンします。 次の手順では、ログをイベント ハブに送信するようにリソースとリソース グループを構成します。 ほとんどの Azure リソースでは、これは更新することで実行できます。 診断設定

マネージド ID がなくても、手動で行うことができます Azure リソースの診断設定を構成する ログをイベント ハブに転送します。 これは、次の場合にのみ必要です。 提供されたテンプレートを使用してリソース ログを転送する.

マネージド ID の作成

現在地に最も近い Azureにデプロイする 下のボタンをクリックして Azure テンプレートを開き、デプロイを実行します。 これにより、ユーザー管理者ロールを持つマネージド ID が作成されます。

展開するときは、テンプレートに次の詳細を指定する必要があります。

説明
resource_group_region(必須) リソース グループを作成し、イベント ハブ、関数アプリなどのリソースをデプロイしたリージョン。 
Azure リージョンの一覧をプレーン テキストで表示するには、Azure CLI ツールがインストールされている PowerShell から次のコマンドを実行します。
az account list-locations -o table

Note: リソース グループとその中のリソースは、Azure 関数をデプロイしたときに作成されたイベント ハブと同じリージョンにある必要があります。
LM_Company_name(必須) ターゲット URL 内の LogicMonitor の会社名またはアカウント名。 これだけです  値であり、完全修飾ドメイン名 (FQDN) ではありません。
例:  https://<account>.logicmonitor.com

診断設定の更新

現在地に最も近い Azureにデプロイする 下のボタンをクリックして Azure テンプレートを開き、デプロイを実行します。 これにより、イベント ハブへのリソース レベルのログ転送を構成できます。 このテンプレートは、リソース グループ内の選択されたリソースの診断設定を更新します。

展開するときは、テンプレートに次の詳細を指定する必要があります。

説明
Resource Group(必須) ログをイベント ハブに転送するリソース グループ。 表示名別の Azure リージョンの一覧については、次を参照してください。 Azure の地域.
Subscription ID(必須)すべてのリソースグループで構成されるサブスクリプションのID。
LM_Company_name(必須) ターゲット URL 内の LogicMonitor の会社名またはアカウント名。 これだけです  値であり、完全修飾ドメイン名 (FQDN) ではありません。
例:  https://<account>.logicmonitor.com
Force Update Tag(オプション)テンプレートの展開間でこの値を変更すると、展開スクリプトが強制的に再実行されます。
Deployment Location(必須)このデプロイメントが構成されているリージョンを選択します。

注: このデプロイの実行中に、リソース グループで作成されたスクリプトでデプロイ ログを確認できます。 例: 「lm-logs-{LM_Company_name}-{resource_group_region}-group_script」。

仮想マシン ログの送信

仮想マシン (VM) の場合、説明されているテンプレートのデプロイによって診断設定が更新されることはありません。 VM からシステム ログとアプリケーション ログを転送するには、VM に診断拡張機能をインストールして構成する必要があります。 以下では、Linux および Windows VM のログ転送をセットアップする方法について説明します。

Linux VM ログの送信

Linux VM からシステム ログとアプリケーション ログを転送するには、次の手順を実行します。

1。 インストールする Linux の診断拡張機能 VM上。

2。 インストールする AzureCLI.

3. AzureCLIを使用してAzureにサインインします: az login

4. 次のコマンドを使用して構成スクリプトをダウンロードします。

wget https://raw.githubusercontent.com/logicmonitor/lm-logs-azure/master/vm-config/configure-lad.sh

5. 構成を実行して、診断拡張機能に必要なストレージ アカウントと構成ファイルを作成します。

./configure-lad.sh <LM company name>

6。 更新 lad_public_settings.json システムログのタイプとそのレベルを構成するには(syslogEvents)およびアプリケーションログ(filelogs) 集める。

7.次のコマンドを実行して、拡張機能を構成します。

az vm extension set --publisher Microsoft.Azure.Diagnostics --name LinuxDiagnostic --version 3.0 --resource-group <your VM's Resource Group name> --vm-name <your VM name> --protected-settings lad_protected_settings.json --settings lad_public_settings.json

注: 正確なコマンドは、configure-lad.sh スクリプトによって出力されます。

Windows VM ログの送信

Windows VM からシステム ログとアプリケーション ログを転送するには、次の手順を実行します。

1。 インストールする Windows の診断拡張機能 VM上。

2.PowerShellを使用してAzureCLIをインストールします。 

Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi

3. AzureCLIを使用してAzureにサインインします: az login

4. 次のコマンドを使用して構成スクリプトをダウンロードします。

Invoke-WebRequest -Uri https://raw.githubusercontent.com/logicmonitor/lm-logs-azure/master/vm-config/configure-wad.ps1 -OutFile .\configure-wad.ps1

5. 構成を実行して、診断拡張機能に必要なストレージ アカウントと構成ファイルを作成します。

.\configure-wad.ps1 -lm_company_name <LM company name>

6。 更新 wad_public_settings.json 構成する イベントログの種類 (アプリケーション、システム、セットアップ、セキュリティなど)とそれらのレベル(情報、警告、クリティカル)を収集します。

7.次のコマンドを実行して、拡張機能を構成します。

az vm extension set --publisher Microsoft.Azure.Diagnostics --name IaaSDiagnostics --version 1.18 --resource-group <your VM's Resource Group name> --vm-name <your VM name> --protected-settings wad_protected_settings.json --settings wad_public_settings.json

注: 正確なコマンドは、configure-wad.ps1 スクリプトによって出力されます。

Azure ログのメタデータ

次の表に、Azure Logs と LM Logs の統合のメタデータ フィールドを示します。 統合では、ログ レコード内でこのデータが検索され、生のメッセージ文字列とともにデータがログに追加されます。 

プロパティ説明LMマッピングデフォルト
timeイベントのタイムスタンプ (UTC)。timestamp有り
levelイベントの重大度レベル。 「情報」、「警告」、「エラー」、または「重大」のいずれかである必要があります。severity有り
operationNameこのイベントが表す操作の名前。activity_type有り
resourceIdイベントを発行したリソースのリソース ID。 テナント サービスの場合、これは /tenants/tenant-id/providers/provider-name の形式になります。
テンプレートを使用して Azure 統合をデプロイする場合、ログ レコード内で検索するメタデータ キー パラメーターとしてこのフィールドを追加できます。
azure_resource_idいいえ
categoryイベントのログ カテゴリ。 一般的なログ カテゴリは、「監査」、「運用」、「実行」、および「リクエスト」です。category有り

トラブルシューティング

次の手順に従って、Azure ログの統合に関する問題をトラブルシューティングします。

1.インストールプロセスで、必要なすべてのリソース(イベントハブ、リソースグループ、ストレージアカウント、およびAzure関数)がプロビジョニングされていることを確認します。

2. ログがイベント ハブに送信されていることを確認します。

  • AzureポータルでEventHubに移動し、受信メッセージの数が0より大きいことを確認します。
  • Azure Logs フォルダーを調べることで、特定のエージェントまたはアプリケーションについてこれを確認することもできます。 たとえば、IaaSDiagnostics 拡張機能を使用して Windows VM を実行している場合、そのログは次の Azure Logs ディレクトリにあります (バージョンと wadid が指定されています)。
    C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics \構成

3. Azure 関数が実行中であり、ログが LogicMonitor に転送されていることを確認します。 詳細については、「」を参照してください。 デバッグ ログの有効化.

  • Function App が実行されてログを受信して​​いるにもかかわらず、LogicMonitor にログが表示されない場合は、指定された LM_Access_Key または LM_Access_Id が正しいことを確認してください。
  • Function App が実行されていないが、ログがイベント ハブに送信されている場合は、Azure 関数をローカルで実行して、ログ メッセージを受信するかどうかを確認してください。
    • ローカル関数がログを受信した場合は、Azure ポータルで関数を停止して実行します。 Azure CLI を使用してログを確認できます。
    • ローカル関数がログを受信しない場合は、その接続文字列とイベント ハブの共有アクセス ポリシーを確認してください。

4. PowerShellを使用して、ログが有効なVMからテストイベントを送信できます。 構成されたデバイスで、PowerShellプロンプトを入力し、次のコマンドを実行します。 eventcreate /Id 500 /D "test error event for windows" /T ERROR /L Application

コマンドの実行後、LM ログ ページにイベントが表示されます。

テンプレート パラメータの更新

たとえば、認証情報やパラメーターを変更するために、展開後にテンプレートを更新する必要がある場合があります。 これは、Function App 構成で次の場所に移動して行うことができます。 関数アプリ lm-logs-{LM_Company_name}-{resource_group_region} → 構成 → 編集。

デバッグ ログの有効化

Function App で Application Insights を有効にして、ログを受信して​​いるかどうかを確認できます。 詳細については、「」を参照してください。 ストリーミング実行ログを有効にする.

を使用して、アプリケーションのログの種類とレベルを構成できます。 Azure CLIWebアプリログ構成 指図。 例:

az webapp log config --resource-group <Azure Function's Resource Group name> --name <Azure Function name> --application-logging true --level verbose --detailed-error-messages true

アプリケーション ログを構成した後、次を使用してログを表示できます。 Azure CLIWebアプリのログテール。 例:

az webapp log tail --resource-group <Azure Function's Resource Group name> --name <Azure Function name>

Azure リソースの削除

ログ インジェストをセットアップするために実行した Azure テンプレートは、ログ データを LM ログに送信するイベント ハブなど、いくつかのリソースを作成します。 必要に応じて、LM ログ統合を削除して、データの流れと関連するコストを停止できます。

注: リソース グループを削除する前に、LM ログ以外の他の項目をグループに追加していないことを確認してください。

以下をせよ:

1. Azureポータルで、に移動します 監視対象VM>アクティビティログ>診断設定 >設定の編集 (ログ イベント ハブの場合) を選択し、 削除.

2. セットアップ中に作成した名前とリージョン名を持つイベント ハブを削除します。 これにより、Azure から LM ログへのログ フローが遮断されます。

3. 関数アプリ、マネージド ID、アプリ インサイト、ストレージ アカウントなど、テンプレートのデプロイによって作成された他のすべてのリソースを削除できます。 これらの名前は、テンプレートのイベント ハブの命名規則に従います。 各アイテムを個別に削除できます。リソース グループにある場合は、 グループ全体を削除できます.

記事上で