Агрегирование и сбор событий с помощью Диагностики Azure для WindowsEvent aggregation and collection using Windows Azure Diagnostics

Во время работы кластера Azure Service Fabric рекомендуется централизованно собирать журналы со всех узлов.When you're running an Azure Service Fabric cluster, it's a good idea to collect the logs from all the nodes in a central location. Централизованное хранение журналов упрощает анализ и устранение неполадок в кластере, а также в приложениях и службах, работающих в этом кластере.Having the logs in a central location helps you analyze and troubleshoot issues in your cluster, or issues in the applications and services running in that cluster.

Один из способов отправки и сбора журналов заключается в использовании расширения Диагностики Azure для Windows (WAD), которое отправляет журналы в службу хранилища Azure, а также может отправлять журналы в Azure Application Insights или Центры событий Azure.One way to upload and collect logs is to use the Windows Azure Diagnostics (WAD) extension, which uploads logs to Azure Storage, and also has the option to send logs to Azure Application Insights or Event Hubs. Вы также можете использовать внешний процесс для чтения событий из хранилища и их размещения в продукте платформы анализа, например Azure Monitor журналов или другого решения для анализа журналов.You can also use an external process to read the events from storage and place them in an analysis platform product, such as Azure Monitor logs or another log-parsing solution.

Примечание

Эта статья была изменена, и теперь в ней содержатся сведения о модуле Az PowerShell для Azure.This article has been updated to use the Azure Az PowerShell module. Модуль Az PowerShell является рекомендуемым модулем PowerShell для взаимодействия с Azure.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Чтобы начать работу с модулем Az PowerShell, ознакомьтесь со статьей Установка Azure PowerShell.To get started with the Az PowerShell module, see Install Azure PowerShell. Дополнительные сведения см. в статье Перенос Azure PowerShell с AzureRM на Az.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

Предварительные условияPrerequisites

В этом руководстве используются инструменты, представленные ниже.The following tools are used in this article:

События платформы Service FabricService Fabric platform events

Service Fabric настраивает несколько стандартных каналов ведения журнала, и для нескольких из них расширение предварительно настраивает отправку данных мониторинга и диагностики в таблицу хранилища или в другое расположение.Service Fabric sets you up with a few out-of-the-box logging channels, of which the following channels are pre-configured with the extension to send monitoring and diagnostics data to a storage table or elsewhere:

Развертывание расширения системы диагностики с помощью порталаDeploy the Diagnostics extension through the portal

Для сбора журналов прежде всего нужно развернуть расширение системы диагностики на каждом узле масштабируемого набора виртуальных машин в кластере Service Fabric.The first step in collecting logs is to deploy the Diagnostics extension on the virtual machine scale set nodes in the Service Fabric cluster. Расширение системы диагностики собирает журналы на каждой виртуальной машине и отправляет их в указанную учетную запись хранения.The Diagnostics extension collects logs on each VM and uploads them to the storage account that you specify. Ниже описано, как настроить это для новых и существующих кластеров с помощью портала Azure и шаблонов Azure Resource Manager.The following steps outline how to accomplish this for new and existing clusters through the Azure portal and Azure Resource Manager templates.

Развертывание расширения системы диагностики в ходе создания кластера с помощью портала AzureDeploy the Diagnostics extension as part of cluster creation through Azure portal

При создании кластера, на этапе конфигурации кластера, разверните дополнительные параметры и убедитесь, что здесь включен параметр диагностики (это значение по умолчанию).When creating your cluster, in the cluster configuration step, expand the optional settings and ensure that Diagnostics is set to On (the default setting).

Параметры системы диагностики Azure на портале для создания кластера

Мы настоятельно рекомендуем скачать шаблон прежде, чем вы щелкнете "Создать" на последнем шаге.We highly recommend that you download the template before you click Create in the final step. Дополнительную информацию см. в статье Создание кластера Service Fabric с помощью Azure Resource Manager.For details, refer to Set up a Service Fabric cluster by using an Azure Resource Manager template. Этот шаблон потребуется для настройки каналов (перечисленных выше), из которых вы намерены собирать данные.You need the template to make changes on what channels (listed above) to gather data from.

