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