MQL формат запросов порогов
BUSINESSENTERPRISE
Доступные атрибуты для фильтрации порогов
| Параметр | Описание | Операторы | Тип значения | Пример |
|---|---|---|---|---|
| level | Уровень порога | - Равно - Не равно - Равно одному из - Не равно одному из | -"Fatal" - "Critical"- "Major"- "Warning"- "Info"- "Ok" | level:"Critical" |
| name | Название порога | - Равно - Не равно - Равно одному из - Содержит - Не содержит | Текст | name:~"Проблема" |
| createdAt | Дата создания | - Равно - Не равно - Больше - Больше или равно - Меньше - Меньше или равно - В интервале | - "DD.MM.YYYY hh:mm" - "DD.MM.YYYY hh:mm:ss" | createdAt:>"01.01.2025 12:00" |
| rsmMapId | Карта РСМ | - Равно - Не равно - Равно одному из - Не равно одному из | ID карты или массив ID | rsmMapId:[123,456] |
| configItemId | КЕ | - Равно одному из - Не равно одному из - Пустое - Непустое | ID КЕ или массив ID | configItemId:[789,101] |
| configItemComponentName | Название компонента КЕ | - Равно - Не равно - Равно одному из - Не равно одному из - Содержит - Не содержит | Текст | configItemComponentName:~"backend" |
| configItemComponentSlot | Слот компонента КЕ | - Равно - Не равно - Равно одному из - Не равно одному из - Содержит - Не содержит | Текст | configItemComponentSlot:"slot-1" |
| labels.* | Метки (по любому ключу) | - Равно - Не равно - Равно одному из - Не равно одному из - Содержит - Не содержит | Текст | labels.*:"TestAlert" |
| annotations.* | Аннотации (по любому ключу) | - Равно - Не равно - Равно одному из - Не равно одному из - Содержит - Не содержит | Текст | annotations.*:"summary" |
| ruleId | ID правила порога | - Равно - Не равно - Равно одному из - Не равно одному из | ID правила или массив ID | ruleId:123 |
Операторы для строки запроса
Логические операторы
| Название оператора | Обозначение | Пример | Результат | Дополнительная информация |
|---|---|---|---|---|
| Или | OR | level: "warning" OR name: "Alert" | Фильтр выведет все пороги, содержащие пару ключ/значение level/warning или name/Alert | Операторы используются для выстраивания логики между запросами. Можно создавать сложные фильтры, комбинируя несколько операторов. При вычислении сложных фильтров сначала применяются операторы AND. Для изменения порядка действий используйте круглые скобки (, ) |
| И | AND | level: "warning" AND name: "Alert" | - |
Операторы сравнения
| Название оператора | Обозначение | Пример | Результат | Дополнительная информация |
|---|---|---|---|---|
| Равно | (нет оператора) | name: "Alert" | Фильтр выведет все пороги, содержащие пару ключ/значение name/Alert | Оператор работает с одиночными значениями. Числа можно использовать без кавычек, текст, время и даты — только в кавычках |
| Не равно | ! | name: "Alert" | Фильтр выведет все пороги, которые не содержат пару ключ/значение name/Alert | - |
Операторы-функции
| Название оператора | Обозначение | Пример | Результат |
|---|---|---|---|
| Пустое | <название ключа>:!exists() | configItem:!exists() | Фильтр выведет все пороги, у которых отсутствует КЕ |
| Непустое | <название ключа>:exists() | configItem:exists() | Фильтр выведет все пороги, у которых есть КЕ |
Операторы строковых значений
| Название оператора | Обозначение | Пример | Результат | Дополнительная информация |
|---|---|---|---|---|
| Содержит | ~ | name: ~"Alert" | Фильтр выведет все пороги, в значении параметра name которых присутствует слово или вхождение "Alert" | Операторы работают для текстовых полей. Числа можно использовать без кавычек, текст — только в кавычках |
| Не содержит | !~ | name:!~"Alert" | Фильтр выведет все пороги, в ключе name которых не присутствует слово или вхождение "Alert", и пороги, в которых нет метки label.name | - |
Операторы массивов
| Название оператора | Обозначение | Пример | Результат | Дополнительная информация |
|---|---|---|---|---|
| Содержит все | <название ключа>:["<Значение1>","<Значение2>"] | name:["warning","fatal"] | Фильтр выведет все пороги, в которых содержатся ключи name со значениями "warning" или "fatal" | Числа можно использовать без кавычек, текст — только в кавычках |
| Не содержит любое (Не равно одному из) | <название ключа>:!~["<Значение1>","<Значение2>"] | name:!~["warning","fatal"] | Фильтр выведет все пороги, в которых не содержатся ключи alertname, или имеющиеся ключи alertname имеют значения или вхождения "warning" или "fatal" | - |
| Содержит любое (Равно одному из) | <название ключа>:~["<Значение1>","<Значение2>"] | name:~["warning","fatal"] | Фильтр выведет все пороги, в которых содержатся ключи alertname со значениями или вхождениями "warning" или "fatal" | - |
Операторы числовых значений и дат
| Название оператора | Обозначение | Пример | Результат | Дополнительная информация |
|---|---|---|---|---|
| Больше | > | createdAt:>"01.01.24 17:25" | Фильтр выведет все пороги, в которых поле дата открытия больше "01.01.24 17:25" | Операторы работают с числами и датами. Числа можно использовать без кавычек, время и даты — только в кавычках |
| Меньше | < | createdAt:<"01.01.24 17:25" | Фильтр выведет все пороги, в которых поле дата открытия меньше "01.01.24 17:25" | - |
| Больше или равно | >= | StoryPoints:>=15 | Фильтр выведет все пороги, в которых поле ёStoryPointsё больше или равно 15 | - |
| Меньше или равно | <= | StoryPoints:<=15 | Фильтр выведет все пороги, в которых поле StoryPoints меньше или равно 15 | - |
Меры исчисления времени в запросах
| Название | Обозначение | Пример | Результат | Дополнительная информация |
|---|---|---|---|---|
| Секунда | s | Duration:>"1s" | Фильтр выведет все пороги, у которых длительность больше 1 секунды | Оператор работает только для полей с временем и датами. Длительность оборачивается в кавычки |
| Минута | m | Duration:>"1m" | Фильтр выведет все пороги, у которых длительность больше 1 минуты | - |
| Час | h | Duration:>"1h1m" | Фильтр выведет все пороги, у которых длительность больше 1 часа 1 минуты | - |
| День | d | Duration:>"1d" | Фильтр выведет все пороги, у которых длительность больше 1 дня | - |
| Месяц | M | createdAt:>now()-4M | Фильтр выведет все пороги с датой открытия за последние 4 месяца | Месяцы работают только для оператора «За последние N» |
| Диапазон дат | [дата А]..[дата Б] | createdAt:"01.01.24 00:00..02.01.24 00:00" | Фильтр выведет все пороги, закрытые с 01.01.24 00:00 до 02.01.24 00:00 | Оператор работает только для даты с временем. Применимо только равенство |
| За последние N | now-<значение><тип значения> | createdAt:now()-7h | Фильтр выведет все пороги, которые открылись за последние 7 часов | Оператор работает только для полей: дата открытия, дата подтверждения. Выражение задается без кавычек |
Логика работы операторов с датами (createdAt)
| Логика | Результат |
|---|---|
Date:<"12.11.2024 09:16" | Пороги до 12.11.2024 09:15:59 включительно |
Date:>"12.11.2024 09:16" | Пороги после 12.11.2024 12.11.2024 09:17:00 включительно |
Date:<"12.11.2024 09:16:00" | Пороги до 12.11.2024 09:15:59 включительно |
Date:>"12.11.2024 09:16:00" | Пороги после 12.11.2024 09:16:01 включительно |
Date:<="12.11.2024 09:16" | Пороги до 12.11.2024 09:16:59 включительно |
Date:>="12.11.2024 09:16" | Пороги после 12.11.2024 09:16:00 включительно |
Date:<="12.11.2024 09:16:00" | Пороги до 12.11.2024 09:16:00 включительно |
Date:>="12.11.2024 09:16:00" | Пороги после 12.11.2024 09:16:00включительно |
Date:"12.11.2024 09:16:00" | Пороги 12.11.2024 09:16:00 |
Date:"12.11.2024 09:16" | Пороги после 12.11.2024 09:16:00 и до 12.11.2024 09:16:59 включительно |
Date:!="12.11.2024 09:16:00" | Пороги до 12.11.2024 09:15:59 и после 12.11.2024 09:16:01 включительно |
Date:!="12.11.2024 09:16" | Пороги до 12.11.2024 09:15:59 и после 12.11.2024 09:17:00 включительно |
Date:{Последние 5 минут} | Например, при текущей дате и времени 20.02.2025 12:00:58 выводятся пороги от 20.02.2025 11:55:58 до 20.02.2025 12:00:58 включительно |
Date:"12.11.2024 09:16..12.11.2024 09:25" | Пороги от 12.11.2024 09:16:00 до 12.11.2024 09:25:59 включительно |
Date:"12.11.2024 09:16:00..12.11.2024 09:25:00" | Пороги от 12.11.2024 09:16:00 до 12.11.2024 09:25:00 включительно |
Особенности работы с метками и аннотациями
1. Использование кавычек
Для меток и аннотаций обращение без кавычек можно использовать только для ключей, которые:
- Начинаются с буквы английского или русского алфавитов (
a-z, A-Z, а-я, А-Я) или подчеркивания (_) - Содержат только:
- Буквы английского или русского алфавитов
- Подчеркивания (
_) - Цифры (
0-9) - Знак доллара (
$)
Для всех остальных ключей необходимо использовать кавычки.
Пример: label."this string has spaces".annotations.summary:!~ "LABELS"
2. Экранирование кавычек
Если в значении ключа есть кавычки, их необходимо экранировать через обратную косую черту (\).
Пример: labels.summary:!~ "LA\"BE\"LS"
Примеры запросов для меток и аннотаций
Примеры приведены для оператора Равно. Для всех остальных операторов логика аналогичная.
| Пример запроса | Описание | Особенности реализации |
|---|---|---|
labels.*: "TestAlert" | Фильтр выведет все пороги, у которых присутствуют метки с любым ключом, имеющим значение "TestAlert" | * заменяет название ключа (или его часть). Регистронезависимость ключей и значений |
labels.*name: "TestAlert" | Фильтр выведет все пороги, у которых присутствуют метки с ключом, заканчивающимся на "name" ( * заменяет любую последовательность символов), имеющим значение "TestAlert" | Регистронезависимость ключей и значений |
labels.Test: "TestAlert" | Фильтр выведет все пороги, у которых есть метка с ключом "Test" и значением "TestAlert" | Регистронезависимость ключей и значений |