Мониторинг Служебной шины Azure
При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать эти ресурсы на предмет их доступности, производительности и работы. В этой статье описываются данные мониторинга, создаваемые Служебной шиной Azure, а также методы анализа таких данных и создания оповещений о них с помощью Azure Monitor.
Общие сведения об Azure Monitor
Служебная шина Azure создает данные мониторинга с помощью Azure Monitor — комплексной службы мониторинга в Azure. Azure Monitor предоставляет полный набор функций для мониторинга ресурсов в Azure и других облаках, а также в локальной среде.
Начните со статьи Мониторинг ресурсов Azure с помощью Azure Monitor, в которой описаны следующие понятия:
- Общие сведения об Azure Monitor
- Затраты, связанные с мониторингом
- данные мониторинга, собираемые в Azure;
- настройка сбора данных;
- стандартные средства Azure для анализа данных мониторинга и оповещения.
Следующие разделы дополняют эту статью: в них описываются конкретные данные, собираемые для Служебной шины Azure. В них также приводятся примеры настройки сбора и анализа данных средствами Azure.
Совет
Сведения о затратах, связанных с Azure Monitor, см. в статье о затратах и использовании Azure Monitor. О том, сколько времени потребуется для отображения данных в Azure Monitor, см. в статье "Сроки приема данных журналов в Azure Monitor".
Мониторинг данных из Служебной шины Azure
Служебная шина Azure собирает данные мониторинга тех же типов, что и другие ресурсы Azure, описанные в статье Мониторинг данных из ресурсов Azure.
Подробную справку по журналам и метрикам, создаваемым Служебной шиной Azure, см. в справочнике по данным мониторинга Служебной шины Azure.
Сбор и маршрутизация
Метрики платформы и журнал действий собираются и сохраняются автоматически, но их можно направить в другие расположения с помощью параметра диагностики.
Журналы ресурсов не собираются и не сохраняются, пока вы не создадите параметр диагностики и не начнете передавать их в одно расположение или несколько.
Подробный процесс создания параметров диагностики с помощью портала Azure, интерфейса командной строки или PowerShell см. в статье Создание параметров диагностики для отправки журналов платформы и метрик в разные места назначения. Создавая параметр диагностики, нужно указать, какие категории журналов должны собираться. Категории Служебной шины Azure перечислены в справочнике по данным мониторинга Служебной шины Azure.
Примечание.
Azure Monitor не содержит измерения в экспортированных данных метрик, которые отправляются в место назначения (например, в службу хранилища Azure, Центры событий Azure или Log Analytics).
Хранилище Azure
Данные журнала диагностики хранятся в контейнерах insights-logs-operationlogs и insights-metrics-pt1m.
Пример URL-адреса для журнала операций: https://<Azure Storage account>.blob.core.windows.net/insights-logs-operationallogs/resourceId=/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/<Resource group name>/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/<Namespace name>/y=<YEAR>/m=<MONTH-NUMBER>/d=<DAY-NUMBER>/h=<HOUR>/m=<MINUTE>/PT1H.json
. URL-адрес для журнала метрик аналогичен.
Центры событий Azure
Данные журнала диагностики хранятся в концентраторах событий insights-logs-operationlogs и insights-metrics-pt1m. Вы можете также выбрать собственный концентратор событий.
Служба Log Analytics
Данные журнала диагностики хранятся в таблицах AzureDiagnostics и AzureMetrics.
Пример выходных данных журнала операций (отформатированных)
{
"Environment": "PROD",
"Region": "East US",
"ScaleUnit": "PROD-BL2-002",
"ActivityId": "a097a88a-33e5-4c9c-9c64-20f506ec1375",
"EventName": "Retrieve Namespace",
"resourceId": "/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/SPSBUS0213RG/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/SPSBUS0213NS",
"SubscriptionId": "<Azure subscription ID>",
"EventTimeString": "5/18/2021 3:25:55 AM +00:00",
"EventProperties": "{\"SubscriptionId\":\"<Azure subscription ID>\",\"Namespace\":\"spsbus0213ns\",\"Via\":\"https://spsbus0213ns.servicebus.windows.net/$Resources/topics?api-version=2017-04&$skip=0&$top=100\",\"TrackingId\":\"a097a88a-33e5-4c9c-9c64-20f506ec1375_M8CH3_M8CH3_G8\"}",
"Status": "Succeeded",
"Caller": "rpfrontdoor",
"category": "OperationalLogs"
}
Пример выходных данных журнала метрик (отформатированных)
{
"count": 1,
"total": 4,
"minimum": 4,
"maximum": 4,
"average": 4,
"resourceId": "/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/SPSBUS0213RG/PROVIDERS/MICROSOFT.SERVICEBUS/NAMESPACES/SPSBUS0213NS",
"time": "2021-05-18T03:27:00.0000000Z",
"metricName": "IncomingMessages",
"timeGrain": "PT1M"
}
Внимание
Для включения этих параметров требуются дополнительные службы Azure (учетная запись хранения, концентратор событий или Log Analytics), что может привести к увеличению затрат. Рассчитать оценочную стоимость можно с помощью калькулятора цен Azure.
Примечание.
В настоящее время при включении метрик в диагностическом параметре сведения об измерениях не включаются в состав данных, передаваемых в учетную запись хранения, концентратор событий или Log Analytics.
Метрики и журналы, которые можно собрать, описываются в следующих разделах.
Анализ метрик
Вы можете проанализировать метрики Служебной шины Azure, а также метрики из других служб Azure, выбрав Метрики из раздела Azure Monitor на домашней странице для пространства имен Служебной шины. Дополнительные сведения об использовании этого средства см . в обозревателе метрик Azure Monitor. Список собираемых метрик платформы приведен в разделе Метрики справочника по данным мониторинга Служебной шины Azure.
Для справки можно просмотреть список всех метрик ресурсов, поддерживаемых Azure Monitor.
Совет
Данные метрик Azure Monitor доступны в течение 90 дней, но при создании диаграмм визуализацию можно выполнить только за 30 дней. Например, если требуется визуализировать 90-дневный период, его необходимо разбить на три диаграммы по 30 дней.
Фильтрация и разбиение
Для метрик, поддерживающих измерения, можно применять фильтры по значению измерения — Например, добавьте фильтр с параметром EntityName
, имеющим значение имени очереди или раздела. Метрики можно разбивать по измерениям, чтобы наглядно сравнивать различные их сегменты. Дополнительные сведения о фильтрации и разбиении см. в статье "Расширенные возможности обозревателя метрик Azure".
анализ журналов;
Для использования Azure Monitor Log Analytics необходимо создать диагностическую конфигурацию и включить параметр Отправлять сведения в Log Analytics. Дополнительные сведения см. в разделе Сбор и маршрутизация. Данные в журналах Azure Monitor хранятся в таблицах, причем каждая таблица имеет собственный набор уникальных свойств. Служебная шина Azure имеет возможность отправлять журналы в две целевые таблицы — диагностические или определенные таблицы ресурсов Azure в Log Analytics. Подробные сведения о журналах и метриках см. в справочнике по данным мониторинга Служебной шины Azure.
Внимание
Если выбрать в меню Служебной шины Azure пункт Журналы, откроется Log Analytics с текущей рабочей областью в качестве области запроса. Это означает, что запросы к журналам будут содержать данные только из этого ресурса. Если требуется выполнить запрос, включающий данные из других баз данных или служб Azure, выберите в меню Azure Monitor пункт Журналы. Подробные сведения см. в статье Область запросов журнала и временной диапазон в Azure Monitor Log Analytics.
Дополнительные запросы Kusto
Ниже приведены примеры запросов, которые можно использовать для мониторинга ресурсов Служебной шины Azure.
Получение операций управления за последние 7 дней.
AzureDiagnostics | where TimeGenerated > ago(7d) | where ResourceProvider =="MICROSOFT.SERVICEBUS" | where Category == "OperationalLogs" | summarize count() by EventName_s, _ResourceId
Получите журналы аудита времени выполнения, созданные за последний час.
AzureDiagnostics | where TimeGenerated > ago(1h) | where ResourceProvider =="MICROSOFT.SERVICEBUS" | where Category == "RuntimeAuditLogs"
Получение попыток обращения к хранилищу ключей, завершившихся ошибкой "ключ не найден".
AzureDiagnostics | where ResourceProvider == "MICROSOFT.SERVICEBUS" | where Category == "Error" and OperationName == "wrapkey" | project Message, _ResourceId
Получение ошибок за последние 7 дней.
AzureDiagnostics | where TimeGenerated > ago(7d) | where ResourceProvider =="MICROSOFT.SERVICEBUS" | where Category == "Error" | summarize count() by EventName_s, _ResourceId
Получение операций, выполненных с хранилищем ключей для отключения или восстановления ключа.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.SERVICEBUS" | where (Category == "info" and (OperationName == "disable" or OperationName == "restore")) | project Message, _ResourceId
Получение всех сущностей, которые были удалены автоматически.
AzureDiagnostics | where ResourceProvider == "MICROSOFT.SERVICEBUS" | where Category == "OperationalLogs" | where EventName_s startswith "AutoDelete" | summarize count() by EventName_s, _ResourceId