Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
Anda dapat menggunakan kemampuan pemberitahuan metrik pada sekumpulan log yang telah ditentukan sebelumnya di Log Azure Monitor. Log yang dipantau, yang dapat dikumpulkan dari Azure atau komputer lokal, dikonversi ke metrik dan kemudian dipantau dengan aturan pemberitahuan metrik, sama seperti metrik lainnya.
Ruang kerja Analitik Log mendukung jenis log ini:
- Penghitung kinerja untuk komputer Windows dan Linux (sesuai dengan metrik ruang kerja Analitik Log yang didukung)
- Catatan Heartbeat untuk Kesehatan dari Agen
- Catatan Manajemen pembaruan
- Catatan data peristiwa
Manfaat menggunakan pemberitahuan metrik untuk log dibandingkan dengan pemberitahuan pencarian log berbasis kueri di Azure meliputi:
- Pemberitahuan metrik menawarkan kemampuan pemantauan yang hampir real-time. Mereka membagi data dari sumber log untuk menjamin kemampuan ini.
- Pemberitahuan metrik bersifat stateful (memiliki keadaan yang tercatat). Mereka memberi tahu Anda sekali ketika pemberitahuan diaktifkan dan sekali ketika pemberitahuan diselesaikan. Peringatan pencarian log tidak menyimpan status dan terus memicu peringatan pada setiap interval jika kondisi peringatan terpenuhi.
- Pemberitahuan metrik menyediakan beberapa dimensi. Mereka memungkinkan pemfilteran ke nilai tertentu seperti komputer dan jenis OS tanpa perlu menentukan kueri yang kompleks di Analitik Log.
Catatan
Metrik atau dimensi tertentu hanya muncul jika data untuknya ada dalam periode yang dipilih. Metrik ini tersedia untuk pelanggan yang memiliki ruang kerja Analitik Log.
Metrik dan dimensi yang didukung untuk log
Dengan pemberitahuan metrik, Anda dapat menggunakan dimensi untuk memfilter metrik Anda ke tingkat yang tepat. Daftar lengkap metrik yang didukung untuk log setara dengan daftar metrik ruang kerja Log Analytics.
Catatan
Untuk melihat metrik yang didukung yang diekstrak dari ruang kerja Analitik Log melalui Azure Monitor metrics, Anda harus membuat pemberitahuan metrik log pada metrik tersebut. Dimensi yang Anda pilih dalam pemberitahuan metrik untuk log hanya akan muncul untuk eksplorasi melalui metrik Azure Monitor.
Membuat peringatan metrik untuk log
Sebelum data metrik dari log populer diproses di Analitik Log, data tersebut disalurkan ke metrik Azure Monitor. Anda kemudian dapat memanfaatkan kemampuan platform metrik selain pemberitahuan metrik, termasuk memiliki pemberitahuan dengan frekuensi serendah satu menit.
Proses untuk membuat pemberitahuan metrik untuk log adalah dua berlabuh:
- Buat aturan untuk mengekstrak metrik dari log yang didukung dengan menggunakan API Aturan Kueri Terjadwal (
scheduledQueryRules). - Buat pemberitahuan metrik untuk metrik yang diekstrak dari log (di langkah 1) dan targetkan ruang kerja Analitik Log sebagai sumber daya.
Prasyarat
Sebelum Anda membuat pemberitahuan metrik untuk log, pastikan item berikut disiapkan dan tersedia:
- Ruang Kerja Analitik Log: Anda harus memiliki Ruang Kerja Analitik Log yang valid dan aktif. Untuk informasi selengkapnya, lihat Membuat ruang kerja Analitik Log.
- Agen dikonfigurasi untuk ruang kerja Log Analytics: Anda perlu mengonfigurasi agen untuk komputer virtual Azure atau komputer lokal untuk mengirim data ke ruang kerja Log Analytics. Untuk informasi selengkapnya, lihat Gambaran umum Agen Azure Monitor.
- Solusi Log Analytics yang didukung: Solusi Log Analytics harus dikonfigurasi dan mengirim data ke ruang kerja Log Analytics. Solusi yang didukung adalah penghitung kinerja untuk Windows dan Linux, catatan heartbeat untuk Kesehatan Agen, Manajemen Pembaruan Azure Automation, dan data peristiwa.
- Log yang dikonfigurasi untuk solusi Analitik Log: Solusi Analitik Log harus memiliki log dan data yang diperlukan yang sesuai dengan metrik yang didukung untuk ruang kerja Analitik Log diaktifkan. Misalnya, penghitung % Memori yang Tersedia harus dikonfigurasi dalam solusi penghitung kinerja terlebih dahulu.
Metode untuk membuat pemberitahuan metrik untuk log
Anda dapat membuat dan mengelola pemberitahuan metrik dengan menggunakan portal Azure, templat Azure Resource Manager, REST API, Azure PowerShell, dan Azure CLI.
Setelah Anda membuat peringatan metrik untuk log pada ruang kerja Analitik Log tertentu, peringatan tersebut memiliki semua karakteristik dan fungsi peringatan metrik, termasuk skema payload, batas kuota yang berlaku, dan harga yang ditagihkan.
Untuk detail dan sampel langkah demi langkah, lihat Membuat atau mengedit aturan pemberitahuan metrik. Ikuti instruksi untuk mengelola pemberitahuan metrik dan perhatikan pertimbangan berikut:
Target untuk pemberitahuan metrik harus merupakan ruang kerja Analitik Log yang valid.
Sinyal yang dipilih untuk pemberitahuan metrik untuk ruang kerja Analitik Log yang dipilih harus berjenis Metrik.
Anda dapat memfilter kondisi atau sumber daya tertentu dengan menggunakan filter dimensi, karena metrik untuk log bersifat multidaya.
Saat mengonfigurasi logika sinyal, Anda dapat membuat satu peringatan untuk mencakup beberapa nilai dari suatu dimensi (seperti komputer).
Saat Anda membuat pemberitahuan metrik untuk log dengan menggunakan portal Azure, aturan yang sesuai untuk mengonversi data log menjadi metrik melalui
scheduledQueryRulesdibuat secara otomatis di latar belakang, tanpa perlu intervensi atau tindakan pengguna apa pun.Jika Anda tidak menggunakan portal Azure untuk membuat pemberitahuan metrik untuk ruang kerja Log Analytics yang dipilih, Anda harus terlebih dahulu membuat aturan eksplisit secara manual untuk mengonversi data log menjadi metrik dengan menggunakan
scheduledQueryRules.
Templat Manajer Sumber Daya
Untuk membuat pemberitahuan metrik untuk log, Anda bisa menggunakan contoh templat Resource Manager berikut.
Untuk pemberitahuan metrik untuk log yang dibuat melalui sarana selain portal Azure, Anda dapat menggunakan templat sampel ini untuk membuat aturan konversi log-ke-metrik berbasis scheduledQueryRules sebelum Anda membuat pemberitahuan metrik. Jika tidak, tidak akan ada data untuk peringatan metrik di log.
Pemberitahuan metrik untuk log dengan ambang statis
Dalam templat sampel berikut, pembuatan pemberitahuan metrik untuk ambang batas statis tergantung pada pembuatan aturan yang berhasil untuk mengekstrak metrik dari log melalui scheduledQueryRules.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"convertRuleDescription": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Description for the log converted to a metric."
}
},
"convertRuleRegion": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the region used by the workspace."
}
},
"convertRuleStatus": {
"type": "string",
"defaultValue": "true",
"metadata": {
"description": "Specifies whether the log conversion rule is enabled."
}
},
"convertRuleMetric": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the metric after extraction is done from logs."
}
},
"alertName": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the alert."
}
},
"alertDescription": {
"type": "string",
"defaultValue": "This is a metric alert",
"metadata": {
"description": "Description of the alert."
}
},
"alertSeverity": {
"type": "int",
"defaultValue": 3,
"allowedValues": [
0,
1,
2,
3,
4
],
"metadata": {
"description": "Severity of the alert {0,1,2,3,4}."
}
},
"isEnabled": {
"type": "bool",
"defaultValue": true,
"metadata": {
"description": "Specifies whether the alert is enabled."
}
},
"resourceId": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Full resource ID of the resource emitting the metric that will be used for the comparison. For example: /subscriptions/00000000-0000-0000-0000-0000-00000000/resourceGroups/ResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/workspaceName"
}
},
"metricName": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the metric used in the comparison to activate the alert."
}
},
"operator": {
"type": "string",
"defaultValue": "GreaterThan",
"allowedValues": [
"Equals",
"NotEquals",
"GreaterThan",
"GreaterThanOrEqual",
"LessThan",
"LessThanOrEqual"
],
"metadata": {
"description": "Operator comparing the current value with the threshold value."
}
},
"threshold": {
"type": "string",
"defaultValue": "0",
"metadata": {
"description": "The threshold value at which the alert is activated."
}
},
"timeAggregation": {
"type": "string",
"defaultValue": "Average",
"allowedValues": [
"Average",
"Minimum",
"Maximum",
"Total"
],
"metadata": {
"description": "How the data that's collected should be combined over time."
}
},
"windowSize": {
"type": "string",
"defaultValue": "PT5M",
"metadata": {
"description": "Period of time used to monitor alert activity based on the threshold. Must be between five minutes and one day. ISO 8601 duration format."
}
},
"evaluationFrequency": {
"type": "string",
"defaultValue": "PT1M",
"metadata": {
"description": "How often the metric alert is evaluated, represented in ISO 8601 duration format."
}
},
"actionGroupId": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "The ID of the action group that's triggered when the alert is activated or deactivated."
}
}
},
"variables": {
"convertRuleSourceWorkspace": {
"SourceId": "/subscriptions/1234-56789-1234-567a/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/workspaceName"
}
},
"resources": [
{
"name": "[parameters('alertName')]",
"type": "Microsoft.Insights/scheduledQueryRules",
"apiVersion": "2018-04-16",
"location": "[parameters('convertRuleRegion')]",
"properties": {
"description": "[parameters('convertRuleDescription')]",
"enabled": "[parameters('convertRuleStatus')]",
"source": {
"dataSourceId": "[variables('convertRuleSourceWorkspace').SourceId]"
},
"action": {
"odata.type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.LogToMetricAction",
"criteria": [{
"metricName": "[parameters('convertRuleMetric')]",
"dimensions": []
}
]
}
}
},
{
"name": "[parameters('alertName')]",
"type": "Microsoft.Insights/metricAlerts",
"location": "global",
"apiVersion": "2018-03-01",
"tags": {},
"dependsOn":["[resourceId('Microsoft.Insights/scheduledQueryRules',parameters('alertName'))]"],
"properties": {
"description": "[parameters('alertDescription')]",
"severity": "[parameters('alertSeverity')]",
"enabled": "[parameters('isEnabled')]",
"scopes": ["[parameters('resourceId')]"],
"evaluationFrequency":"[parameters('evaluationFrequency')]",
"windowSize": "[parameters('windowSize')]",
"criteria": {
"odata.type": "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria",
"allOf": [
{
"name" : "1st criterion",
"metricName": "[parameters('metricName')]",
"dimensions":[],
"operator": "[parameters('operator')]",
"threshold" : "[parameters('threshold')]",
"timeAggregation": "[parameters('timeAggregation')]"
}
]
},
"actions": [
{
"actionGroupId": "[parameters('actionGroupId')]"
}
]
}
}
]
}
Jika Anda menyimpan JSON sebelumnya sebagai metricfromLogsAlertStatic.json, Anda dapat menggabungkannya dengan parameter file JSON untuk dibuat berdasarkan templat Resource Manager. Berikut adalah contoh parameter file JSON:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"convertRuleDescription": {
"value": "Test rule to extract metrics from logs via template"
},
"convertRuleRegion": {
"value": "West Central US"
},
"convertRuleStatus": {
"value": "true"
},
"convertRuleMetric": {
"value": "Average_% Idle Time"
},
"alertName": {
"value": "TestMetricAlertonLog"
},
"alertDescription": {
"value": "New multidimensional metric alert created via template"
},
"alertSeverity": {
"value":3
},
"isEnabled": {
"value": true
},
"resourceId": {
"value": "/subscriptions/1234-56789-1234-567a/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/workspaceName"
},
"metricName":{
"value": "Average_% Idle Time"
},
"operator": {
"value": "GreaterThan"
},
"threshold":{
"value": "1"
},
"timeAggregation":{
"value": "Average"
},
"actionGroupId": {
"value": "/subscriptions/1234-56789-1234-567a/resourceGroups/myRG/providers/microsoft.insights/actionGroups/actionGroupName"
}
}
}
Dengan asumsi Anda menyimpan file parameter sebelumnya sebagai metricfromLogsAlertStatic.parameters.json, Anda dapat membuat pemberitahuan metrik untuk log dengan menggunakan templat Resource Manager untuk pembuatan di portal Azure.
Atau, Anda dapat menggunakan perintah Azure PowerShell ini:
New-AzResourceGroupDeployment -ResourceGroupName "myRG" -TemplateFile metricfromLogsAlertStatic.json TemplateParameterFile metricfromLogsAlertStatic.parameters.json
Atau, Anda dapat menyebarkan templat Resource Manager dengan menggunakan Azure CLI:
az deployment group create --resource-group myRG --template-file metricfromLogsAlertStatic.json --parameters @metricfromLogsAlertStatic.parameters.json
Pemberitahuan metrik untuk log dengan ambang batas dinamis
Dalam templat sampel berikut, pembuatan pemberitahuan metrik untuk ambang batas dinamis bergantung pada keberhasilan pembuatan aturan untuk mengekstrak metrik dari log melalui scheduledQueryRules.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"convertRuleDescription": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Description for the log converted to a metric."
}
},
"convertRuleRegion": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the region used by the workspace."
}
},
"convertRuleStatus": {
"type": "string",
"defaultValue": "true",
"metadata": {
"description": "Specifies whether the log conversion rule is enabled."
}
},
"convertRuleMetric": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the metric after extraction is done from logs."
}
},
"alertName": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the alert."
}
},
"alertDescription": {
"type": "string",
"defaultValue": "This is a metric alert",
"metadata": {
"description": "Description of the alert."
}
},
"alertSeverity": {
"type": "int",
"defaultValue": 3,
"allowedValues": [
0,
1,
2,
3,
4
],
"metadata": {
"description": "Severity of the alert {0,1,2,3,4}."
}
},
"isEnabled": {
"type": "bool",
"defaultValue": true,
"metadata": {
"description": "Specifies whether the alert is enabled."
}
},
"resourceId": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Full resource ID of the resource emitting the metric that will be used for the comparison. For example: /subscriptions/00000000-0000-0000-0000-0000-00000000/resourceGroups/ResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/workspaceName"
}
},
"metricName": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the metric used in the comparison to activate the alert."
}
},
"operator": {
"type": "string",
"defaultValue": "GreaterOrLessThan",
"allowedValues": [
"GreaterThan",
"LessThan",
"GreaterOrLessThan"
],
"metadata": {
"description": "Operator comparing the current value with the threshold value."
}
},
"alertSensitivity": {
"type": "string",
"defaultValue": "Medium",
"allowedValues": [
"High",
"Medium",
"Low"
],
"metadata": {
"description": "Tunes how 'noisy' the alerts for dynamic thresholds will be. 'High' will result in more alerts. 'Low' will result in fewer alerts."
}
},
"numberOfEvaluationPeriods": {
"type": "string",
"defaultValue": "4",
"metadata": {
"description": "The number of periods to check in the alert evaluation."
}
},
"minFailingPeriodsToAlert": {
"type": "string",
"defaultValue": "3",
"metadata": {
"description": "The number of unhealthy periods to alert on (must be lower or equal to numberOfEvaluationPeriods)."
}
},
"timeAggregation": {
"type": "string",
"defaultValue": "Average",
"allowedValues": [
"Average",
"Minimum",
"Maximum",
"Total"
],
"metadata": {
"description": "How the data that's collected should be combined over time."
}
},
"windowSize": {
"type": "string",
"defaultValue": "PT5M",
"metadata": {
"description": "Period of time used to monitor alert activity based on the threshold. Must be between five minutes and one day. ISO 8601 duration format."
}
},
"evaluationFrequency": {
"type": "string",
"defaultValue": "PT1M",
"metadata": {
"description": "How often the metric alert is evaluated, represented in ISO 8601 duration format."
}
},
"actionGroupId": {
"type": "string",
"defaultValue": "",
"metadata": {
"description": "The ID of the action group that's triggered when the alert is activated or deactivated."
}
}
},
"variables": {
"convertRuleSourceWorkspace": {
"SourceId": "/subscriptions/1234-56789-1234-567a/resourceGroups/resourceGroupName/providers/Microsoft.OperationalInsights/workspaces/workspaceName"
}
},
"resources": [
{
"name": "[parameters('alertName')]",
"type": "Microsoft.Insights/scheduledQueryRules",
"apiVersion": "2018-04-16",
"location": "[parameters('convertRuleRegion')]",
"properties": {
"description": "[parameters('convertRuleDescription')]",
"enabled": "[parameters('convertRuleStatus')]",
"source": {
"dataSourceId": "[variables('convertRuleSourceWorkspace').SourceId]"
},
"action": {
"odata.type": "Microsoft.WindowsAzure.Management.Monitoring.Alerts.Models.Microsoft.AppInsights.Nexus.DataContracts.Resources.ScheduledQueryRules.LogToMetricAction",
"criteria": [{
"metricName": "[parameters('convertRuleMetric')]",
"dimensions": []
}
]
}
}
},
{
"name": "[parameters('alertName')]",
"type": "Microsoft.Insights/metricAlerts",
"location": "global",
"apiVersion": "2018-03-01",
"tags": {},
"dependsOn":["[resourceId('Microsoft.Insights/scheduledQueryRules',parameters('alertName'))]"],
"properties": {
"description": "[parameters('alertDescription')]",
"severity": "[parameters('alertSeverity')]",
"enabled": "[parameters('isEnabled')]",
"scopes": ["[parameters('resourceId')]"],
"evaluationFrequency":"[parameters('evaluationFrequency')]",
"windowSize": "[parameters('windowSize')]",
"criteria": {
"odata.type": "Microsoft.Azure.Monitor.MultipleResourceMultipleMetricCriteria",
"allOf": [
{
"criterionType": "DynamicThresholdCriterion",
"name" : "1st criterion",
"metricName": "[parameters('metricName')]",
"dimensions":[],
"operator": "[parameters('operator')]",
"alertSensitivity": "[parameters('alertSensitivity')]",
"failingPeriods": {
"numberOfEvaluationPeriods": "[parameters('numberOfEvaluationPeriods')]",
"minFailingPeriodsToAlert": "[parameters('minFailingPeriodsToAlert')]"
},
"timeAggregation": "[parameters('timeAggregation')]"
}
]
},
"actions": [
{
"actionGroupId": "[parameters('actionGroupId')]"
}
]
}
}
]
}
Jika Anda menyimpan JSON sebelumnya sebagai metricfromLogsAlertDynamic.json, Anda dapat menggabungkannya dengan parameter file JSON untuk dibuat berdasarkan templat Resource Manager. Berikut adalah contoh parameter file JSON:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"convertRuleDescription": {
"value": "Test rule to extract metrics from logs via template"
},
"convertRuleRegion": {
"value": "West Central US"
},
"convertRuleStatus": {
"value": "true"
},
"convertRuleMetric": {
"value": "Average_% Idle Time"
},
"alertName": {
"value": "TestMetricAlertonLog"
},
"alertDescription": {
"value": "New multidimensional metric alert created via template"
},
"alertSeverity": {
"value":3
},
"isEnabled": {
"value": true
},
"resourceId": {
"value": "/subscriptions/1234-56789-1234-567a/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/workspaceName"
},
"metricName":{
"value": "Average_% Idle Time"
},
"operator": {
"value": "GreaterOrLessThan"
},
"alertSensitivity": {
"value": "Medium"
},
"numberOfEvaluationPeriods": {
"value": "4"
},
"minFailingPeriodsToAlert": {
"value": "3"
},
"timeAggregation":{
"value": "Average"
},
"actionGroupId": {
"value": "/subscriptions/1234-56789-1234-567a/resourceGroups/myRG/providers/microsoft.insights/actionGroups/actionGroupName"
}
}
}
Dengan asumsi Anda menyimpan file parameter sebelumnya sebagai metricfromLogsAlertDynamic.parameters.json, Anda dapat membuat pemberitahuan metrik untuk log dengan menggunakan templat Resource Manager untuk pembuatan di portal Azure.
Atau, Anda dapat menggunakan perintah Azure PowerShell ini:
New-AzResourceGroupDeployment -ResourceGroupName "myRG" -TemplateFile metricfromLogsAlertDynamic.json TemplateParameterFile metricfromLogsAlertDynamic.parameters.json
Atau, Anda dapat menyebarkan templat Resource Manager dengan menggunakan Azure CLI:
az deployment group create --resource-group myRG --template-file metricfromLogsAlertDynamic.json --parameters @metricfromLogsAlertDynamic.parameters.json
Konten terkait
- Pelajari selengkapnya tentang pemberitahuan metrik.
- Pelajari tentang pemberitahuan pencarian log di Azure.
- Pelajari tentang pemberitahuan di Azure.