#azure #azure-devops #azureservicebus #azure-servicebus-topics
#azure #azure-devops #azureservicebus #azure-servicebus-темы
Вопрос:
Для нашего непрерывного развертывания мы хотим настроить правила оповещения для сообщений с недопустимыми буквами в теме. На портале Azure этот показатель существует как функция предварительного просмотра. Мы хотели бы создать это правило оповещения с помощью шаблонов ARM.
Есть ли уже имя показателя, которое я могу использовать для этого в параметрах моего шаблона ARM? Если нет, то когда можно будет использовать этот показатель в наших шаблонах ARM?
Пожалуйста, смотрите, что название показателя здесь не указано: https://learn.microsoft.com/en-us/azure/azure-monitor/platform/metrics-supported#microsoftservicebusnamespaces
Но можно вручную создать правило оповещения и выбрать этот показатель:
Ответ №1:
Вот шаблон ARM для создания предупреждения о метрике Count of dead lettered messages in a Queue/Topic
:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"alertName": {
"type": "string",
"minLength": 1,
"metadata": {
"description": "Name of the alert"
}
},
"alertDescription": {
"type": "string",
"defaultValue": "This is a metric alert",
"metadata": {
"description": "Description of alert"
}
},
"alertSeverity": {
"type": "int",
"defaultValue": 3,
"allowedValues": [
0,
1,
2,
3,
4
],
"metadata": {
"description": "Severity of 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.compute/virtualMachines/VM_xyz"
}
},
"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 is 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"
}
}
},
"variables": {},
"resources": [
{
"apiVersion": "2018-03-01",
"type": "Microsoft.Insights/ActionGroups",
"name": "testAG12",
"location": "Global",
"kind": null,
"tags": {},
"properties": {
"groupShortName": "testAg",
"enabled": true,
"emailReceivers": [
{
"name": "emailservice_-EmailAction-",
"emailAddress": "email@contoso.com",
"status": "Enabled",
"useCommonAlertSchema": false
}
],
"smsReceivers": [],
"webhookReceivers": [],
"itsmReceivers": [],
"azureAppPushReceivers": [],
"automationRunbookReceivers": [],
"voiceReceivers": [],
"logicAppReceivers": [],
"azureFunctionReceivers": [],
"armRoleReceivers": []
},
"identity": null
},
{
"name": "[parameters('alertName')]",
"type": "Microsoft.Insights/metricAlerts",
"location": "global",
"apiVersion": "2018-03-01",
"tags": {},
"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')]",
"metricNamespace": "microsoft.servicebus/namespaces",
"dimensions": [],
"operator": "[parameters('operator')]",
"threshold": "[parameters('threshold')]",
"timeAggregation": "[parameters('timeAggregation')]"
}
]
},
"actions": [
{
"actionGroupId": "[resourceId('Microsoft.Insights/ActionGroups', 'testAG12')]"
}
]
}
}
]
}
Передайте нижеприведенные важные значения параметрам:
Metric Name : DeadletteredMessages
Time Aggregation : Average
Resource Id: Resource ID of your Service Bus Namespace. You can get this from the properties of the service bus blade as shown in below image
Комментарии:
1. Большое вам спасибо! Не могли бы вы, пожалуйста, сообщить мне, как вы попали на экран со второго снимка экрана (с настройками) на портале? Или, другими словами, как вы нашли название показателя? Тогда я смогу лучше узнать, как находить другие имена показателей, когда они мне понадобятся.
2. Второй снимок экрана на самом деле представляет собой развертывание шаблона с портала. Войдите в portal.azure.com > Все службы > Поиск шаблона learn.microsoft.com/en-us/azure/azure-resource-manager/… Вы можете вставить шаблон, упомянутый в моем ответе, и вы увидите тот же пользовательский интерфейс.