Создание простейших запросов к журналам Azure Monitor для извлечения сведений

Завершено

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

В нашем примере операционная группа будет использовать запросы к журналам Azure Monitor для проверки работоспособности системы.

Написание запросов к журналам Azure Monitor с помощью Log Analytics

С помощью средства Log Analytics, имеющегося на портале Azure, можно выполнять примеры запросов или создавать собственные запросы.

  1. На портале Azure в левой области меню выберите Монитор.

    Появится страница Azure Monitor, а также дополнительные параметры, включая Журнал действий, Оповещения, Метрики и Журналы.

  2. Выберите Журналы.

    Здесь можно ввести запрос и просмотреть результат.

    Screenshot of Azure Monitor with a new query tab opened.

Написание запросов на языке Kusto

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

Запрос Kusto состоит из последовательности операторов запроса, разделенных точкой с запятой (;). Хотя бы один оператор должен представлять собой оператор табличного выражения. Такой оператор форматирует данные в виде таблицы из строк и столбцов.

Синтаксис инструкции табличного выражения содержит табличный поток данных из одного оператора табличного запроса в другой, начиная с источника данных. Источник данных может быть таблицей в базе данных или оператором, который создает данные. Затем данные проходят через набор операторов преобразования данных, которые связаны разделителем в виде символа вертикальной черты (|).

Например, приведенный ниже запрос Kusto содержит один оператор табличного выражения. Оператор начинается со ссылки на таблицу с именем Events. База данных, в которой размещена эта таблица, указана неявно и входит в информацию о соединении. Данные для этой таблицы, хранящиеся в строках, фильтруются по значению столбца StartTime. Затем эти данные фильтруются по значению столбца State. Запрос возвращает количество итоговых строк.

Events
| where StartTime >= datetime(2018-11-01) and StartTime < datetime(2018-12-01)
| where State == "FLORIDA"  
| count

Примечание.

Azure Monitor использует язык запросов Kusto с учетом регистра. Ключевые слова языка обычно пишутся строчными буквами. При использовании имен таблиц или столбцов в запросе обязательно используйте правильный регистр.

События, собранные из журналов событий отслеживаемых компьютеров, являются только одним типом источника данных. Помимо него, Azure Monitor предоставляет много других типов. Например, источник данных Heartbeat предоставляет сведения о работоспособности всех компьютеров, передающих данные в рабочую область Log Analytics. Кроме того, вы можете регистрировать данные счетчиков производительности и обновлять записи управления.

В следующем примере возвращается запись о последнем пакете пульса для каждого компьютера. Компьютер идентифицируется по IP-адресу. В этом примере агрегат summarize с функцией arg_max возвращает запись с самым последним значением для каждого IP-адреса.

Heartbeat
| summarize arg_max(TimeGenerated, *) by ComputerIP