Application Insights はLog Analytics と統合され、テレメトリを共通の Log Analytics ワークスペースに送信します。 このセットアップにより、Log Analytics 機能へのフル アクセスが提供され、ログが 1 か所に統合され、 Azure ロールベースの 統一されたアクセス制御が可能になり、アプリ間/ワークスペース クエリの必要がなくなります。
強化された機能は次のとおりです。
この記事では、Application Insights リソースを作成して構成する方法について説明します。 Application Insights リソース自体と共に、 日次 上限や 価格プランの設定など、さまざまな構成を追加できます。 また、Azure Resource Manager を使用して、可用性テストの作成、メトリック アラートの設定、プロセスの自動化を行うこともできます。
注意
ワークスペース ベースの Application Insights リソースのデータ インジェストとリテンション期間は、データが保管されている Log Analytics ワークスペースを通じて課金されます。 請求の詳細については、Azure Monitor ログの価格の詳細を参照してください。
[前提条件]
- アクティブな Azure サブスクリプション。
- リソースを作成するために必要なアクセス許可。
その他の要件
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'
のようなエラー メッセージが表示されます。
Bicep テンプレートは、Azure CLI、Azure PowerShell、および Azure portal を使用してデプロイできます。 追加の要件については、それぞれのタブを確認してください。
ARM テンプレートは、Azure CLI、Azure PowerShell、および Azure portal を使用してデプロイできます。 追加の要件については、それぞれのタブを確認してください。
Application Insights リソースの作成
- Azure portal にサインインします。
- [リソースの作成] を選択します。
- [ 監視] と [診断] カテゴリを開き、[ Application Insights] を選択します。
- すべての関連情報を入力し、確認のうえ、Application Insights リソースを作成します。
注意
リソースの作成時に既存の Log Analytics ワークスペースに接続しない場合は、Application Insights リソースと共に新しい Log Analytics リソースが自動的に作成されます。
リソースを作成すると、対応するワークスペース情報が Application Insights の [概要 ] ウィンドウに表示されます。
青いリンク テキストを選び、関連する Log Analytics ワークスペースに移動します。ここでは、新しい統合ワークスペース クエリ環境を利用できます。
注意
Application Insights クラシックのリソース クエリ、ブック、ログ ベースのアラートについては、引き続き完全な下位互換性を提供します。 新しいワークスペース ベースのテーブル構造またはスキーマのクエリまたは表示を行うには、まず Log Analytics ワークスペースに移動する必要があります。 従来の Application Insights クエリ エクスペリエンスにアクセスするには、[Application Insights] ペインの [ログ (Analytics)] を選びます。
ワークスペース ベースの Application Insights リソースを作成するには、Log Analytics ワークスペースが必要です。 まだお持ちでない場合は、次の Azure CLI コマンドを使用して作成できます。
プレースホルダー: <resource-group-name>
、 <log-analytics-workspace-name>
、 <azure-region-name>
az monitor log-analytics workspace create --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --___location <azure-region-name>
Application Insights リソースを作成するには、ターミナルで次の Azure CLI コマンドを実行します。
プレースホルダー: <application-insights-resource-name>
、 <azure-region-name>
、 <resource-group-name>
、 <log-analytics-workspace-name>
az monitor app-insights component create --app <application-insights-resource-name> --___location <azure-region-name> --resource-group <resource-group-name> --workspace <log-analytics-workspace-name>
Azure CLI を使用した Application Insights リソースと Log Analytics ワークスペースの作成の詳細については、Application Insights と Log Analytics の Azure CLI ドキュメントを参照してください。
ワークスペース ベースの Application Insights リソースを作成するには、Log Analytics ワークスペースが必要です。 まだお持ちでない場合は、次の Azure PowerShell コマンドを使用して作成できます。
プレースホルダー: <resource-group-name>
、 <log-analytics-workspace-name>
、 <azure-region-name>
New-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Location <azure-region-name>
Application Insights リソースを作成するには、ターミナルで次の Azure PowerShell コマンドを実行します。
プレースホルダー: <resource-group-name>
、 <application-insights-resource-name>
、 <azure-region-name>
、<subscription-id>
、 <log-analytics-workspace-name>
New-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> -Location <azure-region-name> -WorkspaceResourceId /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>
Azure PowerShell を使用した Application Insights リソースと Log Analytics ワークスペースの作成の詳細については、Application Insights と Log Analyticsの Azure PowerShell ドキュメントを参照してください。
ワークスペース ベースの Application Insights リソースを作成するには、Log Analytics ワークスペースが必要です。 まだない場合は、次の REST API 呼び出しを使用して作成できます。
プレースホルダー: <subscription-id>
、 <resource-group-name>
、 <log-analytics-workspace-name>
、 <access-token>
、 <azure-region-name>
PUT https://management.azure.com/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>?api-version=2023-09-01
Authorization: Bearer <access-token>
Content-Type: application/json
{
"___location": "<azure-region-name>"
}
REST API を使用して Application Insights リソースを作成するには、次の要求を使用します。
プレースホルダー: <subscription-id>
、 <resource-group-name>
、 <application-insights-resource-name>
、 <access-token>
、 <application-type>
、 <azure-region-name>
、 <log-analytics-workspace-name>
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Insights/components/<application-insights-resource-name>?api-version=2020-02-02
Authorization: Bearer <access-token>
Content-Type: application/json
{
"kind": "<application-type>",
"___location": "<azure-region-name>",
"properties": {
"Application_Type": "<application-type>",
"WorkspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>"
}
}
REST API を使用した Application Insights リソースと Log Analytics ワークスペースの作成の詳細については、Application Insights と Log Analytics の REST API ドキュメントを参照してください。
Bicep テンプレートを使用して新しい Application Insights リソースを作成する方法を次に示します。
テンプレートを作成する
新しい .bicep ファイル ( my-template.bicep など) を作成し、次の内容をコピーします。
param name string
param type string
param regionId string
param requestSource string
param workspaceResourceId string
resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
name: name
___location: regionId
tags: tagsArray
kind: 'other'
properties: {
Application_Type: type
Request_Source: requestSource
WorkspaceResourceId: workspaceResourceId
}
}
パラメーター ファイルを作成する
新しい .bicepparam ファイル ( my-parameters.bicepparam など) を作成し、次の内容をそれにコピーし、プレースホルダー <application-insights-resource-name>
、 <application-type>
、 <azure-region-name>
、 <subscription-id>
、 <resource-group-name>
、 <log-analytics-workspace-name>
を特定の値に置き換えます。
using 'my-template.bicep'
param name string = '<application-insights-resource-name>'
param type string = '<application-type>'
param regionId string = '<azure-region-name>'
param requestSource string = 'CustomDeployment'
param workspaceResourceId string = '/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<log-analytics-workspace-name>'
テンプレートを使用して新しい Application Insights リソースを作成する
PowerShell で $Connect-AzAccount
を使用して Azure にサインインします。
Set-AzContext "<subscription ID>"
を使用して、コンテキストをサブスクリプションに設定します。
新しいデプロイを実行して、新しい Application Insights リソースを作成します。
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.bicep -TemplateParameterFile my-parameters.bicepparam
-ResourceGroupName
は、新しいリソースを作成するグループです。
-TemplateFile
は、カスタム パラメーターの前に置く必要があります。
-TemplateParameterFile
はパラメーター ファイルの名前です。
その他のパラメーターを追加できます。 テンプレートのパラメーター セクションに説明があります。
ARM テンプレートを使用して新しい Application Insights リソースを作成する方法を次に示します。
テンプレートを作成する
新しい .json ファイル ( my-template.jsonなど) を作成し、次の内容をコピーします。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"type": "string",
"metadata": {
"description": "Name of Application Insights resource."
}
},
"type": {
"type": "string",
"metadata": {
"description": "Type of app you are deploying. This field is for legacy reasons and will not impact the type of Application Insights resource you deploy."
}
},
"regionId": {
"type": "string",
"metadata": {
"description": "Which Azure region to deploy the resource to. This must be a valid Azure regionId."
}
},
"tagsArray": {
"type": "object",
"metadata": {
"description": "See documentation on tags: https://learn.microsoft.com/azure/azure-resource-manager/management/tag-resources."
}
},
"requestSource": {
"type": "string",
"metadata": {
"description": "Source of Azure Resource Manager deployment"
}
},
"workspaceResourceId": {
"type": "string",
"metadata": {
"description": "Log Analytics workspace ID to associate with your Application Insights resource."
}
}
},
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "2020-02-02",
"name": "[parameters('name')]",
"___location": "[parameters('regionId')]",
"tags": "[parameters('tagsArray')]",
"kind": "other",
"properties": {
"Application_Type": "[parameters('type')]",
"Request_Source": "[parameters('requestSource')]",
"WorkspaceResourceId": "[parameters('workspaceResourceId')]"
}
}
]
}
注意
リソースのプロパティの詳細については、「プロパティ値」を参照してください。
Flow_Type
と Request_Source
は使用されませんが、完全を期すためにこのサンプルに含まれています。
パラメーター ファイルを作成する
新しい .json ファイル ( my-parameters.jsonなど) を作成し、次の内容をコピーし、プレースホルダー <application-insights-resource-name>
、 <application-type>
、 <azure-region-name>
、 <subscription-id>
、 <resource-group-name>
、 <log-analytics-workspace-name>
を特定の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"name": {
"value": "<application-insights-resource-name>"
},
"type": {
"value": "<application-type>"
},
"regionId": {
"value": "<azure-region-name>"
},
"tagsArray": {
"value": {}
},
"requestSource": {
"value": "CustomDeployment"
},
"workspaceResourceId": {
"value": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/microsoft.operationalinsights/workspaces/<log-analytics-workspace-name>"
}
}
}
テンプレートを使用して新しい Application Insights リソースを作成する
PowerShell で $Connect-AzAccount
を使用して Azure にサインインします。
Set-AzContext "<subscription ID>"
を使用して、コンテキストをサブスクリプションに設定します。
新しいデプロイを実行して、新しい Application Insights リソースを作成します。
New-AzResourceGroupDeployment -ResourceGroupName <your-resource-group> -TemplateFile my-template.json -TemplateParameterFile my-parameters.json
-ResourceGroupName
は、新しいリソースを作成するグループです。
-TemplateFile
は、カスタム パラメーターの前に置く必要があります。
-TemplateParameterFile
はパラメーター ファイルの名前です。
Application Insights リソースを作成したら、監視を構成します。
接続文字列を取得する
接続文字列は、テレメトリーデータと関連付けたいリソースを識別します。 また、これを使用して、リソースでテレメトリの宛先として使用するエンドポイントを変更できます。 接続文字列をコピーし、アプリケーションのコードまたは環境変数に追加する必要があります。
Application Insights リソースの接続文字列を取得するには:
- Azure portal に Application Insights のリソースを開きます。
- [要点] セクションの [概要] ウィンドウで、接続文字列を探します。
- 接続文字列をポイントすると、アイコンが表示され、クリップボードにコピーできます。
接続文字列を取得するには、ターミナルで次の Azure CLI コマンドを実行し、プレースホルダーの <application-insights-resource-name>
と <resource-group-name>
を実際の値に置き換えます。
az monitor app-insights component show --app <application-insights-resource-name> --resource-group <resource-group-name> --query connectionString --output tsv
az monitor app-insights component show
コマンドの詳細については、Azure CLI のドキュメントを参照してください。
接続文字列を取得するには、ターミナルで次の Azure PowerShell コマンドを実行し、プレースホルダーの <resource-group-name>
と <application-insights-resource-name>
を特定の値に置き換えます。
Get-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> | Select-Object -ExpandProperty ConnectionString
Get-AzApplicationInsights
コマンドの詳細については、Azure PowerShell のドキュメントを参照してください。
Application Insights リソースの詳細を取得するには、次の要求を使用し、プレースホルダーの <subscription-id>
、 <resource-group-name>
、 <application-insights-resource-name>
、および <access-token>
を特定の値に置き換えます。
GET https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Insights/components/<application-insights-resource-name>?api-version=2015-05-01
Authorization: Bearer <access-token>
JSON 応答で properties.connectionString
フィールドを探します。
REST API を使用して Application Insights リソースに関する情報を取得する方法の詳細については、 REST API のドキュメントを参照してください。
OpenTelemetry を使用したアプリケーションの監視
OpenTelemetry を使用してアプリケーションを監視するには、適切な Azure Monitor OpenTelemetry Distro をインストールし、接続文字列を新しく作成したリソースにポイントします。
OpenTelemetry を使用してアプリケーション監視を設定する方法については、言語に固有の次のドキュメントを参照してください。
自動インストルメンテーション
Azure Functions や Azure App Service などの監視サービスの場合は、最初に Application Insights リソースを作成してから、監視を有効にしたときにそれをポイントできます。 または、有効化プロセス中に新しい Application Insights リソースを作成することもできます。
関連するワークスペースを変更する
Application Insights リソースを作成したら、関連付けられている Log Analytics ワークスペースを変更できます。
Application Insights リソースで、プロパティ>ワークスペースの変更>Log Analytics ワークスペースを選択します。
Log Analytics ワークスペースを変更するには、ターミナルで次の Azure CLI コマンドを実行し、プレースホルダーの <application-insights-resource-name>
、 <resource-group-name>
、および <log-analytics-workspace-name>
を特定の値に置き換えます。
az monitor app-insights component update --app <application-insights-resource-name> --resource-group <resource-group-name> --workspace <log-analytics-workspace-name>
az monitor app-insights component update
コマンドの詳細については、Azure CLI のドキュメントを参照してください。
Log Analytics ワークスペースを変更するには、ターミナルで次の Azure PowerShell コマンドを実行し、プレースホルダーの <resource-group-name>
、 <application-insights-resource-name>
、 <subscription-id>
、 <log-analytics-workspace-name>
を実際の値に置き換えます。
Update-AzApplicationInsights -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> -WorkspaceResourceId /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>
Update-AzApplicationInsights
コマンドの詳細については、Azure PowerShell のドキュメントを参照してください。
REST API を使用して Log Analytics ワークスペースを変更するには、次の要求を使用し、プレースホルダー <subscription-id>
、 <resource-group-name>
、 <application-insights-resource-name>
、 <access-token>
、 <azure-region-name>
、および <log-analytics-workspace-name>
を特定の値に置き換えます。
PATCH https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Insights/components/<application-insights-resource-name>?api-version=2020-02-02
Authorization: Bearer <access-token>
Content-Type: application/json
{
"___location": "<azure-region-name>",
"properties": {
"WorkspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>"
}
}
REST API を使用して関連付けられているワークスペースを変更する方法の詳細については、 REST API のドキュメントを参照してください。
Log Analytics ワークスペースを変更するには、次のコードをテンプレートに貼り付け、プレースホルダーの <application-insights-resource-name>
、 <azure-region-name>
、 <application-type>
、 <log-analytics-workspace-name>
を特定の値に置き換えます。
param workspaceResourceId string = '/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>'
resource appInsights 'Microsoft.Insights/components@2020-02-02-preview' = {
name: '<application-insights-resource-name>'
___location: '<azure-region-name>'
properties: {
Application_Type: '<application-type>'
WorkspaceResourceId: workspaceResourceId
}
}
Log Analytics ワークスペースを変更するには、次のコードをテンプレートに貼り付け、プレースホルダーの <application-insights-resource-name>
、 <azure-region-name>
、 <application-type>
、 <log-analytics-workspace-name>
を特定の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "2020-02-02-preview",
"name": "<application-insights-resource-name>",
"___location": "<azure-region-name>",
"properties": {
"Application_Type": "<application-type>",
"WorkspaceResourceId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>"
}
}
]
}
テレメトリのエクスポート
従来の連続エクスポート機能は、ワークスペース ベースのリソースではサポートされていません。 代わりに、 診断設定を使用します。
Application Insights リソースで、 診断設定>診断設定の追加を選択します。
ストレージ アカウントにアーカイブするすべてのテーブルまたはテーブルのサブセットを選択できます。 イベント ハブにストリーミングすることもできます。
診断設定を使用してテレメトリをエクスポートするには、ターミナルで次の Azure CLI コマンドを実行し、プレースホルダー <diagnostic-setting-name>
、 <application-insights-resource-name>
、 <resource-group-name>
、 <storage-account-name>
を特定の値に置き換えます。
az monitor diagnostic-settings create --name <diagnostic-setting-name> --resource <application-insights-resource-name> --resource-group <resource-group-name> --resource-type Microsoft.Insights/components --storage-account <storage-account-name>
このコマンド例では、診断設定を有効にし、Application Insights リソースのすべてのログを指定されたストレージ アカウントに送信します。 メトリックも送信するには、コマンドに --metrics '[{"category": "AllMetrics", "enabled": true}]'
を追加します。
az monitor diagnostic-settings create
コマンドの詳細については、Azure CLI のドキュメントを参照してください。
診断設定を使用してテレメトリをエクスポートするには、ターミナルで次の Azure PowerShell コマンドを実行し、プレースホルダーの <application-insights-resource-id>
、 <diagnostic-setting-name>
、および <storage-account-id>
を特定の値に置き換えます。
Set-AzDiagnosticSetting -ResourceId <application-insights-resource-id> -Name <diagnostic-setting-name> -StorageAccountId <storage-account-id> -Enabled $True
このコマンド例では、診断設定を有効にし、Application Insights リソースのすべてのメトリックとログを指定されたストレージ アカウントに送信します。
Set-AzDiagnosticSetting
コマンドの詳細については、Azure PowerShell のドキュメントを参照してください。
診断設定を使用して Azure ストレージ アカウントにテレメトリをエクスポートするには、次の要求を使用し、プレースホルダーの <subscription-id>
、 <resource-group-name>
、 <application-insights-resource-name>
、 <diagnostic-setting-name>
、 <access-token>
、および <storage-account-name>
を特定の値に置き換えます。
PUT https://management.azure.com//subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>/providers/Microsoft.Insights/diagnosticSettings/<diagnostic-setting-name>?api-version=2021-05-01-preview
Authorization: Bearer <access-token>
Content-Type: application/json
{
"properties": {
"storageAccountId": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>",
"logs": [
{
"category": "AppRequests",
"enabled": true
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true
}
]
}
}
この呼び出しの例では、診断設定を有効にし、Application Insights リソースのすべてのメトリックとログを指定されたストレージ アカウントに送信します。
REST API を使用した診断設定の作成の詳細については、 REST API のドキュメントを参照してください。
診断設定を使用してテレメトリをエクスポートするには、次のコードをテンプレートに貼り付け、プレースホルダー <application-insights-resource-name>
、 <azure-region-name>
、 <application-type>
、 <diagnostic-setting-name>
、 <subscription-id>
、 <resource-group>
、および <storage-account-name>
を特定の値に置き換えます。
param appInsightsName string = '<application-insights-resource-name>'
param ___location string = '<azure-region-name>'
param applicationType string = '<application-type>'
param diagnosticSettingName string = '<diagnostic-setting-name>'
param storageAccountId string = '/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>'
resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
name: appInsightsName
___location: ___location
kind: applicationType
properties: {
Application_Type: applicationType
}
}
resource diagnosticSetting 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = {
name: diagnosticSettingName
scope: appInsights
properties: {
storageAccountId: storageAccountId
logs: [
{
category: 'AppRequests'
enabled: true
}
]
metrics: [
{
category: 'AllMetrics'
enabled: true
}
]
}
}
診断設定を使用してテレメトリをエクスポートするには、次のコードをテンプレートに貼り付け、プレースホルダー <application-insights-resource-name>
、 <azure-region-name>
、 <application-type>
、 <diagnostic-setting-name>
、 <subscription-id>
、 <resource-group>
、および <storage-account-name>
を特定の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"appInsightsName": {
"type": "string",
"defaultValue": "<application-insights-resource-name>"
},
"___location": {
"type": "string",
"defaultValue": "<azure-region-name>"
},
"applicationType": {
"type": "string",
"defaultValue": "<application-type>"
},
"diagnosticSettingName": {
"type": "string",
"defaultValue": "<diagnostic-setting-name>"
},
"storageAccountId": {
"type": "string",
"defaultValue": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
}
},
"resources": [
{
"type": "Microsoft.Insights/components",
"apiVersion": "2020-02-02",
"name": "[parameters('appInsightsName')]",
"___location": "[parameters('___location')]",
"kind": "[parameters('applicationType')]",
"properties": {
"Application_Type": "[parameters('applicationType')]"
}
},
{
"type": "Microsoft.Insights/diagnosticSettings",
"apiVersion": "2021-05-01-preview",
"name": "[parameters('diagnosticSettingName')]",
"scope": "[resourceId('Microsoft.Insights/components', parameters('appInsightsName'))]",
"properties": {
"storageAccountId": "[parameters('storageAccountId')]",
"logs": [
{
"category": "AppRequests",
"enabled": true
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": true
}
]
}
}
]
}
データ保有期間を設定する
関連する Log Analytics ワークスペースのデータ保持期間を設定するには、次のコードをテンプレートに貼り付け、プレースホルダー <log-analytics-workspace-name>
、 <azure-region-name>
、 <retention-period-in-days>
を特定の値に置き換えます。
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
___location: '<azure-region-name>'
properties: {
retentionInDays: <retention-period-in-days>
}
}
関連する Log Analytics ワークスペースのデータ保持期間を設定するには、次のコードをテンプレートに貼り付け、プレースホルダー <log-analytics-workspace-name>
、 <azure-region-name>
、 <retention-period-in-days>
を特定の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2020-08-01",
"name": "<log-analytics-workspace-name>",
"___location": "<azure-region-name>",
"properties": {
"retentionInDays": <retention-period-in-days>
}
}
]
}
1 日の上限を設定する
Application Insights と基になる Log Analytics ワークスペースの両方に対して、日次上限を個別に設定する必要があります。 有効な日次上限は、2 つの設定の最小値です。
注意
現時点では、Azure CLI を使用して Application Insights の日次上限を設定する方法は提供されていません。
Log Analytics の日次上限を変更するには、ターミナルで次の Azure CLI コマンドを実行し、プレースホルダーの <resource-group-name>
、 <log-analytics-workspace-name>
、および <daily-cap-in-gb>
を特定の値に置き換えます。
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set workspaceCapping.dailyQuotaGb=<daily-cap-in-gb>
az monitor log-analytics workspace update
コマンドの詳細については、Azure CLI のドキュメントを参照してください。
Application Insights と Log Analytics の日次上限を変更するには、ターミナルで次の Azure PowerShell コマンドを実行し、プレースホルダーを実際の値に置き換えます。
Application Insights
プレースホルダー: <resource-group-name>
、 <application-insights-resource-name>
、 <daily-cap-in-gb>
Set-AzApplicationInsightsDailyCap -ResourceGroupName <resource-group-name> -Name <application-insights-resource-name> -DailyCapGB <daily-cap-in-gb>
Set-AzApplicationInsightsDailyCap
コマンドの詳細については、Azure PowerShell のドキュメントを参照してください。
Log Analytics
プレースホルダー: <resource-group-name>
、 <log-analytics-workspace-name>
、 <daily-cap-in-gb>
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -DailyQuotaGb <daily-cap-in-gb>
Set-AzOperationalInsightsWorkspace
コマンドの詳細については、Azure PowerShell のドキュメントを参照してください。
注意
現在、Azure では、Azure CLI を使用して Application Insights の日次上限を設定する方法は提供されていません。
Log Analytics の日次上限を変更するには、次の要求を使用し、プレースホルダーの <subscription-id>
、 <resource-group-name>
、 <log-analytics-workspace-name>
、 <access-token>
、 <azure-region-name>
、および <daily-cap-in-gb>
を特定の値に置き換えます。
プレースホルダー。
PATCH https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>?api-version=2023-09-01
Authorization: Bearer <access-token>
Content-Type: application/json
{
"___location": '<azure-region-name>',
"properties": {
"workspaceCapping": {
"dailyQuotaGb": <daily-cap-in-gb>,
},
}
}
Log Analytics の日次上限の設定の詳細については、REST API のドキュメントを参照してください。
注意
現時点では、Azure では、Bicep テンプレートを使用して Application Insights の日次上限を設定する方法は提供されていません。
Log Analytics の日次上限を設定するには、次のコードをテンプレートに貼り付け、プレースホルダーの <log-analytics-workspace-name>
、 <azure-region-name>
、および <daily-cap-in-gb>
を特定の値に置き換えます。
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: '<log-analytics-workspace-name>'
___location: '<azure-region-name>'
properties: {
dailyQuotaGb: <daily-cap-in-gb>
}
}
注意
現時点では、Azure では、ARM テンプレートを使用して Application Insights の日次上限を設定する方法は提供されていません。
Log Analytics の日次上限を設定するには、次のコードをテンプレートに貼り付け、プレースホルダーの <log-analytics-workspace-name>
、 <azure-region-name>
、および <daily-cap-in-gb>
を特定の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2023-09-01",
"name": "<log-analytics-workspace-name>",
"___location": "<azure-region-name>",
"properties": {
"workspaceCapping": {
"dailyQuotaGb": <daily-cap-in-gb>
}
}
}
]
}
料金プランを設定する
Application Insights リソースの価格プランは、関連付けられている Log Analytics ワークスペースで設定できます。 使用可能な価格プランの詳細については、「 Azure Monitor ログのコストの計算とオプション」を参照してください。
注意
Application Insights で予期しない料金や高コストが表示される場合は、このガイドが役立ちます。 テレメトリの量が多い、データ インジェストの急増、サンプリングが正しく構成されていないなどの一般的な原因について説明します。 コストの急増、テレメトリボリューム、サンプリングが機能しない、データ上限、高インジェスト、または予期しない課金に関連する問題をトラブルシューティングする場合に特に便利です。 開始するには、「 Application Insights での高いデータ インジェストのトラブルシューティング」を参照してください。
価格プランを設定するには、ターミナルで次のいずれかの Azure CLI コマンドを実行し、プレースホルダー <log-analytics-workspace-name>
、 <azure-region-name>
、および (該当する場合) <capacity-reservation-in-gb>
を特定の値に置き換えます。
従量課金制
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set PerGB2018
コミットメント レベル
az monitor log-analytics workspace update --resource-group <resource-group-name> --workspace-name <log-analytics-workspace-name> --set CapacityReservation --level <capacity-reservation-in-gb>
az monitor log-analytics workspace update
コマンドの詳細については、Azure CLI のドキュメントを参照してください。
価格プランを設定するには、ターミナルで次のいずれかの Azure PowerShell コマンドを実行し、プレースホルダー <log-analytics-workspace-name>
、 <azure-region-name>
、および (該当する場合) <capacity-reservation-in-gb>
を特定の値に置き換えます。
従量課金制
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku perb2018
コミットメント レベル
Set-AzOperationalInsightsWorkspace -ResourceGroupName <resource-group-name> -Name <log-analytics-workspace-name> -Sku capacityreservation -SkuCapacity <capacity-reservation-in-gb>
Set-AzOperationalInsightsWorkspace
コマンドの詳細については、Azure PowerShell のドキュメントを参照してください。
REST API を使用して価格プランを設定するには、次のいずれかの要求を使用し、プレースホルダー <subscription-id>
、 <resource-group-name>
、 <log-analytics-workspace-name>
、 <access-token>
、および (該当する場合) <capacity-reservation-in-gb>
を特定の値に置き換えます。
従量課金制
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>/pricingPlans/current?api-version=2017-10-01
Content-Type: application/json
Authorization: Bearer <access-token>
{
"properties": {
"sku": {
"name": "pergb2018"
}
}
}
コミットメント レベル
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.OperationalInsights/workspaces/<log-analytics-workspace-name>/pricingPlans/current?api-version=2017-10-01
Content-Type: application/json
Authorization: Bearer <access-token>
{
"properties": {
"sku": {
"name": "capacityreservation",
"capacityReservationLevel": <capacity-reservation-in-gb>
}
}
}
REST API を使用した価格プランの設定の詳細については、 REST API のドキュメントを参照してください。
Bicep を使用して価格プランを設定するには、次のコードをテンプレートに貼り付け、プレースホルダー <log-analytics-workspace-name>
、<azure-region-name>
、およびコミットメント ティア用の <capacity-reservation-in-gb>
を特定の値に置き換えます。
従量課金制
param workspaceName string = '<log-analytics-workspace-name>'
param workspaceRegion string = '<azure-region-name>'
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: workspaceName
___location: workspaceRegion
properties: {
sku: {
name: 'pergb2018'
}
}
}
コミットメント レベル
param workspaceName string = '<log-analytics-workspace-name>'
param workspaceRegion string = '<azure-region-name>'
param capacityReservationLevel int = '<capacity-reservation-in-gb>'
resource logAnalyticsWorkspace 'Microsoft.OperationalInsights/workspaces@2020-08-01' = {
name: workspaceName
___location: workspaceRegion
properties: {
sku: {
name: 'capacityreservation'
capacityReservationLevel: capacityReservationLevel
}
}
}
Bicep を使用して Microsoft.OperationalInsights/workspaces
リソースを更新する方法の詳細については、 テンプレートのドキュメントを参照してください。
ARM テンプレートを使用して価格プランを設定するには、次のコードをテンプレートに貼り付け、プレースホルダー <log-analytics-workspace-name>
、 <azure-region-name>
、コミットメント レベルのプレースホルダーも特定の値に <capacity-reservation-in-gb>
します。
従量課金制
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "<log-analytics-workspace-name>"
},
"workspaceRegion": {
"type": "string",
"defaultValue": "<azure-region-name>"
}
},
"resources": [
{
"name": "[parameters('workspaceName')]",
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2020-08-01",
"___location": "[parameters('workspaceRegion')]",
"properties": {
"sku": {
"name": "pergb2018"
}
}
}
]
}
コミットメント レベル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "<log-analytics-workspace-name>"
},
"workspaceRegion": {
"type": "string",
"defaultValue": "<azure-region-name>"
},
"capacityReservationLevel": {
"type": "int",
"defaultValue": <capacity-reservation-in-gb>
}
},
"resources": [
{
"name": "[parameters('workspaceName')]",
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2020-08-01",
"___location": "[parameters('workspaceRegion')]",
"properties": {
"sku": {
"name": "capacityreservation",
"capacityReservationLevel": "[parameters('capacityReservationLevel')]"
}
}
}
]
}
ARM テンプレートを使用して Microsoft.OperationalInsights/workspaces
リソースを更新する方法の詳細については、テンプレートのドキュメントを 参照してください。
IP マスクを無効にする
既定では、Application Insights には IP アドレスは格納されません。 IP マスクを無効にする方法については、 位置情報と IP アドレスの処理に関するページを参照してください。
追加のリソースを作成する
可用性テストを作成する
既定の設定で標準可用性テストを作成するには、ターミナルで次の Azure CLI コマンドを実行し、プレースホルダー <resource-group-name>
、 <azure-region-name>
、 <web-test-name>
、 <url>
、 <subscription-id>
、および <application-insights-resource-name>
を特定の値に置き換えます。
az monitor app-insights web-test create --resource-group <resource-group-name> \
--___location <azure-region-name> \
--web-test-kind standard \
--name <web-test-name> \
--defined-web-test-name <web-test-name> \
--request-url <url> \
--retry-enabled true \
--ssl-check true \
--ssl-lifetime-check 7 \
--frequency 300 \
--locations Id="us-ca-sjc-azr" \
--locations Id="apac-sg-sin-azr" \
--locations Id="us-il-ch1-azr" \
--locations Id="us-va-ash-azr" \
--locations Id="emea-au-syd-edge" \
--http-verb GET \
--timeout 120 \
--expected-status-code 200 \
--enabled true \
--tags hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>=Resource
az monitor app-insights web-test create
コマンドの詳細については、Azure CLI のドキュメントを参照してください。
注意
Web テスト領域 (-___location
) は、複数を選択できる地理的な場所 (-locations
、複数形に注意してください) とは異なります。 -___location
は、Web テストが作成およびホストされる Azure リージョンを指し、-locations
は Web テストの実行元となる地理的な場所を指します。 すべての地理的な場所の完全な一覧については、 Application Insights の可用性テストに関するページを参照してください。
既定の設定で標準可用性テストを作成するには、ターミナルで次の Azure PowerShell コマンドを実行し、プレースホルダーの <resource-group-name>
、 <azure-region-name>
、 <web-test-name>
、 <url>
、 <subscription-id>
、および <application-insights-resource-name>
を特定の値に置き換えます。
$geoLocation = @()
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "us-ca-sjc-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "apac-sg-sin-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "us-il-ch1-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "us-va-ash-azr"
$geoLocation += New-AzApplicationInsightsWebTestGeolocationObject -Location "emea-au-syd-edge"
New-AzApplicationInsightsWebTest -ResourceGroupName <resource-group-name> `
-Location <azure-region-name> `
-Name <web-test-name> `
-TestName <web-test-name> `
-Kind standard `
-RequestUrl <url> `
-RetryEnabled `
-RuleSslCheck `
-RuleSslCertRemainingLifetimeCheck 7 `
-Frequency 300 `
-GeoLocation $geoLocation `
-RequestHttpVerb GET `
-Timeout 120 `
-RuleExpectedHttpStatusCode 200 `
-Enabled `
-Tag @{"hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>" = "Resource"}
New-AzApplicationInsightsWebTest
コマンドの詳細については、Azure PowerShell のドキュメントを参照してください。
注意
Web テストリージョン (-Location
) は、複数を選択できる地理的な場所 (-GeoLocation
) とは異なります。 -Location
は Web テストが作成およびホストされる Azure リージョンを指し、 -GeoLocation
は Web テストの実行元となる地理的な場所を指します。 すべての地理的な場所の完全な一覧については、 Application Insights の可用性テストに関するページを参照してください。
REST API を使用して既定の設定で標準可用性テストを作成するには、次の要求を使用し、プレースホルダー <subscription-id>
、 <resource-group-name>
、 <application-insights-resource-name>
、 <web-test-name>
、 <access-token>
、 <azure-region-name>
、および <url>
を特定の値に置き換えます。
PUT https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>/webtests/<web-test-name>?api-version=2021-08-01
Content-Type: application/json
Authorization: Bearer <access-token>
{
"___location": "<azure-region-name>",
"properties": {
"Name": "<web-test-name>",
"SyntheticMonitorId": "<web-test-name>",
"Enabled": true,
"Frequency": 300,
"Timeout": 120,
"Kind": "standard",
"RetryEnabled": true,
"Request": {
"RequestUrl": "<url>",
"HttpVerb": "GET"
},
"ValidationRules": {
"ExpectedHttpStatusCode": 200,
"SslCheck": true,
"SslCertRemainingLifetimeCheck": 7
},
"Locations": [
{
"Id": "us-ca-sjc-azr"
},
{
"Id": "apac-sg-sin-azr"
},
{
"Id": "us-il-ch1-azr"
},
{
"Id": "us-va-ash-azr"
},
{
"Id": "emea-au-syd-edge"
}
]
},
"Tags": {
"hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>": "Resource"
}
}
注意
Web テスト領域 (-___location
) は、複数を選択できる地理的な場所 (-Locations
、複数形に注意してください) とは異なります。 -___location
は Web テストが作成およびホストされる Azure リージョンを指し、 -Locations
は Web テストの実行元となる地理的な場所を指します。 すべての地理的な場所の完全な一覧については、 Application Insights の可用性テストに関するページを参照してください。
REST API を使用した Web テストの作成と構成の詳細については、 REST API のドキュメントを参照してください。
Bicep を使用して既定の設定で標準可用性テストを作成するには、次のコードをテンプレートに追加し、プレースホルダー <web-test-name>
、 <azure-region-name>
、 <subscription-id>
、 <resource-group-name>
、 <application-insights-resource-name>
、および <url>
を特定の値に置き換えます。
resource webTest 'microsoft.insights/webtests@2022-06-15' = {
name: '<web-test-name>'
___location: '<azure-region-name>'
tags: {
'hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>': 'Resource'
}
properties: {
SyntheticMonitorId: '<web-test-name>'
Name: '<web-test-name>'
Enabled: true
Frequency: 300
Timeout: 120
Kind: 'standard'
RetryEnabled: true
Locations: [
{
Id: 'us-ca-sjc-azr'
}
{
Id: 'apac-sg-sin-azr'
}
{
Id: 'us-il-ch1-azr'
}
{
Id: 'us-va-ash-azr'
}
{
Id: 'emea-au-syd-edge'
}
]
Request: {
RequestUrl: '<url>'
HttpVerb: 'GET'
}
ValidationRules: {
ExpectedHttpStatusCode: 200
SSLCheck: true
SSLCertRemainingLifetimeCheck: 7
}
}
}
注意
Web テストリージョン (___location
) は、複数を選択できる地理的な場所 (Locations
) とは異なります。 ___location
は Web テストが作成およびホストされる Azure リージョンを指し、 Locations
は Web テストの実行元となる地理的な場所を指します。 すべての地理的な場所の完全な一覧については、 Application Insights の可用性テストに関するページを参照してください。
Bicep を使用した可用性テストの作成の詳細については、 Microsoft.Insights Webtests を参照してください。
ARM テンプレートを使用して既定の設定で標準可用性テストを作成するには、次のコードをテンプレートに追加し、プレースホルダー <web-test-name>
、 <azure-region-name>
、 <subscription-id>
、 <resource-group-name>
、 <application-insights-resource-name>
、および <url>
を特定の値に置き換えます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "microsoft.insights/webtests",
"apiVersion": "2022-06-15",
"name": "<web-test-name>",
"___location": "<azure-region-name>",
"tags": {
"hidden-link:/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/components/<application-insights-resource-name>": "Resource"
},
"properties": {
"SyntheticMonitorId": "<web-test-name>",
"Name": "<web-test-name>",
"Enabled": true,
"Frequency": 300,
"Timeout": 120,
"Kind": "standard",
"RetryEnabled": true,
"Locations": [
{
"Id": "us-ca-sjc-azr"
},
{
"Id": "apac-sg-sin-azr"
},
{
"Id": "us-il-ch1-azr"
},
{
"Id": "us-va-ash-azr"
},
{
"Id": "emea-au-syd-edge"
}
],
"Request": {
"RequestUrl": "<url>",
"HttpVerb": "GET"
},
"ValidationRules": {
"ExpectedHttpStatusCode": 200,
"SSLCheck": true,
"SSLCertRemainingLifetimeCheck": 7
}
}
}
]
}
注意
Web テストリージョン (___location
) は、複数を選択できる地理的な場所 (Locations
) とは異なります。 ___location
は Web テストが作成およびホストされる Azure リージョンを指し、 Locations
は Web テストの実行元となる地理的な場所を指します。 すべての地理的な場所の完全な一覧については、 Application Insights の可用性テストに関するページを参照してください。
ARM テンプレートを使用した可用性テストの作成の詳細については、 Microsoft.Insights Webtests を参照してください。
メトリック アラートの追加
ヒント
各 Application Insights リソースには、すぐに使用できるメトリックが付属しています。 分離されたコンポーネントが同じ Application Insights リソースに報告している場合は、これらのメトリックでアラートを生成しても意味がない場合があります。
メトリック アラートの作成を自動化するには、「メトリック アラート テンプレート」に関する記事を参照してください。
追加で Application Insights リソースを作成する
デプロイする Application Insights リソースは何個必要ですか?
Web アプリケーションの次のバージョンを開発する際に、新しいバージョンの Application Insights テレメトリとリリース済みのバージョンのテレメトリが混在することがないように設定します。
混乱を避けるために、個別の接続文字列を使用して、異なる開発段階のテレメトリを個別の Application Insights リソースに送信します。
システムが Azure Cloud Services のインスタンスである場合は、個別の接続文字列を設定する別の方法があります。
単一の Application Insights リソースを使用するケース
以下の場合、単一の Application Insights リソースを使用します。
- 一緒にデプロイされ、通常は同じチームによって開発および管理されるアプリケーションの DevOps/ITOps 管理を合理化する。
- 既定ではダッシュボードで応答時間や失敗率などの主要業績評価指標を一元管理する。 必要に応じ、メトリック エクスプローラーでロール名ごとにセグメント化する。
- アプリケーション コンポーネント間で異なる Azure ロールベースのアクセス制御を管理する必要がない場合。
- 同じメトリック アラート条件、連続エクスポート、コンポーネント間の課金/クォータ管理で十分な場合。
- 1 つのAPI キーがすべてのコンポーネントのデータに同様にアクセスしても問題なく、10 個の API キーがすべてのコンポーネントのニーズを満たす場合。
- すべてのロールで同じスマート検出と作業項目の統合を設定することが適切な場合。
注意
複数の Application Insights リソースを統合する場合、統合後の新しい Application Insights リソースに既存のアプリケーション コンポーネントをさし向けることができます。 古いリソースに格納されているテレメトリは、新しいリソースに転送されません。 ビジネスを継続するのに十分なテレメトリが新しいリソースにある場合にのみ、古いリソースを削除するようにしてください。
その他の考慮事項
ポータル エクスペリエンスを有効化するには、カスタム コードを追加して、Cloud_RoleName 属性に意味のある値を割り当てます。 これらの値がないと、ポータル機能は機能しません。
Azure Service Fabric アプリケーションと従来のクラウド サービスについては、SDK が Azure ロール環境からこれらのサービスを読み取ることで、自動的に設定します。 他の種類のアプリの場合、通常は明示的に設定する必要があります。
ライブ メトリックは、ロール名ごとにデータを分割できません。
バージョンおよびリリースの追跡
アプリケーションの新しいバージョンを発行するときに、テレメトリを異なるビルドから分離できるようにする必要があります。 アプリケーション バージョン プロパティを設定して、検索とメトリック エクスプローラーの結果をフィルター処理できます。
[Application Version](アプリケーション バージョン) プロパティを設定するには複数の方法があります。
オプション 1: バージョンを直接設定する
アプリケーションの初期化コードに telemetryClient.Context.Component.Version = typeof(MyProject.MyClass).Assembly.GetName().Version;
行を追加します。
すべての TelemetryClient
インスタンスが一貫して設定されるようにするには、その行を テレメトリ初期化子でラップします。
オプション 2:BuildInfo.config
でバージョンを設定する (ASP.NET のみ)
Application Insights Web モジュールは、 BuildLabel
ノードからバージョンを取得します。 このファイルをプロジェクトに追加し、ソリューション エクスプローラーで [Copy Always](常にコピーする) プロパティを設定します。
<?xml version="1.0" encoding="utf-8"?>
<DeploymentEvent xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/VisualStudio/DeploymentEvent/2013/06">
<ProjectName>AppVersionExpt</ProjectName>
<Build type="MSBuild">
<MSBuild>
<BuildLabel kind="label">1.0.0.2</BuildLabel>
</MSBuild>
</Build>
</DeploymentEvent>
Microsoft ビルド エンジンで BuildInfo.config
を自動的に生成します。 .csproj
ファイルに次の行を追加します。
<PropertyGroup>
<GenerateBuildInfoConfigFile>true</GenerateBuildInfoConfigFile>
<IncludeServerNameInBuildInfo>true</IncludeServerNameInBuildInfo>
</PropertyGroup>
このステップにより、yourProjectName.BuildInfo.config
という名前のファイルが生成されます。 これは発行プロセスで BuildInfo.config
という名前に変更されます。
Visual Studio でビルドすると、ビルド ラベルにはプレースホルダー (*AutoGen_...*)
が含まれます。 Microsoft ビルド エンジンを使用してビルドすると、プレースホルダーに正しいバージョン番号が設定されます。
Microsoft Build Engine でバージョン番号を生成できるようにするには、1.0.*
に AssemblyReference.cs
のようにバージョンを設定します。
リリース注釈
Azure DevOps を使用する場合は、新しいバージョンをリリースするたびに、グラフに注釈マーカーを追加できます。
リソース作成プロセスを自動化する
リソースの作成プロセスは、 Azure Resource Manager で Bicep または JSON テンプレートを使用して自動化できます。 複数のリソースをまとめてパッケージ化して、1 つのデプロイで作成できます。 たとえば、可用性テスト、メトリック アラート、診断設定を使用して Application Insights リソースを作成し、テレメトリを Azure Storage アカウントに送信できます。
Azure portal でテンプレートを生成する
既存のリソースからテンプレートを生成できます。
Application Insights のみ
- Azure portal で Application Insights リソースに移動します。
- 左側のナビゲーション バーの [オートメーション] の下に一覧表示されているエクスポート テンプレートを開きます。
- (省略可能): 独自のパラメーターを使用するには、[パラメーターを 含める] をオフにします。
- テンプレート ファイルをダウンロードするか、Azure portal で直接デプロイします。
複数のリソース
- Application Insights リソースのリソース グループに移動します。
- [ 概要 ] ウィンドウで、テンプレートに含めるすべてのリソースをマークし、上部のナビゲーション バーで [ テンプレートのエクスポート ] を選択します。
- (省略可能): 独自のパラメーターを使用するには、[パラメーターを 含める] をオフにします。
- テンプレート ファイルをダウンロードするか、Azure portal で直接デプロイします。
テンプレートをゼロから作成する
ARM テンプレートを最初から作成する方法については、 ARM テンプレートのドキュメント を参照してください。このドキュメントには、 テンプレートの作成、 リソースの追加、パラメーターの 追加などのチュートリアルが含まれています。
Application Insights、可用性テスト、メトリック アラート、診断設定、およびその他のリソースで使用できるプロパティは、Azure リソースリファレンス ドキュメントの>> ノードにあります。
よく寄せられる質問
このセクションでは、一般的な質問への回答を示します。
Application Insights リソースを新しいリージョンに移動するにはどうすればよいですか?
リージョン間で既存の Application Insights リソースを転送することはできず、履歴データは新しいリージョンに移行できません。 回避策には次のものが含まれます。
- 目的のリージョンに新しい Application Insights リソースを作成する。
- 元のリソース用の独自カスタマイズを新しいリソースで再作成します。
- 新しいリージョンのリソースの接続文字列を使用してアプリケーションを更新します。
- 新しい Application Insights リソースですべてが期待どおりに動作することを確認するためのテストを実施します。
- 元の Application Insights リソースを保持または削除するのか決定します。 従来のリソースを削除すると、すべての履歴データが失われます。 リソースがワークスペース ベースの場合、データは Log Analytics に残るため、保持期間が切れるまで履歴データにアクセスできます。
新しいリージョンのリソースに対して、通常、手動で再作成または更新する必要がある独自のカスタマイズには、以下のものがありますが、これらに限定されません。
- カスタム ダッシュボードとブックを再作成します。
- カスタム ログまたはメトリック アラートのスコープを再作成または更新します。
- 可用性アラートを再作成します。
- ユーザーが新しいリソースにアクセスするために必要なカスタムの Azure ロールベースのアクセス制御設定を再作成します。
- インジェスト サンプリング、データ保有、日次上限、およびカスタム メトリックの有効化を含む設定をレプリケートします。 これらの設定は、 [使用量と推定コスト] ペインで制御します。
- リリース注釈、ライブ メトリックと安全なコントロール チャネルなど、API キーに依存するすべての統合。 新しい API キーを生成し、関連する統合を更新する必要があります。
- クラシック リソースの連続エクスポートを再構成する必要があります。
- ワークスペースベースのリソースの診断設定を再構成する必要があります。
Azure Resource Manager のデプロイで providers('Microsoft.Insights', 'components').apiVersions[0] を使用できますか?
API バージョンの設定に、この方法を使用することは推奨されません。 最新バージョンは、破壊的変更が含まれる可能性があるプレビュー リリースを表す場合があります。 新しいプレビュー以外のリリースでも、API のバージョンは常に既存のテンプレートと下位互換性があるわけではありません。 場合によっては、API バージョンがすべてのサブスクリプションで使用できないことがあります。
次のステップ