Вопрос: как экспортировать метрики из Python в Prometheus? - Академия Selectel

Вопрос: как экспортировать метрики из Python в Prometheus?

Линия поддержки
Линия поддержки Ответы на вопросы пользователей
15 декабря 2025

Объяснили, почему не стоит использовать полные URL в качестве меток и как группировать данные для масштабируемого мониторинга веб-сервисов.

Изображение записи

Комментарий пользователя

Здравствуйте! Хочу собирать latency и status по страницам и отправлять в Prometheus. Но у нас сотни и тысячи URL — не хочу, чтобы Prometheus съел всю память. Как сделать все правильно?

Данила Богданов Пользователь

Ответ специалиста

Добрый день, Данила! Опасаться cardinality стоит, каждая уникальная комбинация лейблов — отдельная временная серия. Нельзя использовать в лейблах произвольные URL или id. 

Советую придерживаться принципа: метрики — агрегаты по заранее определенным категориям. Если нужно мониторить URL, делаю либо ограниченный набор endpoint-лейблов (/health, /api/search, /login), либо группирую URL (top pages) и оставляю детальную информацию в логах/ELK.

  • Антон Земцов

    Антон Земцов

    Младший бэкенд-разработчик Python

Минимальный пример на prometheus_client:


      from prometheus_client import start_http_server, Counter, Histogram

REQUESTS = Counter('app_requests_total', 'Total requests', ['endpoint'])
LATENCY = Histogram('app_request_latency_seconds', 'Request latency', ['endpoint'])

start_http_server(9100)

def handle(endpoint):
    REQUESTS.labels(endpoint=endpoint).inc()
    with LATENCY.labels(endpoint=endpoint).time():
        # работа
        pass

Если нужно проверять множество страниц на availability, экспортируйте только агрегаты: например page_up{group="top"} 1/0 и счетчик ошибок по группе.

В случае, если нужно собрать детальные URL-метрики используйте внешнюю систему (logs → ClickHouse/ES) и деривации. А в Prometheus оставляйте только ключевые агрегаты. Это дает вам нужные дашборды и алерты без риска OOM на TSDB.

Больше полезных статей и курсов по разработке и администрированию вы всегда найдете в Академии Selectel.