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


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

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

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

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

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

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

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

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

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

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

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

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

Измените свойства или код функции, создав новый запрос. Наведите указатель мыши на имя функции и выберите код функции 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
Устаревшая категория Демонстрационные функции

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

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

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

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

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

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

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

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

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