ワークスペース ベースの Application Insights リソース
Azure MonitorApplication Insights のワークスペースベースのリソースを使用すると、Application Insights と Log Analytics が統合されます。
ワークスペースベースのリソースを使用すると、Application Insights からテレメトリが共通の Log Analytics ワークスペースに送信され、アプリケーション、インフラストラクチャ、プラットフォームのログを 1 つの統合された場所に保持しながら、Log Analytics のすべての機能にフル アクセスできます。 この統合により、リソース全体で一般的な Azure ロールベースのアクセス制御を使えるようになり、アプリ間またはワークスペース間のクエリが不要になります。
Note
ワークスペース ベースの Application Insights リソースのデータ インジェストとリテンション期間は、データが保管されている Log Analytics ワークスペースを通じて課金されます。 ワークスペース ベースの Application Insights リソースの課金の詳細については、「Azure Monitor ログの料金の詳細」を参照してください。
新機能
ワークスペース ベースの Application Insights を使用すると、Azure Monitor および Log Analytics の最新機能を活用できます。 たとえば次のような点です。
- カスタマー マネージド キー を使用すると、自分だけがアクセスできる暗号化キーを使用して、保存時にデータを暗号化できます。
- Azure Private Link を使用すると、プライベート エンドポイントを使用して Azure PaaS (サービスとしてのプラットフォーム) サービスを仮想ネットワークに安全にリンクできます。
- Profiler およびスナップショット デバッガー向けの Bring Your Own Storage (BYOS) を使用すると、Application Insights Profiler とスナップショット デバッガーに関連した、このデータを制御できます。
- 保存時の暗号化ポリシー
- 有効期間管理ポリシー
- ネットワーク アクセス
- コミットメント レベルを使用すると、従量課金制の料金と比較して 30% も節約できます。
- Log Analytics ストリーミングは、データをより高速に取り込みます。
ワークスペース ベースのリソースを作成する
Azure portal にサインインし、Application Insights リソースを作成します。
既存の Log Analytics ワークスペースがない場合は、Log Analytics ワークスペースの作成に関するドキュメントを参照してください。
*ワークスペースベースのリソースは、現在、すべての商業地域および Azure Government でご利用いただけます。 Application Insights と Log Analytics を 2 つの異なるリージョンに配置すると、待機時間に影響が生じ、監視ソリューションの全体的な信頼性が低下するおそれがあります。 *
リソースを作成すると、対応するワークスペース情報が [概要] ペインに表示されます。
青いリンク テキストを選び、関連する Log Analytics ワークスペースに移動します。ここでは、新しい統合ワークスペース クエリ環境を利用できます。
注意
Application Insights クラシックのリソース クエリ、ブック、およびログ ベースのアラートについては、引き続き完全な下位互換性を提供します。 新しいワークスペース ベースのテーブル構造またはスキーマのクエリまたは表示を行うには、まず Log Analytics ワークスペースに移動する必要があります。 従来の Application Insights クエリ エクスペリエンスにアクセスするには、[Application Insights] ペインの [ログ (Analytics)] を選びます。
接続文字列のコピー
接続文字列により、利用統計情報と関連付けるリソースが識別されます。 また、これを使用して、リソースでテレメトリの宛先として使用するエンドポイントを変更できます。 接続文字列をコピーし、アプリケーションのコードまたは環境変数に追加する必要があります。
監視の構成
ワークスペース ベースの Application Insights リソースを作成したら、監視を構成します。
コードベースのアプリケーション監視
コードベースのアプリケーション監視では、適切な Application Insights SDK をインストールし、接続文字列で新しく作成したリソースを指し示します。
コードベースの監視のために Application Insights SDK を設定する方法については、言語またはフレームワークに固有の次のドキュメントを参照してください。
- ASP.NET
- ASP.NET Core
- バックグラウンド タスクと最新のコンソール アプリケーション (.NET/.NET Core)
- クラシック コンソール アプリケーション (.NET)
- Java
- JavaScript
- Node.js
- Python
コード不要の監視と Visual Studio リソースの作成
Azure Functions や Azure App Service などのサービスをコードなしで監視するには、最初にワークスペース ベースの Application Insights リソースを作成します。 その後、監視を構成するときにそのリソースを指し示します。
これらのサービスでは、独自のリソース作成プロセス内に新しい Application Insights リソースを作成するためのオプションが用意されています。 ただし、これらの UI オプションを使用して作成されたリソースは、現在、従来の Application Insights エクスペリエンスに制限されています。
同じ制限は、ASP.NET と ASP.NET Core で Visual Studio において Application Insights リソースを作成するエクスペリエンスにも当てはまります。 監視を有効にする Visual Studio UI で、既存のワークスペース ベースのリソースを選ぶ必要があります。 Visual Studio で [新しいリソースの作成] を選ぶと、従来の Application Insights リソースの作成に制限されます。
リソースを自動的に作成する
Azure CLI
プレビューの Application Insights Azure CLI コマンドにアクセスするには、まず次を実行する必要があります。
az extension add -n application-insights
az extension add
コマンドを実行しないと、az : ERROR: az monitor: 'app-insights' is not in the 'az monitor' command group. See 'az monitor --help'
のようなエラー メッセージが表示されます。
ここで、次のコードを実行して Application Insights リソースを作成できます。
az monitor app-insights component create --app
--location
--resource-group
[--application-type]
[--ingestion-access {Disabled, Enabled}]
[--kind]
[--only-show-errors]
[--query-access {Disabled, Enabled}]
[--tags]
[--workspace]
例
az monitor app-insights component create --app demoApp --location eastus --kind web -g my_resource_group --workspace "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"
このコマンドについての完全な Azure CLI ドキュメントについては、Azure CLI のドキュメントを参照してください。
Azure PowerShell
新しいワークスペース ベースの Application Insights リソースを作成します。
New-AzApplicationInsights -Name <String> -ResourceGroupName <String> -Location <String> -WorkspaceResourceId <String>
[-SubscriptionId <String>]
[-ApplicationType <ApplicationType>]
[-DisableIPMasking]
[-DisableLocalAuth]
[-Etag <String>]
[-FlowType <FlowType>]
[-ForceCustomerStorageForProfiler]
[-HockeyAppId <String>]
[-ImmediatePurgeDataOn30Day]
[-IngestionMode <IngestionMode>]
[-Kind <String>]
[-PublicNetworkAccessForIngestion <PublicNetworkAccessType>]
[-PublicNetworkAccessForQuery <PublicNetworkAccessType>]
[-RequestSource <RequestSource>]
[-RetentionInDays <Int32>]
[-SamplingPercentage <Double>]
[-Tag <Hashtable>]
[-DefaultProfile <PSObject>]
[-Confirm]
[-WhatIf]
[<CommonParameters>]
例
New-AzApplicationInsights -Kind java -ResourceGroupName testgroup -Name test1027 -location eastus -WorkspaceResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test1234/providers/microsoft.operationalinsights/workspaces/test1234555"
このコマンドレットの詳細な PowerShell ドキュメントと、接続文字列を取得する方法については、Azure PowerShell のドキュメントを参照してください。
Azure Resource Manager のテンプレート
ワークスペース ベースのリソースを作成するには、次の Azure Resource Manager テンプレートを使用し、PowerShell でデプロイします。
テンプレート ファイル
{
"$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"regionId": {
"type": "string"
},
"tagsArray": {
"type": "object"
},
"requestSource": {
"type": "string"
},
"workspaceResourceId": {
"type": "string"
}
},
"resources": [
{
"name": "[parameters('name')]",
"type": "microsoft.insights/components",
"location": "[parameters('regionId')]",
"tags": "[parameters('tagsArray')]",
"apiVersion": "2020-02-02-preview",
"properties": {
"ApplicationId": "[parameters('name')]",
"Application_Type": "[parameters('type')]",
"Flow_Type": "Bluefield",
"Request_Source": "[parameters('requestSource')]",
"WorkspaceResourceId": "[parameters('workspaceResourceId')]"
}
}
]
}
Note
リソースのプロパティの詳細については、「プロパティ値」を参照してください。
Flow_Type
と Request_Source
は使用されませんが、完全を期すためにこのサンプルに含まれています。
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"type": {
"value": "web"
},
"name": {
"value": "customresourcename"
},
"regionId": {
"value": "eastus"
},
"tagsArray": {
"value": {}
},
"requestSource": {
"value": "Custom"
},
"workspaceResourceId": {
"value": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my_resource_group/providers/microsoft.operationalinsights/workspaces/myworkspacename"
}
}
}
関連するワークスペースを変更する
ワークスペース ベースの Application Insights リソースを作成したら、関連する Log Analytics ワークスペースを変更できます。
Application Insights リソース ペインで [プロパティ]>[ワークスペースの変更]>[Log Analytics ワークスペース] の順に選びます。
テレメトリのエクスポート
従来の連続エクスポート機能は、ワークスペース ベースのリソースではサポートされていません。 代わりに、Application Insights リソースで [診断設定]>[診断設定を追加する] の順に選びます。 すべてのテーブルまたはテーブルのサブセットを選び、ストレージ アカウントにアーカイブすることができます。 Azure イベント ハブにストリーム配信することもできます。
注意
診断設定のエクスポートにより、コストが増加する可能性があります。 詳細については、「Application Insights からのテレメトリのエクスポート」を参照してください。 この機能の価格情報については、「Azure Monitor の価格」ページを参照してください。 課金が開始される前に、通知が送信されます。 通知期間後もテレメトリ エクスポートを引き続き使用する場合は、該当する料金で課金されます。