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

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

Необходимые разрешения

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

  • Для создания или изменения функций требуются 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, выбрав Сохранить и указав сведения в следующей таблице:

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

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

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

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

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

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

Примечание

Классические ресурсы Application Insights не поддерживают параметризованные функции. Если у вас есть ресурс Application Insights на основе рабочей области, можно создать параметризованные функции из рабочей области Log Analytics. Сведения о переносе классического ресурса Application Insights в ресурс на основе рабочей области см. в статье Миграция на ресурсы Application Insights на основе рабочей области.

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

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

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

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

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

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

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

Пример

Следующий пример функции возвращает все события в журнале действий 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 "Administrative"
DATETIME DateParam

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

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

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

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

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

Дальнейшие действия

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