Включение журналов диагностики для ресурсов Сетки событий

В этой статье содержатся пошаговые инструкции по включению параметров диагностики для ресурсов Сетки событий Azure. Эти параметры позволяют получать и просматривать диагностические данные, чтобы упростить устранение неполадок. В следующей таблице приведены параметры, доступные для различных типов ресурсов Сетки событий — пользовательские разделы, системные разделы и домены.

Параметр диагностики Разделы Сетки событий Системные разделы Сетки событий Домены событий Партнерские пространства имен Сетки событий
DeliveryFailures Да Да Да No
PublishFailures Да Нет Да Да
DataPlaneRequests Да Нет Да Да

Важно!

Сведения о схемах сбоев доставки, ошибках публикации и запросах к плоскости данных см. в разделе Журналы диагностики.

Необходимые компоненты

  • Подготовленный ресурс Сетки событий
  • Подготовленное назначение для записи журналов диагностики:
    • Рабочая область Log Analytics
    • Учетная запись хранения
    • Event Hubs
    • Решения партнеров

Включение журналов диагностики для разделов и доменов Сетки событий

Примечание.

Следующая процедура содержит пошаговые инструкции по включению журналов диагностики для раздела. Действия по включению журналов диагностики для домена очень похожи. На шаге 2 перейдите к домену сетки событий на портале Azure.

  1. Войдите на портал Azure.

  2. Перейдите к разделу сетки событий, для которого необходимо включить параметры журнала диагностики.

    1. Выполните поиск разделов сетки событий в верхней строке поиска.

      Screenshot that shows the Azure portal with Event Grid topics in the search box.

    2. Выберите раздел из списка, для которого необходимо настроить параметры диагностики.

  3. Выберите Параметры диагностики в меню Мониторинг слева.

  4. На странице Параметры диагностики щелкните Добавить новый параметр диагностики.

    Screenshots showing the Diagnostic settings page of a custom topic.

  5. Укажите имя для параметра диагностики.

  6. Выберите параметр allLogs в разделе Журналы.

    Screenshot that shows the Diagnostic setting page with All logs selected.

  7. Включите одно или несколько мест назначения для записи данных в журналах, а затем настройте их, выбрав ранее созданный ресурс для записи данных.

    • Если вы выбрали Отправить в Log Analytics, выберите рабочую область Log Analytics.

      Screenshot that shows the Diagnostic settings page with Send to Log Analytics selected.

    • Если вы выбрали Архивировать в учетной записи хранения, выберите Учетная запись хранения — Настройка, а затем выберите учетную запись хранения в своей подписке Azure.

      Screenshot that shows the Diagnostic settings page with Archive to an Azure storage account checked and a storage account selected.

    • Если вы выбрали Передать в концентратор событий, выберите Концентратор событий — Настройка, а затем — пространство имен Центров событий, концентратор событий и политику доступа.

      Screenshot that shows the

  8. Выберите Сохранить. Щелкните X в правом углу, чтобы закрыть страницу.

  9. Теперь вернитесь на страницу Параметры диагностики и убедитесь, что в таблице Параметры диагностики отображается новая запись.

    Screenshot that shows the

Вы также можете включить сбор всех метрик для раздела.

Включение журналов диагностики для системных разделов Сетки событий

  1. Войдите на портал Azure.
  2. Перейдите к системному разделу, для которого необходимо включить параметры журнала диагностики.
    1. Выполните поиск Системных разделов Сетки событий в верхней строке поиска. Search for system topics
    2. Выберите системный раздел, для которого необходимо настроить параметры диагностики. Select system topic
  3. Выберите Параметры диагностики в меню Мониторинг слева, а затем выберите Добавить параметр диагностики. Add diagnostic settings - button
  4. Укажите имя для параметра диагностики.
  5. Выберите параметр allLogs в разделе Журналы. Select delivery failures
  6. Включите одно или несколько мест назначения для записи данных в журналах, а затем настройте их, выбрав ранее созданный ресурс для записи данных.
    • Если вы выбрали Отправить в Log Analytics, выберите рабочую область Log Analytics. Send to Log Analytics
    • Если вы выбрали Архивировать в учетной записи хранения, выберите Учетная запись хранения — Настройка, а затем выберите учетную запись хранения в своей подписке Azure. Archive to an Azure storage account
    • Если вы выбрали Передать в концентратор событий, выберите Концентратор событий — Настройка, а затем — пространство имен Центров событий, концентратор событий и политику доступа. Stream to an event hub
  7. Выберите Сохранить. Щелкните X в правом углу, чтобы закрыть страницу.
  8. Теперь вернитесь на страницу Параметры диагностики и убедитесь, что в таблице Параметры диагностики отображается новая запись. Diagnostic setting in the list

Вы также можете включить сбор всех метрик для системного раздела. System topic - enable all metrics

