Azure LogsIngestionのセットアップ

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

LMログ用のMicrosoftAzure統合は、イベントハブからログを消費し、ログをLogicMonitorログ取り込みAPIに転送するAzure関数として実装されます。

必須条件

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

テンプレートを使用した構成

Azure Functionを構成およびデプロイし、AzureリソースとログにアクセスするためのマネージドIDを作成し、ログをLogicMonitorに転送するためのMicrosoftテンプレートを提供します。

Azure関数のデプロイ

下のボタンをクリックして、Azure関数をデプロイし、イベントハブを作成するMicrosoftテンプレートを開きます。



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

商品説明
Region (必須)リソースグループがリソースに関するメタデータを格納する場所を選択します。

表示名によるAzureリージョンのリストについては、を参照してください。 MicrosoftのAzure地域の概要.
resource_group_region (必須)リソースグループを作成し、Event Hub、Functionアプリなどのリソースを展開するリージョンを入力します。

プレーンテキストのAzureリージョンのリストについては、AzureCLIツールがインストールされているPowerShellから次のコマンドを実行できます。

az account list-locations -o table
LM_Company_name (必須)ターゲットURLに含まれるLogicMonitorの会社名またはアカウント名。 これは完全修飾ドメイン名(FQDN)ではなく、 価値: https://<account>.logicmonitor.com
LM_Access_Id (必須)LMAPIトークンのアクセスID。 この統合では、APIのみのユーザーを使用することをお勧めします。
LM_Access_Key (必須)LMAPIトークンのアクセスキー。
Azure_Client_Id (必須)LogicMonitorポータルでAzureクラウドアカウントを作成するときに使用されるアプリケーション(クライアント)ID。

注:このIDは、Azureクラウドアカウントに接続したときに作成されている必要があり、Azure ActiveDirectoryの[アプリの登録]にあります。
Enable Activity Logs (オプション)AzureFunctionで作成されたイベントハブにアクティビティログを送信するかどうかを指定します。

許可される値は「はい」または「いいえ」です。デフォルトは「はい」です。

展開が成功し、あなたが 有効なアクティビティログ 構成では、転送されたログがに表示されるようになります。 LMログページ。 これらのログは、LogicMonitorポータルで作成したAzureクラウドアカウントにマップされます。

アクティビティログを有効にしなかった場合は、イベントハブに転送するようにログを構成する必要があります。 このプロセスのテンプレートも提供しています。 見る Azureログをイベントハブに転送する.

マネージド ID の作成

注意: これは、次の場合にのみ必要です。 提供されたテンプレートを使用してログを転送する。 管理対象IDがなくても、ログをEventHubに転送するようにAzureリソースを手動で構成できます。

下のボタンをクリックしてMicrosoftテンプレートを開き、ユーザー管理者の役割で管理対象IDを作成します。



管理対象IDを作成するときは、テンプレートに次の詳細を指定する必要があります。

商品説明
resource_group_region (必須)リソースグループを作成し、Event Hub、Functionアプリなどのリソースをデプロイする領域。

プレーンテキストのAzureリージョンのリストについては、AzureCLIツールがインストールされているPowerShellから次のコマンドを実行できます。

az account list-locations -o table

注:リソースグループとその中のリソースは、AzureFunctionをデプロイしたときに作成されたイベントハブと同じリージョンにある必要があります。
LM_Company_name (必須)ターゲットURLに含まれるLogicMonitorの会社名またはアカウント名。 これはFQDNではなく、 価値: https://<account>.logicmonitor.com

転送ログ

下のボタンをクリックして、イベントハブへのログ転送を構成できるMicrosoftテンプレートを開きます。 このテンプレートは、選択したリソースの診断設定を転送します。



ログ転送を構成するときは、テンプレートに次の詳細を指定する必要があります。

商品説明
Resource Group (必須)ログをイベントハブに転送するリソースグループ。

