Поделиться через


Функции, используемые в запросах к журналам Azure Monitor

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

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

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

Типы функций

В Azure Monitor есть два указанных ниже типа функций.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметр Description
Тип Тип данных для значения.
Имя. Имя для параметра. Это имя должно использоваться в запросе для замены значения параметра.
Default value Значение, которое необходимо использовать для параметра, если не указано другое значение.

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

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

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

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

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

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

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

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

Пример

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дополнительные сведения о написании запросов к журналам Azure Monitor см. в статье "Строковые операции ".