Шаблон кластера

Теперь, когда вы собираете события в службе хранилища Azure, Настройте журналы Azure Monitor , чтобы получить подробные сведения и запросить их на портале Azure Monitor журналов.Now that you're aggregating events in Azure Storage, set up Azure Monitor logs to gain insights and query them in the Azure Monitor logs portal

Примечание

Сейчас не поддерживается возможность фильтрации или очистки событий, которые отправляются в таблицы.There is currently no way to filter or groom the events that are sent to the tables. Если вы не реализуете метод для удаления событий из таблицы, она будет постоянно расти. По умолчанию действует ограничение в 50 ГБ.If you don't implement a process to remove events from the table, the table will continue to grow (the default cap is 50 GB). Вы можете изменить это ограничение, используя инструкции, приведенные ниже в этой статье.Instructions on how to change this are further below in this article. Кроме того, там есть пример службы для очистки данных, выполняющийся в примере модуля наблюдения. Мы рекомендуем создать свою службу, если у вас нет веских причин хранить журналы дольше 30 или 90 дней.Additionally, there is an example of a data grooming service running in the Watchdog sample, and it is recommended that you write one for yourself as well, unless there is a good reason for you to store logs beyond a 30 or 90 day timeframe.

Развертывание расширения системы диагностики с помощью Azure Resource ManagerDeploy the Diagnostics extension through Azure Resource Manager

Создание кластера с расширением системы диагностикиCreate a cluster with the diagnostics extension

Чтобы создать кластер с помощью Resource Manager, добавьте код JSON с конфигурацией системы диагностики в полный шаблон Resource Manager.To create a cluster by using Resource Manager, you need to add the Diagnostics configuration JSON to the full Resource Manager template. Мы предоставляем пример шаблона диспетчера ресурсов для кластера из пяти виртуальных машин с конфигурацией системы диагностики (эта конфигурация входит в примеры шаблонов диспетчера ресурсов).We provide a sample five-VM cluster Resource Manager template with Diagnostics configuration added to it as part of our Resource Manager template samples. Этот шаблон можно найти в коллекции примеров Azure. См. статью Пример шаблона Resource Manager — кластер из пяти узлов с системой диагностики.You can see it at this location in the Azure Samples gallery: Five-node cluster with Diagnostics Resource Manager template sample.

Чтобы просмотреть параметр системы диагностики в шаблоне Resource Manager, откройте файл azuredeploy.json и выполните поиск IaaSDiagnostics.To see the Diagnostics setting in the Resource Manager template, open the azuredeploy.json file and search for IaaSDiagnostics. Чтобы создать кластер с помощью этого шаблона, нажмите кнопку Развернуть в Azure, которая доступна по ссылке выше.To create a cluster by using this template, select the Deploy to Azure button available at the previous link.

Также можно скачать пример шаблона Resource Manager, внести в него изменения и создать кластер на основе измененного шаблона с помощью команды New-AzResourceGroupDeployment в окне Azure PowerShell.Alternatively, you can download the Resource Manager sample, make changes to it, and create a cluster with the modified template by using the New-AzResourceGroupDeployment command in an Azure PowerShell window. Параметры, передаваемые в команду, приведены в коде ниже.See the following code for the parameters that you pass in to the command. Дополнительные инструкции по развертыванию группы ресурсов с помощью PowerShell см. в статье Развертывание ресурсов с использованием шаблонов Resource Manager и Azure PowerShell.For detailed information on how to deploy a resource group by using PowerShell, see the article Deploy a resource group with the Azure Resource Manager template.

Добавление расширения системы диагностики к существующему кластеруAdd the diagnostics extension to an existing cluster

Если у вас есть кластер, в котором еще не развернута система диагностики, вы можете добавить или обновить систему диагностики с помощью шаблона кластера.If you have an existing cluster that doesn't have Diagnostics deployed, you can add or update it via the cluster template. Измените шаблон Resource Manager, который используется для создания существующего кластера, или скачайте шаблон на портале, как описано выше.Modify the Resource Manager template that's used to create the existing cluster or download the template from the portal as described earlier. Измените файл template.json, выполнив следующие действия.Modify the template.json file by performing the following tasks:

Добавьте новый ресурс хранилища в шаблон, внеся изменения в раздел resources.Add a new storage resource to the template by adding to the resources section.

{
    "apiVersion": "2018-07-01",
    "type": "Microsoft.Storage/storageAccounts",
    "name": "[parameters('applicationDiagnosticsStorageAccountName')]",
    "location": "[parameters('computeLocation')]",
    "sku": {
    "name": "[parameters('applicationDiagnosticsStorageAccountType')]"
    "tier": "standard"
  },
    "tags": {
    "resourceType": "Service Fabric",
    "clusterName": "[parameters('clusterName')]"
  }
},

Затем добавьте этот ресурс в раздел parameters сразу после определений учетной записи хранения между supportLogStorageAccountName.Next, add to the parameters section just after the storage account definitions, between supportLogStorageAccountName. Замените имя учетной записи хранения текста заполнителя именем учетной записи хранения, которую вы хотите.Replace the placeholder text storage account name goes here with the name of the storage account you'd like.

    "applicationDiagnosticsStorageAccountType": {
      "type": "string",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS"
      ],
      "defaultValue": "Standard_LRS",
      "metadata": {
        "description": "Replication option for the application diagnostics storage account"
      }
    },
    "applicationDiagnosticsStorageAccountName": {
      "type": "string",
      "defaultValue": "**STORAGE ACCOUNT NAME GOES HERE**",
      "metadata": {
        "description": "Name for the storage account that contains application diagnostics data from the cluster"
      }
    },

Затем добавьте в раздел VirtualMachineProfile файла template.json следующий код в массиве extensions.Then, update the VirtualMachineProfile section of the template.json file by adding the following code within the extensions array. Обязательно добавьте запятую в конце или в начале в зависимости от места вставки.Be sure to add a comma at the beginning or the end, depending on where it's inserted.

{
    "name": "[concat(parameters('vmNodeType0Name'),'_Microsoft.Insights.VMDiagnosticsSettings')]",
    "properties": {
        "type": "IaaSDiagnostics",
        "autoUpgradeMinorVersion": true,
        "protectedSettings": {
        "storageAccountName": "[parameters('applicationDiagnosticsStorageAccountName')]",
        "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('applicationDiagnosticsStorageAccountName')),'2015-05-01-preview').key1]",
        "storageAccountEndPoint": "https://core.windows.net/"
        },
        "publisher": "Microsoft.Azure.Diagnostics",
        "settings": {
        "WadCfg": {
            "DiagnosticMonitorConfiguration": {
            "overallQuotaInMB": "50000",
            "EtwProviders": {
                "EtwEventSourceProviderConfiguration": [
                {
                    "provider": "Microsoft-ServiceFabric-Actors",
                    "scheduledTransferKeywordFilter": "1",
                    "scheduledTransferPeriod": "PT5M",
                    "DefaultEvents": {
                    "eventDestination": "ServiceFabricReliableActorEventTable"
                    }
                },
                {
                    "provider": "Microsoft-ServiceFabric-Services",
                    "scheduledTransferPeriod": "PT5M",
                    "DefaultEvents": {
                    "eventDestination": "ServiceFabricReliableServiceEventTable"
                    }
                }
                ],
                "EtwManifestProviderConfiguration": [
                {
                    "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
                    "scheduledTransferLogLevelFilter": "Information",
                    "scheduledTransferKeywordFilter": "4611686018427387904",
                    "scheduledTransferPeriod": "PT5M",
                    "DefaultEvents": {
                    "eventDestination": "ServiceFabricSystemEventTable"
                    }
                },
                {
                    "provider": "02d06793-efeb-48c8-8f7f-09713309a810",
                    "scheduledTransferLogLevelFilter": "Information",
                    "scheduledTransferKeywordFilter": "4611686018427387904",
                    "scheduledTransferPeriod": "PT5M",
                    "DefaultEvents": {
                    "eventDestination": "ServiceFabricSystemEventTable"
                    }
                }
                ]
            }
            }
        },
        "StorageAccount": "[parameters('applicationDiagnosticsStorageAccountName')]"
        },
        "typeHandlerVersion": "1.5"
    }
}

После изменения файла template.json (как описано выше) повторно опубликуйте шаблон Resource Manager.After you modify the template.json file as described, republish the Resource Manager template. Если шаблон экспортирован, для повторной публикации шаблона выполните файл deploy.ps1.If the template was exported, running the deploy.ps1 file republishes the template. После развертывания убедитесь, что параметр ProvisioningState имеет значение Succeeded.After you deploy, ensure that ProvisioningState is Succeeded.

Совет

Если планируется развернуть контейнеры в кластере, разрешите WAD получать статистику Docker, добавив в раздел WadCfg > DiagnosticMonitorConfiguration следующий код:If you are going to deploy containers to your cluster, enable WAD to pick up docker stats by adding this to your WadCfg > DiagnosticMonitorConfiguration section.

"DockerSources": {
    "Stats": {
        "enabled": true,
        "sampleRate": "PT1M"
    }
},

Изменение квоты хранилищаUpdate storage quota

Это расширение постоянно увеличивает размер заполняемых таблиц, пока не будет достигнута квота хранилища. Возможно, вы захотите уменьшить эту квоту.Since the tables populated by the extension grows until the quota is hit, you may want to consider decreasing the quota size. По умолчанию квота имеет значение 50 ГБ, а изменить ее можно в шаблоне, в поле overallQuotaInMB раздела DiagnosticMonitorConfiguration.The default value is 50 GB and is configurable in the template under the overallQuotaInMB field under DiagnosticMonitorConfiguration

"overallQuotaInMB": "50000",

Настройка сбора журналовLog collection configurations

Для сбора доступны журналы из нескольких дополнительных каналов, и здесь мы опишем несколько распространенных конфигураций, которые можно применить в шаблоне для кластеров, работающих в Azure.Logs from additional channels are also available for collection, here are some of the most common configurations you can make in the template for clusters running in Azure.

  • Операционный канал — базовый: включается по умолчанию высокоуровневые операции, выполняемые Service Fabric и кластером, включая события для узла, развертывание нового приложения, откат обновления и т. д. Список событий см. в статье события рабочего канала.Operational Channel - Base: Enabled by default, high-level operations performed by Service Fabric and the cluster, including events for a node coming up, a new application being deployed, or an upgrade rollback, etc. For a list of events, refer to Operational Channel Events.
      scheduledTransferKeywordFilter: "4611686018427387904"
  • Операционный канал — подробные сведения. Включает отчеты о работоспособности и решения о балансировке нагрузки, а также все содержимое операционного канала базовых сведений.Operational Channel - Detailed: This includes health reports and load balancing decisions, plus everything in the base operational channel. Эти события создаются системой или кодом через API отчетов о работоспособности и (или) нагрузке, такие как ReportPartitionHealth или ReportLoad.These events are generated by either the system or your code by using the health or load reporting APIs such as ReportPartitionHealth or ReportLoad. Чтобы просмотреть эти события в окне просмотра событий диагностики Visual Studio, добавьте Microsoft-ServiceFabric:4:0x4000000000000008 в список поставщиков трассировки событий Windows.To view these events in Visual Studio's Diagnostic Event Viewer add "Microsoft-ServiceFabric:4:0x4000000000000008" to the list of ETW providers.
      scheduledTransferKeywordFilter: "4611686018427387912"
  • Канал данных и обмена сообщениями — базовые сведения. Содержит критически важные журналы и события, создаваемые в системе обмена сообщениями (пока только ReverseProxy) и пути обработки данных, а также подробные журналы операционного канала.Data and Messaging Channel - Base: Critical logs and events generated in the messaging (currently only the ReverseProxy) and data path, in addition to detailed operational channel logs. Эти события также включают сбои при обработке запросов и другие критические проблемы для ReverseProxy и обрабатываемых запросов.These events are request processing failures and other critical issues in the ReverseProxy, as well as requests processed. Мы рекомендуем использовать этот уровень для ведения подробного журнала.This is our recommendation for comprehensive logging. Чтобы просмотреть эти события в средстве просмотра диагностических событий Visual Studio, добавьте Microsoft-ServiceFabric:4:0x4000000000000010 в список поставщиков трассировки событий Windows.To view these events in Visual Studio's Diagnostic Event Viewer, add "Microsoft-ServiceFabric:4:0x4000000000000010" to the list of ETW providers.
      scheduledTransferKeywordFilter: "4611686018427387928"
  • Канал данных и обмена сообщениями — подробные сведения. Этот канал содержит развернутую информацию из некритических журналов для процессов обработки данных и обмена сообщениями в кластере, а также все содержимое операционного канала подробных сведений.Data & Messaging Channel - Detailed: Verbose channel that contains all the non-critical logs from data and messaging in the cluster and the detailed operational channel. Подробные сведения об устранении любых неполадок, связанных с событиями обратного прокси-сервера, приведены в руководстве по диагностике обратного прокси-сервера.For detailed troubleshooting of all reverse proxy events, refer to the reverse proxy diagnostics guide. Чтобы просмотреть эти события в средстве просмотра диагностических событий Visual Studio, добавьте Microsoft-ServiceFabric:4:0x4000000000000020 в список поставщиков трассировки событий Windows.To view these events in Visual Studio's Diagnostic Event viewer, add "Microsoft-ServiceFabric:4:0x4000000000000020" to the list of ETW providers.
      scheduledTransferKeywordFilter: "4611686018427387944"