表示名によるAzureリージョンのリストについては、を参照してください。 MicrosoftのAzure地域の概要.
Subscription ID (必須)すべてのリソースグループで構成されるサブスクリプションのID。
LM_Company_name (必須)ターゲットURLに含まれるLogicMonitorの会社名またはアカウント名。 これはFQDNではなく、 価値: https://<account>.logicmonitor.com
Force Update Tag (オプション)テンプレートの展開間でこの値を変更すると、展開スクリプトが強制的に再実行されます。
Deployment Location (必須)このデプロイメントが構成されているリージョンを選択します。

注意: このデプロイの実行中に、リソース グループで作成されるスクリプトでデプロイ ログを表示できます (例: "lm-logs-"

イベント ハブへの Azure ログの転送

Azure Functionがデプロイされると、EventHubからのログをリッスンします。 Event Hubがログを受信して​​いない場合は、ログをEventHubに送信するようにリソースとリソースグループを構成する必要があります。 ほとんどのAzureリソースの場合、これは次の方法で実行できます。 診断設定の作成.

仮想マシンからシステムログとアプリケーションログを転送するには、仮想マシンに診断拡張機能をインストールして構成する必要があります。 LinuxおよびWindowsVMの構成については、次の手順を参照してください。

注意: すでにLMコレクターを使用してVMからログを取り込む場合は、これらの手順は必要ありません。

Linux 仮想マシン ログの送信

システムログとアプリケーションログを転送するようにLinuxVMを構成するには:

1.をインストールします 診断拡張機能 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 仮想マシン ログの送信

システムログとアプリケーションログを転送するようにWindowsVMを構成するには:

1.をインストールします 診断拡張機能 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ログ統合の問題をトラブルシューティングします。

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

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

AzureポータルでEventHubに移動し、受信メッセージの数が0より大きいことを確認します。

Azure Logsフォルダーを調べて、特定のエージェントまたはアプリケーションについてこれを確認することもできます。 たとえば、IaaSDiagnostics拡張機能を備えたWindows VMを実行している場合、そのログは次のAzure Logsディレクトリにあります(バージョンとwadidが指定されています)。

C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.Diagnostics.IaaSDiagnostics<VERSION><WADID>\Configuration

3. Azure Functionが実行されていることを確認し、ログをLogicMonitorに転送します。 見る デバッグログを有効にする.

関数アプリが実行されてログを受信して​​いるが、LogicMonitorにログが表示されていない場合、提供されたLM_Access_KeyまたはLM_Access_Idが正しいことを確認します。

関数アプリが実行されていないが、ログがイベントハブに送信されている場合、Azure関数をローカルで実行して、ログメッセージを受信するかどうかを確認してください。

  • ローカル関数がログを受信した場合は、AzurePortalで関数を停止して実行します。 (Azure CLIを使用してログを確認できます。)
  • ローカル関数がログを受信しない場合は、その接続文字列とイベントハブの共有アクセスポリシーを確認することをお勧めします。

4. PowerShellを使用して、ログが有効なVMからテストイベントを送信できます。 構成されたデバイスで、PowerShellプロンプトを入力し、次のコマンドを実行します。

eventcreate /Id 500 /D "test error event for windows 222222" /T ERROR /L Application

コマンドを実行すると、[LMログ]ページにイベントが表示されます。

デバッグ ログの有効化

MicrosoftAzureから転送されたログ、FunctionAppでApplicationInsightsを有効にして、ログを受信して​​いるかどうかを確認できます。 参照する ストリーミングログに関するMicrosoftのドキュメント.

アプリケーションのログの種類とレベルは、次を使用して構成できます。 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ログの統合を削除し、データのフローと関連するコストを停止するには、次の手順に従います。

1. Azureポータルで、に移動します 監視対象VM>アクティビティログ>診断設定 >設定の編集 (Logs Event Hubの場合)そしてクリックします 削除.

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

3.(オプション)Function App、Managed Identity、App Insight、Storageアカウントなど、他のすべてのリソースを削除できます。 これらの名前は、テンプレートのイベントハブの命名規則に従います。 各アイテムを個別に削除するか、リソースグループに含まれている場合は削除できます グループ全体を削除できます.

注意: リソースグループを削除する前に、他の非LMログアイテムをグループに追加していないことを確認してください。

記事上で