Good

Prometheus

Prometheus — відкрита система моніторингу та збору метрик із pull-based архітектурою, що самостійно опитує (scrape) цільові сервіси за HTTP та зберігає часові ряди у вбудованій базі даних TSDB.

Опис

На відміну від push-based систем, де агенти надсилають метрики на центральний сервер, Prometheus сам ходить до кожного сервісу за адресою /metrics через визначені інтервали (зазвичай 15–60 секунд). Цільові сервіси або мають вбудовану підтримку формату Prometheus (Go, Java, Python бібліотеки), або перед ними встановлюється Exporter — окремий процес, що перетворює дані системи у формат Prometheus. Популярні експортери: node_exporter (метрики Linux-хоста), cadvisor (метрики Docker-контейнерів), blackbox_exporter (перевірка доступності HTTP/TCP).

Дані зберігаються локально у TSDB (Time Series Database) — оптимізованому сховищі для часових рядів. За замовчуванням дані зберігаються 15 днів. Для довготривалого зберігання використовуються зовнішні системи, як-от Thanos або Cortex, що розширюють можливості Prometheus до кількох місяців чи років.

Мова запитів PromQL дозволяє виконувати складні агрегації, обчислювати похідні (rate, irate), застосовувати функції вікна часу та об'єднувати метрики з різних джерел. Наприклад, rate(http_requests_total[5m]) обчислює кількість HTTP-запитів за секунду в ковзному вікні 5 хвилин.

Alertmanager — окремий компонент, що отримує сповіщення від Prometheus, дедуплікує їх, групує та маршрутизує до одержувачів (Telegram, Slack, Email). Правила сповіщень визначаються у YAML-файлах і перезавантажуються без перезапуску Prometheus.

В контексті UMTC

У UMTC Prometheus відповідає за збір метрик усієї інфраструктури: VPS-хостів (node_exporter), Docker-контейнерів (cadvisor), доступності Wiki та API-бекендів (blackbox_exporter). При розгортанні нового сервісу до prometheus.yml додається новий target — це єдина зміна, необхідна для підключення моніторингу.

Alertmanager налаштований на надсилання критичних сповіщень у захищений Telegram-канал: недоступність сервісів, перевищення використання диску (>85%), помилки автентифікації. Grafana отримує всі метрики з Prometheus через PromQL і відображає їх на оперативних дашбордах.

Пов'язані терміни

  • grafana — інструмент візуалізації метрик із Prometheus
  • docker — Prometheus та Alertmanager розгортаються як Docker-контейнери
  • caddy — може виступати ціллю для blackbox_exporter; забезпечує HTTPS-доступ до Prometheus UI

Посилання

Шлях: glossary/prometheus.md

UMTC Wiki © 2026 | Ukrainian Military Tactical Communications