Просмотр журналов диагностики в службе хранилища Azure

  1. После включения учетной записи хранения в качестве места назначения для записи данных Сетка событий начнет отправлять журналы диагностики. В учетной записи хранения должны отобразиться новые контейнеры с именами insights-logs-deliveryfailures и insights-logs-publishfailures.

    Storage - containers for diagnostic logs

  2. При переходе по одному из контейнеров вы увидите BLOB-объект в формате JSON. Этот файл содержит записи журнала о сбоях при публикации или доставке. Путь навигации представляет ResourceId раздела сетки событий и метку времени (минутный уровень) о том, когда были созданы записи журнала. Скачиваемый файл BLOB-объекта или файл JSON в конечном счете соответствует схеме, описанной в следующем разделе.

    JSON file in the storage

  3. Вы должны увидеть содержимое в файле JSON, как показано в следующем примере:

    {
        "time": "2019-11-01T00:17:13.4389048Z",
        "resourceId": "/SUBSCRIPTIONS/SAMPLE-SUBSCTIPTION-ID /RESOURCEGROUPS/SAMPLE-RESOURCEGROUP-NAME/PROVIDERS/MICROSOFT.EVENTGRID/TOPICS/SAMPLE-TOPIC-NAME ",
        "eventSubscriptionName": "SAMPLEDESTINATION",
        "category": "DeliveryFailures",
        "operationName": "Deliver",
        "message": "Message:outcome=NotFound, latencyInMs=2635, id=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx, systemId=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, state=FilteredFailingDelivery, deliveryTime=11/1/2019 12:17:10 AM, deliveryCount=0, probationCount=0, deliverySchema=EventGridEvent, eventSubscriptionDeliverySchema=EventGridEvent, fields=InputEvent, EventSubscriptionId, DeliveryTime, State, Id, DeliverySchema, LastDeliveryAttemptTime, SystemId, fieldCount=, requestExpiration=1/1/0001 12:00:00 AM, delivered=False publishTime=11/1/2019 12:17:10 AM, eventTime=11/1/2019 12:17:09 AM, eventType=Type, deliveryTime=11/1/2019 12:17:10 AM, filteringState=FilteredWithRpc, inputSchema=EventGridEvent, publisher=DIAGNOSTICLOGSTEST-EASTUS.EASTUS-1.EVENTGRID.AZURE.NET, size=363, fields=Id, PublishTime, SerializedBody, EventType, Topic, Subject, FilteringHashCode, SystemId, Publisher, FilteringTopic, TopicCategory, DataVersion, MetadataVersion, InputSchema, EventTime, fieldCount=15, url=sb://diagnosticlogstesting-eastus.servicebus.windows.net/, deliveryResponse=NotFound: The messaging entity 'sb://diagnosticlogstesting-eastus.servicebus.windows.net/eh-diagnosticlogstest' could not be found. TrackingId:c98c5af6-11f0-400b-8f56-c605662fb849_G14, SystemTracker:diagnosticlogstesting-eastus.servicebus.windows.net:eh-diagnosticlogstest, Timestamp:2019-11-01T00:17:13, referenceId: ac141738a9a54451b12b4cc31a10dedc_G14:"
    }
    

Использование шаблона Azure Resource Manager

Ниже приведен пример шаблона Azure Resource Manager для включения параметров диагностики для раздела "Сетка событий". При развертывании этого примера шаблона создаются следующие ресурсы.

  • Раздел "Сетка событий"
  • Рабочая область Log Analytics

Затем создается параметр диагностики по определенному разделу для отправки диагностических сведений в рабочую область Log Analytics.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "topic_name": {
            "defaultValue": "spegrid0917topic",
            "type": "String"
        },
        "log_analytics_workspace_name": {
            "defaultValue": "splogaw0625",
            "type": "String"
        },
        "location": {
            "defaultValue": "eastus",
            "type": "String"
        },
        "sku": {
            "defaultValue": "Free",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.EventGrid/topics",
            "apiVersion": "2020-10-15-preview",
            "name": "[parameters('topic_name')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "Basic"
            },
            "kind": "Azure",
            "identity": {
                "type": "None"
            },
            "properties": {
                "inputSchema": "EventGridSchema",
                "publicNetworkAccess": "Enabled"
            }
        },
        {
            "apiVersion": "2017-03-15-preview",
            "name": "[parameters('log_analytics_workspace_name')]",
            "location": "[parameters('location')]",
            "type": "Microsoft.OperationalInsights/workspaces",
            "properties": {
                "sku": {
                    "name": "[parameters('sku')]"
                }
            }
        },
        {
            "type": "Microsoft.EventGrid/topics/providers/diagnosticSettings",
            "apiVersion": "2017-05-01-preview",
            "name": "[concat(parameters('topic_name'), '/', 'Microsoft.Insights/', parameters('log_analytics_workspace_name'))]",
            "location": "[parameters('location')]",
            "dependsOn": [
                "[resourceId('Microsoft.EventGrid/topics', parameters('topic_name'))]",
                "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]"
            ],
            "properties": {
                "workspaceId": "[resourceId('Microsoft.OperationalInsights/workspaces', parameters('log_analytics_workspace_name'))]",
                "metrics": [
                    {
                        "category": "AllMetrics",
                        "enabled": true
                    }
                ],
                "logs": [
                    {
                        "category": "DeliveryFailures",
                        "enabled": true
                    },
                    {
                        "category": "PublishFailures",
                        "enabled": true
                    }
                ]
            }
        }
    ]
}

Включение журналов диагностики для трассировок аудита

Сетка событий может публиковать трассировки аудита для операций с плоскостью данных. Чтобы включить эту функцию, выберите Аудит в разделе Группы категорий или выберите DataPlaneRequests в разделе Категории.

Трассировка аудита может использоваться, чтобы гарантировать, что доступ к данным будет разрешен только для утвержденных целей. Эта процедура собирает сведения об управлении безопасностью, такие как имя ресурса, тип операции, сетевой доступ, уровень, регион и т. д. Дополнительные сведения о включении параметра диагностики см. в разделах Журналы диагностики в разделах «Сетка событий» и «Домены событий». Screenshot that shows the Diagnostic settings page with Audit selected.

Важно!

Дополнительные сведения о схеме DataPlaneRequests см. в разделе Журналы диагностики.

Следующие шаги

Сведения о схеме журнала и других концептуальных данных о журналах диагностики для разделов или доменов см. в статье Журналы диагностики.