オンプレミス サーバー用に Azure Monitor Application Insights エージェントをデプロイする

Application Insights エージェント (旧称 Status Monitor V2) は、PowerShell ギャラリーに公開されている PowerShell モジュールです。 これは Status Monitor を置き換えるものです。 テレメトリが Azure portal に送信され、そこでアプリを監視できます。

サポートされている自動インストルメンテーション シナリオの全一覧については、「サポートされている環境、言語、リソース プロバイダー」を参照してください。

Note

このモジュールでは現在、IIS でホストされる ASP.NET および ASP.NET Core Web アプリのコード不要のインストルメンテーションがサポートされています。 Java および Node.js アプリケーションをインストルメント化するには、SDK を使用します。

Application Insights エージェントは、PowerShell ギャラリーにあります。

PowerShell Gallery icon.

手順

  • 簡潔なコード サンプルの使用を開始するには、「作業の開始」タブを参照してください。
  • 開始する方法の詳細については、「詳細な手順」タブを参照してください。
  • PowerShell API リファレンスについては、「API リファレンス」タブを参照してください。
  • リリース ノートの更新については、「リリース ノート」タブを参照してください。

このタブには、ほとんどの環境で動作するクイックスタート コマンドが含まれています。 これらの手順では、更新の配布について PowerShell ギャラリーに依存します。 これらのコマンドでは、PowerShell -Proxy パラメーターがサポートされます。

これらのコマンドの説明、カスタマイズの手順、トラブルシューティングの情報については、詳細な手順を参照してください。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

ダウンロードとインストールには PowerShell ギャラリーを使用します。

設置の前提条件

監視を有効にするには、接続文字列が必要です。 接続文字列は、Application Insights リソースの [概要] ペインに表示されます。 詳細については、接続文字列に関するページを参照してください。

注意

2020 年 4 月の時点で、PowerShell ギャラリーでは TLS 1.1 および 1.0 が非推奨とされています。

必要と思われる追加の前提条件については、PowerShell ギャラリーの TLS サポートに関するページを参照してください。

PowerShell を管理者として実行します。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
Install-Module -Name PowerShellGet -Force

PowerShell を閉じます。

Application Insights Agent をインストールする

PowerShell を管理者として実行します。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Install-Module -Name Az.ApplicationMonitor -AllowPrerelease -AcceptLicense

Note

Install-Module コマンドレットの AllowPrerelease スイッチを使用すると、ベータ リリースをインストールできます。

詳細については、「Install-Module」を参照してください。

監視を有効にする

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process -Force
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'

手動でダウンロードしてインストールする (オフライン オプション)

手動でダウンロードしてインストールすることもできます。

モジュールをダウンロードする

PowerShell ギャラリーからモジュールの最新バージョンを手動でダウンロードします。

Application Insights Agent のファイルを解凍してインストールする

$pathToNupkg = "C:\Users\t\Desktop\Az.ApplicationMonitor.0.3.0-alpha.nupkg"
$pathToZip = ([io.path]::ChangeExtension($pathToNupkg, "zip"))
$pathToNupkg | rename-item -newname $pathToZip
$pathInstalledModule = "$Env:ProgramFiles\WindowsPowerShell\Modules\Az.ApplicationMonitor"
Expand-Archive -LiteralPath $pathToZip -DestinationPath $pathInstalledModule

監視を有効にする

Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/'

よく寄せられる質問

このセクションでは、一般的な質問への回答を示します。

Application Insights エージェントでプロキシのインストールはサポートされますか?

はい。 Application Insights エージェントをダウンロードするには、複数の方法があります。

  • コンピューターがインターネットにアクセスできる場合は、-Proxy パラメーターを使用して PowerShell ギャラリーにオンボードできます。
  • このモジュールを手動でダウンロードし、コンピューターにインストールするか、直接使用することもできます。

これらの各オプションについては、詳細な手順で説明しています。

Application Insights エージェントで ASP.NET Core アプリケーションはサポートされますか?

はい。 Application Insights エージェント 2.0.0 以降では、IIS でホストされている ASP.NET Core アプリケーションがサポートされています。

有効化が成功したことを確認する方法を教えてください。

  • Get-ApplicationInsightsMonitoringStatus コマンドレットを使用して、有効化が成功したことを確認できます。

  • Live Metrics を使用して、アプリからテレメトリが送信されているかどうかをすばやく判断します。

  • Log Analytics を使用して、現在テレメトリを送信しているすべてのクラウド ロールを一覧表示することもできます。

    union * | summarize count() by cloud_RoleName, cloud_RoleInstance
    

プロキシ パススルーを実現するにはどうすればよいですか?

プロキシのパススルーを実現するには、マシン レベルのプロキシまたはアプリケーション レベルのプロキシを構成します。 「DefaultProxy」を参照してください。

Web.config の例:

<system.net>
    <defaultProxy>
    <proxy proxyaddress="http://xx.xx.xx.xx:yyyy" bypassonlocal="true"/>
    </defaultProxy>
</system.net>

トラブルシューティング

専用のトラブルシューティングに関する記事をご覧ください。

アプリケーション ホストとインジェスト サービスの間の接続をテストする

Application Insights SDK とエージェントからテレメトリが送信され、インジェスト エンドポイントへの REST 呼び出しとして取り込まれます。 Web サーバーまたはアプリケーション ホスト マシンからインジェスト サービス エンドポイントへの接続は、PowerShell の生の REST クライアントを使用するか、curl コマンドを使用してテストできます。 「Azure Monitor Application Insights でアプリケーション テレメトリが見つからない場合のトラブルシューティング」をご覧ください。

次のステップ

テレメトリの表示:

テレメトリの追加:

Application Insights エージェントをさらに活用する: