Чтение метрик через Remote API
Статья создана
Обновлена 19 ноября 2024 г.
- В консоли управления
перейдите в каталог, в котором хранятся данные. - Создайте сервисный аккаунт с ролью
monitoring.viewer
на выбранный каталог. - Создайте API-ключ для сервисного аккаунта.
- В конфигурацию Prometheus
, в секциюremote_read
, добавьте эндпоинт (url
):... remote_read: ... - url: '<URL>' # предоставляется по запросу bearer_token: '<API-ключ>' # Или через файл (рекомендуется): # bearer_token_file: '<имя_файла_с_API-ключом>' # Рекомендуется добавить пользовательский заголовок X-Lookback-Delta. # Если вы не меняли параметр lookback-delta в конфигурации # вашего экземпляра Prometheus, укажите значение по умолчанию 5m. # Эта информация необходима для оптимизированного прореживания. headers: X-Lookback-Delta: 5m # По умолчанию данные запрашиваются только для тех временных диапазонов, # которые отсутствуют в локальном хранилище Prometheus (старше чем Storage retention). # Если вы хотите запрашивать данные всегда, что имеет смысл, если чтение и запись # выполняются с разных экземпляров Prometheus, включите следующую опцию: # [ read_recent: true ] # Если вы хотите читать только часть метрик через Remote API, укажите их метки: # required_matchers: # [ <label_name>: <label_value> ... ]
- Перезапустите Prometheus или перезагрузите конфигурацию.
Примеры ошибок
Код ошибки | Текст ошибки | Описание |
---|---|---|
404 |
Эндпоинт не найден. Убедитесь, что в конфигурации указан правильный url . |
remote_read: remote server https://monitoring.api.cloud.yandex.net/prometheus/workspaces/monb1piptmdo********/api/v1/read returned HTTP status 404 Not Found: {"status":"error","errorType":"not_found","error":"workspace not found: monb1piptmdo********"} |
401 |
Сервисный аккаунт не найден. Убедитесь, что в конфигурации указан правильный API-ключ. | remote_read: remote server https://monitoring.api.cloud.yandex.net/prometheus/workspaces/monb1piptmdo********/api/v1/read returned HTTP status 401 Unauthorized: {"status":"error","errorType":"","error":"cannot authenticate by either token or api-key, cause: UNAUTHENTICATED: The token is invalid"} |
403 |
Отсутствуют права на чтение. Убедитесь, что сервисный аккаунт имеет роль monitoring.viewer на выбранный каталог. |
remote_read: remote server https://monitoring.api.cloud.yandex.net/prometheus/workspaces/monb1piptmdo********/api/v1/read returned HTTP status 403 Forbidden: {"status":"error","errorType":"","error":"PERMISSION_DENIED: Permission denied"} |
429 |
Превышена квота Количество запросов в секунду на чтение через Remote Read API. | remote_read: remote server https://monitoring.api.cloud.yandex.net/prometheus/workspaces/monb1piptmdo********/api/v1/read returned HTTP status 429 Too Many Requests: {"status":"error","errorType":"execution","error":"too many read requests: monb1piptmdo********"} |
400 |
Запрос вернул слишком много линий. Попробуйте уточнить запрос. | remote_read: remote server https://monitoring.api.cloud.yandex.net/prometheus/workspaces/monb1piptmdo********/api/v1/read returned HTTP status 400 Bad Request: {"status":"error","errorType":"bad_data","error":"Too many metrics are loaded by selectors {job=='grafana'}, expected not more than: 10000"} |
Метрики Prometheus
Имя метрики | Единицы измерения | Пояснения |
---|---|---|
prometheus_remote_storage_read_queries_total |
Вызовы | Общее количество запросов на чтение. |
prometheus_remote_storage_read_request_duration_seconds |
Секунды | Гистограмма времени выполнения запросов на чтение. |
Текущие ограничения
- Максимальное количество временных рядов, по которым можно получить метаданные при помощи запроса
/api/v1/series
, — 10 000. - Максимально количество временных рядов, которые можно прочитать в рамках одного запроса
/api/v1/query
или/api/v1/query_range
, — 10 000.
© 2024 Linux Foundation. Все права защищены. Linux Foundation зарегистрировала товарные знаки и использует товарные знаки. Список товарных знаков Linux Foundation см. на странице Trademark Usage