Примечание

Этот канал содержит огромный объем сведений о событиях, поэтому включение сбора этих данных приводит к быстрому созданию множества трассировок, которые могут потреблять емкость хранилища.This channel has a very high volume of events, enabling event collection from this detailed channel results in a lot of traces being generated quickly, and can consume storage capacity. Включайте этот режим только при крайней необходимости.Only turn this on if absolutely necessary.

Чтобы включить рекомендуемый режим подробного ведения журналов с наименьшими помехами (Операционный канал базовых сведений), используйте следующее значение EtwManifestProviderConfiguration для WadCfg в шаблоне :To enable the Base Operational Channel our recommendation for comprehensive logging with the least amount of noise, The EtwManifestProviderConfiguration in the WadCfg of your template would look like the following:

  "WadCfg": {
        "DiagnosticMonitorConfiguration": {
          "overallQuotaInMB": "50000",
          "EtwProviders": {
            "EtwEventSourceProviderConfiguration": [
              {
                "provider": "Microsoft-ServiceFabric-Actors",
                "scheduledTransferKeywordFilter": "1",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": {
                  "eventDestination": "ServiceFabricReliableActorEventTable"
                }
              },
              {
                "provider": "Microsoft-ServiceFabric-Services",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": {
                  "eventDestination": "ServiceFabricReliableServiceEventTable"
                }
              }
            ],
            "EtwManifestProviderConfiguration": [
              {
                "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
                "scheduledTransferLogLevelFilter": "Information",
                "scheduledTransferKeywordFilter": "4611686018427387904",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": {
                  "eventDestination": "ServiceFabricSystemEventTable"
                }
              },
              {
                "provider": "02d06793-efeb-48c8-8f7f-09713309a810",
                "scheduledTransferLogLevelFilter": "Information",
                "scheduledTransferKeywordFilter": "4611686018427387904",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": {
                "eventDestination": "ServiceFabricSystemEventTable"
                }
              }
            ]
          }
        }
      },

Сбор из новых каналов EventSourceCollect from new EventSource channels

Чтобы обновить службу диагностики для сбора журналов из новых каналов EventSource, представляющих новое приложение, которое вы собираетесь развернуть, выполните шаги, описанные выше, чтобы настроить службу диагностики для имеющегося кластера.To update Diagnostics to collect logs from new EventSource channels that represent a new application that you're about to deploy, perform the same steps as previously described for the setup of Diagnostics for an existing cluster.

В раздел EtwEventSourceProviderConfiguration файла template.json нужно добавить записи для новых каналов EventSource. Это следует сделать до обновления конфигурации с помощью команды PowerShell New-AzResourceGroupDeployment.Update the EtwEventSourceProviderConfiguration section in the template.json file to add entries for the new EventSource channels before you apply the configuration update by using the New-AzResourceGroupDeployment PowerShell command. Имя источника события определяется как часть кода в файле ServiceEventSource.cs, созданном в Visual Studio.The name of the event source is defined as part of your code in the Visual Studio-generated ServiceEventSource.cs file.

