Правила записи
В Yandex Managed Service for Prometheus® вы можете использовать ваши существующие файлы с правилами записи (recording rules
Важно
Имя файла может содержать только буквы латинского алфавита, цифры, точки, тире и подчеркивания. Максимальная длина файла — 256 символов. Длина имени группы не может превышать 256 символов.
Особенности вычисления правил
-
Для согласования правил записи с результатами запросов на чтение в сервисе установлена глобальная задержка вычислений в 2 минуты. Это означает, что правила применяются к данным не сразу, а через 2 минуты после их поступления. Это позволяет всем агентам сбора метрик передать данные, прежде чем они будут прочитаны сервисом и записаны как результат выполнения правил записи.
-
Лимит количества серий в результате вычисления правила по умолчанию равен 1000. Максимальное возможное значение лимита — 10000.
API представлен набором REST-ресурсов, которые находятся по адресу https://monitoring.api.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules
. Чтобы начать выполнять запросы:
- Укажите идентификатор вашего воркспейса в адресе. Идентификатор воркспейса можно посмотреть в пользовательском интерфейсе Monitoring на вкладке Prometheus.
- Установите cURL
. - Аутентифицируйтесь в API.
Создать или заменить файл с правилами записи
-
Закодируйте содержимое файла в Base64
согласно RFC 4648:cat recording-rule.yaml # groups: # - name: example # rules: # - record: example # expr: up base64 -i recording-rule.yaml # Z3JvdXBzOgogIC0gbmFtZTogZXhhbXBsZQogICAgcnVsZXM6CiAgICAtIHJlY29yZDogZXhhbXBsZQogICAgICBleHByOiB1cA==
-
Сохраните результат в JSON-файл:
body.json
{ "name": "recording-rules", "content" : "Z3JvdXBzOgogIC0gbmFtZTogZXhhbXBsZQogICAgcnVsZXM6CiAgICAtIHJlY29yZDogZXhhbXBsZQogICAgICBleHByOiB1cA==" }
-
Создайте или замените файл с правилами записи:
export IAM_TOKEN=<IAM-токен> curl \ --request PUT \ --header "Content-Type: application/json" \ --header "Authorization: Bearer ${IAM_TOKEN}" \ --data "@body.json" \ "https://monitoring.api.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules"
В случае успешного запроса будет возвращен HTTP-код 204
, иначе — текст ошибки.
Если в результате замены файла были удалены правила или группы правил, они перестанут вычисляться. Все новые правила и группы правил начнут вычисляться.
Получить список файлов
Выполните запрос:
export IAM_TOKEN=<IAM-токен>
curl \
--request GET \
--header "Authorization: Bearer ${IAM_TOKEN}" \
"https://monitoring.api.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules"
Пример ответа:
{
"files": [
"recording-rules"
]
}
Посмотреть содержимое файла
Выполните запрос:
export IAM_TOKEN=<IAM-токен>
curl \
--request GET \
--header "Authorization: Bearer ${IAM_TOKEN}" \
"https://monitoring.api.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules/recording-rules"
Пример ответа:
{
"name": "recording-rules",
"content": "Z3JvdXBzOgogIC0gbmFtZTogZXhhbXBsZQogICAgcnVsZXM6CiAgICAtIHJlY29yZDogZXhhbXBsZQogICAgICBleHByOiB1cA=="
}
Просмотреть состояние вычисления файла
Вычисление каждого правила во всех группах файла можно получить, используя REST-ресурс snapshots
. Каждый снимок содержит информацию о статусе, ошибке, имени правила и о том, как долго оно вычислялось.
Выполните запрос:
export IAM_TOKEN=<IAM-токен>
curl \
--request GET \
--header "Authorization: Bearer ${IAM_TOKEN}" \
"https://monitoring.api.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules/recording-rules/snapshots"
Пример ответа:
{
"snapshotByGroup": {
"example": [
{
"state": "OK",
"error": "",
"evaluationTimeMs": 21,
"evaluatedAtTimeEpochMs": 1710490243322,
"record": "example"
}
]
}
}
Возможные состояния правила:
NOT_EVALUATED_YET
— файл загружен, но вычисление еще не началось.OK
— успешное вычисление.LIMIT_EXCEEDED
— правило вернуло больше временных рядов, чем разрешено в полеlimit
в YAML-файле. Для таких правил не сохраняется частичный результат вычислений.TIMEOUT
— правило вычислялось слишком долго.UNEXPECTED_RESULT_TYPE
— вычисление вернуло неожиданный результат, например строку.UNKNOWN_ERROR
— общая ошибка, которая не может быть описана предыдущими состояниями.
Удалить файл
Выполните запрос:
export IAM_TOKEN=<IAM-токен>
curl \
--request DELETE \
--header "Authorization: Bearer ${IAM_TOKEN}" \
"https://monitoring.api.cloud.yandex.net/prometheus/workspaces/<идентификатор_воркспейса>/extensions/v1/rules/recording-rules"
© 2024 Linux Foundation. Все права защищены. Linux Foundation зарегистрировала товарные знаки и использует товарные знаки. Список товарных знаков Linux Foundation см. на странице Trademark Usage