Структурирование запросов Log Analytics
Администратор istrator создают запросы Log Analytics из данных, хранящихся в выделенных таблицах в рабочей области Log Analytics. Некоторые распространенные выделенные таблицы включают события, системный журнал, пульс и оповещение. При создании запроса язык запросов Kusto (KQL) необходимо определить, какие таблицы в репозитории журналов Azure Monitor содержат нужные данные.
На следующем рисунке показано, как запросы KQL используют выделенные данные таблицы для отслеживаемых служб и ресурсов.
Сведения о структуре запросов KQL
Рассмотрим данные выделенной таблицы и структуру запроса журнала KQL.
Каждый из выбранных источников данных и решения хранит свои данные в выделенных таблицах в рабочей области Log Analytics.
Документация для каждого источника данных и решения включает имя создаваемого типа данных и описание каждого из его свойств.
Базовая структура запроса — это исходная таблица, за которой следует ряд команд (называемых операторами).
Запрос может иметь цепочку нескольких операторов для уточнения данных и выполнения расширенных функций.
Каждый оператор в цепочке запросов начинается с символа
|
канала.Многие запросы требуют только данных из одной таблицы, но другие запросы могут использовать различные параметры и включать данные из нескольких таблиц.
Примеры запросов журнала KQL
Рассмотрим некоторые распространенные операторы запросов журнала KQL и пример синтаксиса.
Мы можем создавать запросы для поиска данных в StormEvent
таблице с пятью записями:
type | события | severity | start | duration | регион |
---|---|---|---|---|---|
Water |
Freezing rain |
1 |
6:00 AM 01-27-2023 |
3 hours |
1, 2 |
Wind |
High winds |
1 |
8:00 AM 01-27-2023 |
12 hours |
1, 2, 4, 5 |
Temperature |
Below freezing |
2 |
11:00 PM 01-26-2023 |
10 hours |
1, 2, 4, 5 |
Water |
Snow |
3 |
4:00 PM 01-26-2023 |
10 hours |
1, 2, 4, 5 |
Water |
Flood warning |
2 |
9:00 AM 01-26-2023 |
10 hours |
3 |
Чтобы найти другие операторы и примеры, просмотрите: анализ данных мониторинга с помощью язык запросов Kusto - Обучение | Microsoft Learn.
Количество элементов
count
Используйте оператор для обнаружения количества записей во входном наборе записей.
В следующем примере возвращается количество записей в StormEvent
таблице. Результаты запроса показывают, StormEvent
что таблица содержит пять записей.
StormEvent | count
Результаты запроса:
count |
---|
5 |
Возврат первого числа элементов
top
Используйте оператор для просмотра первых N-записей входного набора записей, отсортированных по указанным столбцам. Столбцы соответствуют свойствам данных, определенным в выделенной таблице.
В следующем примере возвращаются первые три записи данных для StormEvent
. В таблице результатов показаны имя шторма event
, серьезность и прогнозируемая длительность.
StormEvent | top 3 by event severity duration
Результаты запроса:
события | severity | duration |
---|---|---|
Freezing rain |
1 |
3 hours |
High winds |
1 |
12 hours |
Below freezing |
2 |
10 hours |
Поиск соответствующих элементов
where
Используйте оператор, чтобы отфильтровать таблицу до подмножества строк, соответствующих заданному значению предиката. Значение предиката указывает, что искать в таблице, как в where=="find-this"
.
В следующем примере записей данных фильтруется только для использования только записей StormEvent
, которые соответствуют "снегу".
StormEvent | where event=="snow"
Запрос фильтрует одну строку в StormEvent
таблице:
type | события | severity | start | duration | регион |
---|---|---|---|---|---|
Water |
Snow |
3 |
4:00 PM 01-26-2023 |
10 hours |
1, 2, 4, 5 |