Например, если источнику события задано имя My-Eventsource, добавьте следующий код для помещения событий из источника My-Eventsource в таблицу MyDestinationTableName.For example, if your event source is named My-Eventsource, add the following code to place the events from My-Eventsource into a table named MyDestinationTableName.

        {
            "provider": "My-Eventsource",
            "scheduledTransferPeriod": "PT5M",
            "DefaultEvents": {
            "eventDestination": "MyDestinationTableName"
            }
        }

Чтобы собрать данные счетчиков производительности и журналов событий, измените шаблон Resource Manager, используя примеры в статье Создание виртуальной машины Windows с мониторингом и диагностикой с использованием шаблона Azure Resource Manager.To collect performance counters or event logs, modify the Resource Manager template by using the examples provided in Create a Windows virtual machine with monitoring and diagnostics by using an Azure Resource Manager template. Затем опубликуйте шаблон Resource Manager.Then, republish the Resource Manager template.

Сбор данных счетчиков производительностиCollect Performance Counters

Для сбора метрик производительности из кластера добавьте счетчики производительности в элемент WadCfg > DiagnosticMonitorConfiguration в шаблоне Resource Manager для кластера.To collect performance metrics from your cluster, add the performance counters to your "WadCfg > DiagnosticMonitorConfiguration" in the Resource Manager template for your cluster. Дополнительные сведения о том, как изменить WadCfg, чтобы собрать данные конкретных счетчиков производительности, см. в статье Performance monitoring with Windows Azure Diagnostics extension (Мониторинг производительности с помощью расширения системы диагностики Microsoft Azure).See Performance monitoring with WAD for steps on modifying your WadCfg to collect specific performance counters. Список счетчиков производительности Service Fabric, которые мы рекомендуем собирать, см. в статье Метрики производительности.Reference Service Fabric Performance Counters for a list of performance counters that we recommend collecting.

Если вы используете приемник Application Insights, как описано в разделе ниже, и вам нужно, чтобы эти метрики отображались в Application Insights, добавьте имя приемника в соответствующем разделе, как показано выше.If you are using an Application Insights sink, as described in the section below, and want these metrics to show up in Application Insights, then make sure to add the sink name in the "sinks" section as shown above. Это позволит автоматически отправлять счетчики производительности, отдельно настроенные для ресурса Application Insights.This will automatically send the performance counters that are individually configured to your Application Insights resource.

Отправка журналов в Application InsightsSend logs to Application Insights

Настройка Application Insights с помощью WADConfiguring Application Insights with WAD

Примечание

В настоящее время это распространяется только на кластеры Windows.This is only applicable to Windows clusters at the moment.

Существует два основных способа отправки данных из WAD в Azure Application Insights, что достигается путем добавления Application Insights приемника в конфигурацию WAD с помощью портал Azure или с помощью шаблона Azure Resource Manager.There are two primary ways to send data from WAD to Azure Application Insights, which is achieved by adding an Application Insights sink to the WAD configuration, through the Azure portal or through an Azure Resource Manager template.

При создании кластера на портале Azure добавьте ключ инструментирования Application Insights.Add an Application Insights Instrumentation Key when creating a cluster in Azure portal

Добавление AIKey

Если при создании кластера диагностика включена, появляется дополнительное поле для ввода ключа инструментирования Application Insights.When creating a cluster, if Diagnostics is turned "On", an optional field to enter an Application Insights Instrumentation key will show. Если вставить сюда ключ Application Insights, в шаблоне Resource Manager, используемом для развертывания кластера, будет автоматически настроен приемник Application Insights.If you paste your Application Insights Key here, the Application Insights sink is automatically configured for you in the Resource Manager template that is used to deploy your cluster.

Добавление приемника Application Insights в шаблон Resource ManagerAdd the Application Insights Sink to the Resource Manager template

