サポートセンターホーム


Azure LogsIngestionのセットアップ

LMログ用のMicrosoftAzure統合は、イベントハブからログを消費し、ログをLogicMonitorログ取り込みAPIに転送するAzure関数として実装されます。 Azure CLIのTerraformを使用するか、提供されているMicrosoftテンプレートを使用して、AzureFunctionをデプロイできます。

必須条件

  • LogicMonitorAPIトークン ログ取り込みAPIへのすべてのリクエストを認証します。
  • インストールされたAzureCLI.
  • 管理対象IDを作成するためのAzureの「ユーザー管理者」ロール。
  • Azureデバイスは、同じリージョン内のイベントハブにのみログを送信できます。 各Azureリージョンには、個別のAzureFunctionデプロイメントが必要です。

Azure関数のデプロイ

Azure Functionをデプロイするには、Terraformを使用してAzure CLIからデプロイする方法と、提供されているテンプレートを使用してデプロイする方法のXNUMXつのオプションがあります。

Terraformを使用してデプロイする

TerraformはAzureCLIに含まれています。 Terraformを使用してAzureFunctionをデプロイするには:

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

2.ファイルをダウンロードします。 展開します.tf

このスクリプトは、Azure関数を実行するためにAzure環境で必要なイベントハブ、リソースグループ、およびストレージアカウントを作成します。

3. Terraformを起動します: terraform init

4.次のコマンドを実行して、必要な変数を入力します。

terraform apply --var 'lm_company_name=<ACCOUNT>' --var 'lm_access_id=<ID>' --var 'lm_access_key=<KEY>' --var 'azure_region=<REGION>'

エラーがない場合は、Azure関数がデプロイされて起動します。 Azure関数が起動しない場合は、Azureポータルで関数アプリを再起動する必要がある場合があります。 見る この問題レポート 詳細情報を見るにはこちらをクリックしてください。

5. Azure関数がデプロイされたら、次のステップはログをEventHubに送信することです。 このTerraform構成では、ログはという名前のイベントハブに送信する必要があります log-hub 名前空間で lm-logs-<LM company name>-<Azure region>。 ほとんどのAzureリソースの場合、これは次の方法で実行できます。 診断設定の作成 Azureポータルで。 システムログとアプリケーションログをから送信することもできます イベントハブへの仮想マシン.

これが完了すると、転送されたログが[LMログ]ページに表示されるようになります。

テンプレートを使用してデプロイする

Azureログの取り込みを設定する別の方法として、Azure関数をデプロイしてイベントハブを作成するMicrosoftテンプレートを提供しました。 下のボタンをクリックして開始します。



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

パラメーター 製品説明
Region (必須)これは、リソースグループがリソースに関するメタデータを格納する場所です。
resource_group_region (必須)リソースグループを作成し、Event Hub、Functionアプリなどのリソースをデプロイする領域。
LM_Company_name (必須)ターゲットURLのLogicMonitor会社名またはアカウント名: https://<account>.logicmonitor.com
LM_Access_Id (必須)LMAPIトークンのアクセスID。 この統合では、APIのみのユーザーを使用することをお勧めします。
LM_Access_Key (必須)LMAPIトークンのアクセスキー。
Azure_Client_Id (必須)LogicMonitorポータルでAzureクラウドアカウントを作成するときに使用されるアプリケーション(クライアント)ID。
Enable Activity Logs (オプション)AzureFunctionで作成されたイベントハブにアクティビティログを送信するかどうかを指定します。 許可される値は「はい」または「いいえ」です。デフォルトは「はい」です。

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

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

Azureログをイベントハブに転送する

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

ログをEventHubに送信するようにAzureリソースを自動的に構成するテンプレートを提供します。 そのテンプレートを使用するには、最初に作成する必要があります 管理されたアイデンティティ Azureのリソースとログにアクセスするために必要なアクセス許可が必要です。 (管理されたIDを作成するテンプレートも提供します。)

管理されたIDを作成する

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

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



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

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

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

テンプレートを使用してログを転送する

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



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

パラメーター 製品説明
Resource Group (必須)ログをイベントハブに転送するリソースグループ。
Subscription ID (必須)すべてのリソースグループで構成されるサブスクリプションのID。
LM_Company_name (必須)ターゲットURLのLogicMonitor会社名またはアカウント名: https://<account>.logicmonitor.com
Force Update Tag (オプション)テンプレートの展開間でこの値を変更すると、展開スクリプトが強制的に再実行されます。

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

仮想マシンのログをイベントハブに転送する

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

Linux仮想マシンのログを転送する

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

1.をインストールします 診断拡張機能 VM上。

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

3.wgetをインストールします。 sudo apt-get install wget

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.構成スクリプトをダウンロードします。

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.sh 脚本。)

トラブルシューティング

以下の手順に従って、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関数をローカルで実行して、ログメッセージを受信するかどうかを確認してください。

a。 ローカル関数がログを受信した場合は、AzurePortalで関数を停止して実行します。 (Azure CLIを使用してログを確認できます。)

b。 ローカル関数がログを受信しない場合は、その接続文字列とイベントハブの共有アクセスポリシーを確認することをお勧めします。

デバッグログを有効にする

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>

記事上で