Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как загрузить данные из журналов диагностики и активности в кластер Azure Data Explorer без написания кода. С помощью этого простого метода приема можно быстро начать запросы к Azure Data Explorer для анализа данных.
В этом руководстве вы узнаете, как:
- создавать таблицы и сопоставления приема в базе данных Azure Data Explorer;
- форматировать принятые данные с помощью политики обновления;
- создавать концентраторы событий и подключать их к Azure Data Explorer;
- передавать данные в концентратор событий из метрик и журналов диагностики Azure Monitor и журналов действий Azure Monitor.
- создавать запросы к принятым данным с помощью Azure Data Explorer.
Примечание.
Создавайте все ресурсы в одном расположении или регионе Azure.
Предварительные условия
- Подписка Azure. Создайте бесплатную учетную запись Azure.
- Кластер и база данных Azure Data Explorer. Создайте кластер и базу данных. В этом руководстве используется имя базы данных TestDatabase.
Поставщик данных Azure Monitor — метрики и журналы диагностики, а также журналы активности
Просмотрите и изучите данные, предоставляемые метриками диагностики Azure Monitor и журналами и журналами действий, в следующих разделах. Вы создаете конвейер приема на основе этих схем данных. Каждое событие в журнале содержит массив записей. Вы разделите этот массив записей далее в учебнике.
Примеры диагностических метрик и журналов, а также журналов действий
Служба Azure выдает диагностические метрики и журналы Azure, а также журналы действий. Эти журналы предоставляют данные о работе этой службы.
Пример метрик диагностики
Диагностические метрики агрегируют данные с интервалом времени в одну минуту. В следующем примере показана схема события метрики Azure Data Explorer по длительности запроса:
{
"records": [
{
"count": 14,
"total": 0,
"minimum": 0,
"maximum": 0,
"average": 0,
"resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
"time": "2018-12-20T17:00:00.0000000Z",
"metricName": "QueryDuration",
"timeGrain": "PT1M"
},
{
"count": 12,
"total": 0,
"minimum": 0,
"maximum": 0,
"average": 0,
"resourceId": "/SUBSCRIPTIONS/<subscriptionID>/RESOURCEGROUPS/<resource-group>/PROVIDERS/MICROSOFT.KUSTO/CLUSTERS/<cluster-name>",
"time": "2018-12-21T17:00:00.0000000Z",
"metricName": "QueryDuration",
"timeGrain": "PT1M"
}
]
}
Настройка конвейера приема данных в Azure Data Explorer
Настройка конвейера Azure Data Explorer включает несколько этапов, в том числе создание таблиц и прием данных. Вы также можете работать с данными, сопоставлять и обновлять их.
Подключение к пользовательскому веб-интерфейсу Azure Data Explorer
В базе данных TestDatabase для Azure Data Explorer выберите пункт Запрос, чтобы открыть пользовательский веб-интерфейс Azure Data Explorer.
Создайте целевые таблицы
Структура журналов Azure Monitor не является табличной. Необходимо управлять данными и расширять каждое событие до одной или нескольких записей. Сохранение необработанных данных в промежуточной таблице с именем ActivityLogsRawRecords для журналов действий и DiagnosticRawRecords для диагностических метрик и журналов. В этот момент вы управляете и расширяете данные. Используя политику обновления, поглощая развернутые данные в таблицу ActivityLogs для журналов действий, DiagnosticMetrics для диагностических метрик и DiagnosticLogs для журналов диагностики. Этот процесс означает, что необходимо создать две отдельные таблицы для инжестирования журналов действий и три отдельные таблицы для инжестирования диагностических метрик и журналов.
С помощью пользовательского веб-интерфейса Azure Data Explorer создайте целевые таблицы в базе данных Azure Data Explorer.
Создание таблиц для метрик диагностики
Создайте в базе данных TestDatabase таблицу с именем DiagnosticMetrics для хранения записей метрик диагностики. Используйте следующую
.create tableкоманду управления:.create table DiagnosticMetrics (Timestamp:datetime, ResourceId:string, MetricName:string, Count:int, Total:double, Minimum:double, Maximum:double, Average:double, TimeGrain:string)Выберите Выполнить, чтобы создать таблицу.
Создайте промежуточную таблицу данных с именем DiagnosticRawRecords в базе данных TestDatabase для обработки данных с помощью следующего запроса. Выберите Выполнить, чтобы создать таблицу.
.create table DiagnosticRawRecords (Records:dynamic)Задайте нулевую политику хранения для промежуточной таблицы:
.alter-merge table DiagnosticRawRecords policy retention softdelete = 0d
Создание сопоставлений таблиц
Так как формат данных — json, вам необходимо создать сопоставление данных. Сопоставление json подключает каждый путь JSON к имени столбца таблицы. Если путь JSON имеет специальные символы, экранируйте их как ['Имя свойства']. Дополнительные сведения см. в статье Синтаксис JSONPath.
Сопоставьте метрики и журналы диагностики с таблицей
Используйте следующий запрос, чтобы сопоставить диагностические метрики и данные журнала с таблицей:
.create table DiagnosticRawRecords ingestion json mapping 'DiagnosticRawRecordsMapping' '[{"column":"Records","Properties":{"path":"$.records"}}]'
Создание политики обновления для данных журналов и метрик
Создание политики обновления данных для метрик диагностики
Создайте функцию , которая расширяет коллекцию записей диагностических метрик, чтобы каждое значение в коллекции получало отдельную строку. Используйте оператор
mv-expand:.create function DiagnosticMetricsExpand() { DiagnosticRawRecords | mv-expand events = Records | where isnotempty(events.metricName) | project Timestamp = todatetime(events['time']), ResourceId = tostring(events.resourceId), MetricName = tostring(events.metricName), Count = toint(events['count']), Total = todouble(events.total), Minimum = todouble(events.minimum), Maximum = todouble(events.maximum), Average = todouble(events.average), TimeGrain = tostring(events.timeGrain) }Добавьте политику обновления для целевой таблицы. Эта политика автоматически запускает запрос на все недавно полученные данные в промежуточной таблице данных DiagnosticRawRecords и возвращает результаты в таблицу "Диагностические метрики".
.alter table DiagnosticMetrics policy update @'[{"Source": "DiagnosticRawRecords", "Query": "DiagnosticMetricsExpand()", "IsEnabled": "True", "IsTransactional": true}]'
Создание пространства имен Центров событий Azure
Параметры диагностики Azure позволяют экспортировать метрики и журналы в учетную запись хранения или в концентратор событий. В этом руководстве вы направляете метрики и логи через концентратор событий. Вы создаете пространство имен концентратора событий и концентратор событий для диагностических метрик и журналов, следуя следующим шагам. Azure Monitor создает концентратор событий insights-operational-logs для журналов действий.
Создайте концентратор событий на портале Azure с помощью шаблона Azure Resource Manager. Чтобы выполнить остальные шаги из этой статьи, щелкните правой кнопкой мыши по кнопке Развернуть в Azure, а затем выберите Открыть в новом окне. Кнопка Развернуть в Azure перенаправляет вас на портал Azure.
Создайте пространство имен Центров событий и концентратор событий для журналов диагностики. Узнайте, как создать пространство имен Центров событий.
Заполните форму, указав следующую информацию. Сохраните значения по умолчанию для всех параметров, не указанных в следующей таблице.
Параметр Рекомендуемое значение Description Подписка Ваша подписка Выберите подписку Azure, которую нужно использовать для своего концентратора событий. Группа ресурсов test-resource-group Создание группы ресурсов Местонахождение Выберите регион в соответствии со своими потребностями. Создайте пространство имен концентратора событий в том же расположении, в котором находятся другие ресурсы. Имя пространства имен AzureMonitoringData Выберите уникальное имя, идентифицирующее пространство имен. Имя концентратора событий DiagnosticData Концентратор событий находится в пространстве имен, предоставляющем уникальный контейнер области. Имя группы потребителей adxpipeline Создайте имя группы потребителей. Группы потребителей позволяют нескольким потребляющим приложениям иметь отдельное представление потока событий.
Подключение журналов и метрик Azure Monitor к концентратору событий
Теперь вам следует подключить к концентратору событий журналы и метрики диагностики, а также журналы действий.
Подключение журналов и метрик диагностики к концентратору событий
Выберите ресурс, из которого следует экспортировать метрики. Экспорт данных диагностики поддерживают ресурсы нескольких типов, в том числе пространство имен концентраторов событий, Azure Key Vault, Центр Интернета вещей и кластер Azure Data Explorer. В этом руководстве в качестве ресурса используйте кластер Azure Data Explorer. Вы можете просмотреть метрики производительности запросов и журналы результатов интеграции.
Выберите свой кластер Kusto на портале Azure.
Выберите элемент Параметры диагностики, а затем ссылку Включить диагностику.
Откроется панель Параметры диагностики. Выполните следующие шаги:
Присвойте данным журнала диагностики имя ADXExportedData.
В поле LOG установите флажки SucceededIngestion и FailedIngestion.
В разделе Метрика установите флажок Производительность запроса.
Установите флажок Передать в концентратор событий.
Выберите Настроить.
На панели Выбор концентратора событий настройте метод экспорта данных из журналов диагностики в созданный вами концентратор событий.
- В списке Выбрать пространство имен концентратора событий выберите AzureMonitoringData.
- В списке Выберите имя концентратора событий выберите DiagnosticData.
- В списке Выбрать имя политики концентратора событий выберите RootManagerSharedAccessKey.
- Нажмите ОК.
Выберите Сохранить.
Наблюдать поток данных к узлам событий
Подождите несколько минут, пока установится подключение, и экспорт журнала действий в концентратор событий завершится. Перейдите в пространство имен ваших концентраторов событий, чтобы просмотреть созданные вами концентраторы событий.
Просмотрите потоки данных к вашему концентратору событий:
Подключение концентратора событий к Azure Data Explorer
Теперь пора создать подключения к данным для журналов и метрик диагностики, а также журналов действий.
Создайте подключение к данным для метрик и журналов диагностики, а также для журналов активности.
В кластере Azure Data Explorer с именем kustodocs выберите в меню слева Базы данных.
В окне Базы данных выберите базу данных TestDatabase.
В меню слева выберите Прием данных.
В окне Прием данных выберите + Добавить подключение к данным.
В окне Подключение к данным введите следующую информацию:
Примените следующие параметры в окне Подключение к данным.
Источник данных:
Параметр Рекомендуемое значение Описание поля Имя подключения к данным DiagnosticsLogsConnection Имя создаваемого подключения к обозревателю данных Azure. Пространство имен концентратора событий AzureMonitoringData Ранее выбранное вами имя, определяющее пространство имен. Концентратор событий DiagnosticData Созданный вами концентратор событий. Группа потребителей adxpipeline Группа потребителей, определенная в созданном вами концентраторе событий. Целевая таблица
Существует два варианта маршрутизации: статическая и динамическая. В этом руководстве вы используете статическую маршрутизацию (по умолчанию), где указывается имя таблицы, формат данных и сопоставление. Не активируйте флажок My data includes routing info (Мои данные содержат сведения о маршрутизации).
Параметр Рекомендуемое значение Описание поля Таблица DiagnosticRawRecords Таблица, которую вы создали в базе данных TestDatabase. Формат данных JSON Формат, используемый в этой таблице. Сопоставление столбцов DiagnosticRawRecordsMapping Сопоставление, которое вы создали в базе данных TestDatabase между входящими данными JSON и именами столбцов и типами данных в таблице DiagnosticRawRecords. Нажмите кнопку создания.
Отправка запросов новым таблицам
Теперь у вас есть поток данных. Прием через кластер занимает пять минут по умолчанию, поэтому подождите несколько минут, прежде чем начать запрос.
Выполнить запрос к таблице метрик диагностики
Приведенный ниже запрос анализирует данные о длительности запросов по записям метрик диагностики в Azure Data Explorer.
DiagnosticMetrics
| where Timestamp > ago(15m) and MetricName == 'QueryDuration'
| summarize avg(Average)
Результаты запроса:
| avg_Среднее |
|---|
| 00:06.156 |