В разделе WadCfg шаблона Resource Manager добавьте приемник, внеся два указанных ниже изменения.In the "WadCfg" of the Resource Manager template, add a "Sink" by including the following two changes:

  1. Добавьте конфигурацию приемника сразу после объявления DiagnosticMonitorConfiguration:Add the sink configuration directly after the declaring of the DiagnosticMonitorConfiguration is completed:

    "SinksConfig": {
        "Sink": [
            {
                "name": "applicationInsights",
                "ApplicationInsights": "***ADD INSTRUMENTATION KEY HERE***"
            }
        ]
    }
    
    
  2. Включите приемник в DiagnosticMonitorConfiguration, добавив следующую строку в DiagnosticMonitorConfiguration``WadCfg (сразу перед объявлением EtwProviders):Include the Sink in the DiagnosticMonitorConfiguration by adding the following line in the DiagnosticMonitorConfiguration of the WadCfg (right before the EtwProviders are declared):

    "sinks": "applicationInsights"
    

В обоих приведенных выше фрагментах кода для указания приемника использовано имя applicationInsights.In both the preceding code snippets, the name "applicationInsights" was used to describe the sink. Это не является обязательным. Если имя приемника включено в элемент sinks, именем может быть любая строка.This is not a requirement and as long as the name of the sink is included in "sinks", you can set the name to any string.

Сейчас журналы кластера отображаются в средстве просмотра журналов Application Insights как трассировки.Currently, logs from the cluster show up as traces in Application Insights' log viewer. Так как большинство трассировок, поступающих от платформы, имеют уровень "информационное", можно также рассмотреть возможность изменения конфигурации приемника, чтобы она отправляла только журналы типа "warning" или "Error".Since most of the traces coming from the platform are of level "Informational", you can also consider changing the sink configuration to only send logs of type "Warning" or "Error." Для этого в приемник можно добавить каналы, как показано в этой статье.This can be done by adding "Channels" to your sink, as demonstrated in this article.

Примечание

Если вы укажете на портале или в шаблоне Resource Manager неправильный ключ Application Insights, придется вручную заменить его, а затем обновить или повторно развернуть кластер.If you use an incorrect Application Insights Key either in portal or in your Resource Manager template, you will have to manually change the key and update the cluster / redeploy it.

Дальнейшие шагиNext steps

Если вы правильно настроили диагностику Azure, данные из журнала трассировки событий Windows и журнала EventSource станут появляться в таблице хранилища.Once you have correctly configured Azure diagnostics, you will see data in your Storage tables from the ETW and EventSource logs. Если вы решили использовать Azure Monitor журналы, Kibana или любую другую платформу аналитики и визуализации данных, которая не настроена непосредственно в шаблоне диспетчер ресурсов, обязательно настройте платформу для чтения данных из этих таблиц хранилища.If you choose to use Azure Monitor logs, Kibana, or any other data analytics and visualization platform that is not directly configured in the Resource Manager template, make sure to set up the platform of your choice to read in the data from these storage tables. Сделать это для журналов Azure Monitor довольно тривиальное, и оно объясняется в анализе событий и журнала.Doing this for Azure Monitor logs is relatively trivial, and is explained in Event and log analysis. В этом смысле Application Insights — это особый случай, так как это решение можно настроить при настройке расширения диагностики. Дополнительные сведения об Application Insights см. в этой статье.Application Insights is a bit of a special case in this sense, since it can be configured as part of the Diagnostics extension configuration, so refer to the appropriate article if you choose to use AI.

Примечание

Сегодня не существует способа фильтрации или очистки событий, которые отправляются в таблицу.There is currently no way to filter or groom the events that are sent to the table. Если не реализовать метод удаления событий из таблицы, она продолжит расти.If you don't implement a process to remove events from the table, the table will continue to grow. Сейчас есть пример службы очистки данных, выполняющийся в примере модуля наблюдения. Мы также советуем написать собственный пример, если у вас нет веских причин для хранения журналов дольше 30 или 90 дней.Currently, there is an example of a data grooming service running in the Watchdog sample, and it is recommended that you write one for yourself as well, unless there is a good reason for you to store logs beyond a 30 or 90 day timeframe.