Отправка данных из расширения диагностики Windows Azure в концентраторы событий Azure
Расширение "Диагностика Microsoft Azure" — это агент в Azure Monitor, собирающий данные мониторинга из операционной системы на виртуальной машине и рабочих нагрузок виртуальных машин Azure и других вычислительных ресурсов. В этой статье описывается, как отправлять данные из расширения диагностики Windows Azure (WAD) в Центры событий Azure, чтобы вы могли пересылать их в расположения за пределами Azure.
Поддерживаемые данные
Данные, собранные из гостевой операционной системы, которые можно отправить в концентраторы событий, включают следующее. Другие источники данных, собираемые WAD, включая журналы IIS и аварийные дампы, нельзя отправлять в концентраторы событий.
- Трассировка событий Windows (ETW)
- Счетчики производительности
- Журналы событий Windows, включая журналы приложений в журнале событий Windows
- Журналы инфраструктуры системы диагностики Azure
Необходимые компоненты
- Расширение диагностики для Windows версии 1.6 или выше. См. статью Версии схем конфигурации и история расширений для Диагностики Azure для получения сведений об истории версий и Обзор расширений для Диагностики Azure для получения информации о поддерживаемых ресурсах.
- Пространство имен концентраторов событий всегда должно быть подготовлено. Дополнительные сведения см. в статье Начало работы с концентраторами событий.
- Концентратор событий должен иметь уровень не ниже уровня "Стандартный". Уровень "Базовый" не поддерживается.
Схема конфигурации
См. статью Установка и настройка расширения диагностики Windows Azure (WAD) для получения информации о различных вариантах включения и настройки расширения диагностики и Схемы конфигурации Диагностики Azure для получения справки по схеме конфигурации. В оставшейся части этой статьи будет описано, как использовать эту конфигурацию для отправки данных в концентратор событий.
Служба Диагностики Azure всегда отправляет журналы и метрики в учетную запись хранилища Azure. Можно настроить один или несколько приемников данных, которые отправляют данные в дополнительные расположения. Каждый приемник определяется элементом SinksConfig общедоступной конфигурации с конфиденциальной информацией в частной конфигурации. В этой конфигурации концентраторов событий используются значения из следующей таблицы.
Свойство | Описание |
---|---|
Имя. | Описательное имя для приемника. Используется в конфигурации, чтобы указать, какие источники данных следует отправлять в приемник. |
URL | URL-адрес концентратора событий в формате <event-hubs-namespace>.servicebus.windows.net/<event-hub-name>. |
SharedAccessKeyName | Имя политики общего доступа для концентратора событий, в котором доступна, как минимум, возможность отправки. |
SharedAccessKey | Первичный или вторичный ключ из политики общего доступа для концентратора событий. |
Ниже приведены примеры общедоступных и частных конфигураций. Это минимальная конфигурация с одним счетчиком производительности и журналом событий, иллюстрирующими настройку и использование приемника данных концентратора событий. Более сложный пример см. в статье Схема конфигурации системы Диагностики Azure.
Открытая конфигурация
{
"WadCfg": {
"DiagnosticMonitorConfiguration": {
"overallQuotaInMB": 5120,
"PerformanceCounters": {
"scheduledTransferPeriod": "PT1M",
"sinks": "myEventHub",
"PerformanceCounterConfiguration": [
{
"counterSpecifier": "\\Processor(_Total)\\% Processor Time",
"sampleRate": "PT3M"
}
]
},
"WindowsEventLog": {
"scheduledTransferPeriod": "PT1M",
"sinks": "myEventHub",
"DataSource": [
{
"name": "Application!*[System[(Level=1 or Level=2 or Level=3)]]"
}
]
}
},
"SinksConfig": {
"Sink": [
{
"name": "myEventHub",
"EventHub": {
"Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
"SharedAccessKeyName": "SendRule"
}
}
]
}
},
"StorageAccount": "mystorageaccount",
}
Закрытая конфигурация
{
"storageAccountName": "mystorageaccount",
"storageAccountKey": "{base64 encoded key}",
"storageAccountEndPoint": "https://core.windows.net",
"EventHub": {
"Url": "https://diags-mycompany-ns.servicebus.windows.net/diageventhub",
"SharedAccessKeyName": "SendRule",
"SharedAccessKey": "{base64 encoded key}"
}
}
Варианты конфигурации
Чтобы отправить данные в приемник данных, нужно задать атрибут sinks на узле источника данных. Место расположения атрибута sinks определяется областью назначения. В следующем примере атрибут sinks определен для узла PerformanceCounters, что приведет к отправке всех дочерних счетчиков производительности в концентратор событий.
"PerformanceCounters": {
"scheduledTransferPeriod": "PT1M",
"sinks": "MyEventHub",
"PerformanceCounterConfiguration": [
{
"counterSpecifier": "\\Processor(_Total)\\% Processor Time",
"sampleRate": "PT3M"
},
{
"counterSpecifier": "\\Memory\\Available MBytes",
"sampleRate": "PT3M"
},
{
"counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
"sampleRate": "PT3M"
}
]
}
В следующем примере атрибут sinks применяется непосредственно к трем счетчикам, что приводит к отправке в концентратор событий только этих счетчиков производительности.
"PerformanceCounters": {
"scheduledTransferPeriod": "PT1M",
"PerformanceCounterConfiguration": [
{
"counterSpecifier": "\\Processor(_Total)\\% Processor Time",
"sampleRate": "PT3M",
"sinks": "MyEventHub"
},
{
"counterSpecifier": "\\Memory\\Available MBytes",
"sampleRate": "PT3M"
},
{
"counterSpecifier": "\\Web Service(_Total)\\ISAPI Extension Requests/sec",
"sampleRate": "PT3M"
},
{
"counterSpecifier": "\\ASP.NET\\Requests Rejected",
"sampleRate": "PT3M",
"sinks": "MyEventHub"
},
{
"counterSpecifier": "\\ASP.NET\\Requests Queued",
"sampleRate": "PT3M",
"sinks": "MyEventHub"
}
]
}
Проверка конфигурации
Можно использовать различные методы проверки отправки данных в концентратор событий. Простой способ — использовать захват через концентраторы событий, как описано в статье Захват событий через концентраторы событий Azure в хранилище BLOB-объектов Azure или в Azure Data Lake Storage.
Устранение неполадок приемников Центров событий
Взгляните на таблицу хранилища Azure WADDiagnosticInfrastructureLogsTable, которая содержит журналы и ошибки для самой службы Диагностики Azure. Для этого можно использовать, например, обозреватель хранилищ Azure. Подключитесь к соответствующей учетной записи хранения, просмотрите эту таблицу и выполните запрос по метке времени за последние 24 часа. С помощью этого инструмента можно экспортировать информацию в CSV-файл и открыть его в таком приложении, как Microsoft Excel. Excel упрощает поиск строк телефонных карточек, таких как EventHubs, чтобы узнать, какая обнаружена ошибка.
Убедитесь в том, что концентратор событий успешно подготовлен. Все сведения о подключении в разделе конфигурации PrivateConfig должны соответствовать значениям вашего ресурса, отображаемым на портале. Убедитесь, что на портале определена политика SAS (в примере SendRule) и предоставлено разрешение Отправка.