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