Функции в запросах логов Azure Monitor

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

Требуемые разрешения

Действие Требуемые разрешения
Просмотр или использование функций Microsoft.OperationalInsights/workspaces/query/*/read разрешения для рабочей области Log Analytics, как предусмотрено встроенной ролью Читатель Log Analytics, например.
Создание или изменение функций microsoft.operationalinsights/workspaces/savedSearches/write разрешения для рабочей области Log Analytics, как, например, указано встроенной ролью участника Log Analytics Contributor.

Типы функций

Существует два типа функций в Azure Monitor:

  • Функции решения Solution: В Azure Monitor включены предварительно созданные функции. Эти функции доступны во всех Log Analytics рабочих областях и не могут быть изменены.

  • функции Workspace: Эти функции устанавливаются в определенной рабочей области Log Analytics. Их можно изменить и контролировать пользователем.

Функции представления

Функции решения и функции рабочей области можно просмотреть на вкладке Functions в левой панели текущей рабочей области Log Analytics. Используйте фильтр для фильтрации функций, включенных в список. Используйте Группировать по, чтобы изменить группировку. Введите строку в поле поиска , чтобы найти определенную функцию. Наведите указатель мыши на функцию, чтобы просмотреть сведения о ней, включая описание и параметры.

Снимок экрана: просмотр функции.

Использование функции

Используйте функцию в запросе, введя его имя со значениями для всех параметров, аналогичных типу команды. Выходные данные функции можно возвратить в виде результатов или предать другой команде.

Чтобы добавить функцию в текущий запрос, дважды щелкните ее имя или наведите на нее указатель мыши и выберите пункт Использовать в редакторе. Функции рабочей области также будут отображаться в IntelliSense при вводе запроса.

Если запрос требует параметров, предоставьте их с помощью синтаксиса function_name(param1,param2,...).

Снимок экрана: использование функции.

Создание функции

Чтобы создать функцию из текущего запроса в редакторе, нажмите кнопку "Сохранить>как функцию".

Снимок экрана: создание функции.

Создайте функцию с Log Analytics на портале Azure, выбрав Save и предоставив сведения в следующей таблице:

Настройка Описание
Имя функции Имя для функции. Имя может не содержать пробел или какие-либо специальные символы. Он также может не начинаться с подчеркивания (_), так как этот символ зарезервирован для функций решения.
Устаревшая категория Определяемая пользователем категория помогает фильтровать и группировать функции.
Сохранить как группу компьютеров Сохранение запроса в виде группы компьютеров.
Параметры Добавьте параметры для всех переменных в функции, при использовании которых требуется указывать значения. Дополнительные сведения см. в разделе "Параметры функции".

Снимок экрана: сведения о функции.

Параметры функции

Можно добавить параметры в функцию, чтобы вы могли предоставлять значения для определенных переменных при вызове. В результате одна и та же функция может использоваться в разных запросах, каждая из которых предоставляет разные значения для параметров. Параметры определяются следующими свойствами:

Настройка Описание
Тип Тип данных для значения.
Имя. Имя для параметра. Это имя должно использоваться в запросе для замены значения параметра.
Значение по умолчанию Значение, которое необходимо использовать для параметра, если не указано другое значение.

Параметры упорядочены по мере их создания. Параметры, не имеющие значения по умолчанию, размещаются перед параметрами, имеющими значение по умолчанию.

Работа с кодом функции

Вы можете просмотреть код функции, чтобы получить представление о том, как он работает, либо чтобы изменить его для рабочей области. Чтобы добавить код функции в текущий запрос в редакторе, щелкните Загрузить код функции.

Если добавить код функции в пустой запрос или первую строку существующего запроса, имя функции добавляется на вкладку. Функция рабочей области позволяет изменять сведения о функции.

Снимок экрана, показывающий код загрузки функции.

Изменение функции

Измените свойства или код функции, создав новый запрос. Наведите указатель мыши на имя функции и выберите код функции Load. Внесите изменения в код и нажмите кнопку "Сохранить". Затем выберите "Изменить сведения о функции". Внесите изменения в свойства и параметры функции и нажмите кнопку "Сохранить".

Снимок экрана: редактирование функции.

Пример

В следующем примере функции возвращаются все события в журнале действий Azure с определенной даты и соответствующие определенной категории.

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

AzureActivity
| where CategoryValue == "Administrative"
| where TimeGenerated > todatetime("2021/04/05 5:40:01.032 PM")

Снимок экрана: начальный запрос.

Затем замените жестко закодированные значения именами параметров. Затем сохраните функцию, нажав кнопку "Сохранить>как функцию".

AzureActivity
| where CategoryValue == CategoryParam
| where TimeGenerated > DateParam

Снимок экрана: сохранение функции.

Укажите следующие значения свойств функции:

Свойство Значение
Имя функции АктивностьAzureПоКатегории
Устаревшая категория Демонстрационные функции

Перед сохранением функции определите следующие параметры:

Тип Имя. Значение по умолчанию
строка ПараметрКатегории Административное
дата и время DateParam

Снимок экрана: свойства функции.

Создайте запрос и просмотрите новую функцию, наведя на нее указатель мыши. Просмотрите порядок параметров. Они должны быть указаны в этом порядке при использовании функции.

Снимок экрана: просмотр сведений.

Выберите "Использовать в редакторе ", чтобы добавить новую функцию в запрос. Затем добавьте значения для параметров. Не нужно указывать значение, CategoryParam так как оно имеет значение по умолчанию.

Снимок экрана: добавление значений для параметров.

Следующие шаги

См. Операции со строками для получения дополнительной информации о том, как составлять запросы к журналам Azure Monitor.