Как работает Prometheus
Python
Middle
Без компании
Как работает Prometheus
Ответы
Prometheus — это система мониторинга и алертинга с открытым исходным кодом, работающая по модели pull. Она собирает метрики по HTTP, используя простой текстовый формат.
**Основные компоненты:**
- **Prometheus Server** — собирает и хранит метрики.
- **Exporters** — агенты, предоставляющие метрики (например, Node Exporter для мониторинга сервера).
- **Alertmanager** — обрабатывает алерты и отправляет уведомления.
- **Client Libraries** — для интеграции в приложения (Python, Go и др.).
**Пример метрики:**
```
http_requests_total{method="GET", status="200"} 1024
```
**Пример кода на Python (библиотека `prometheus_client`):**
```
from prometheus_client import start_http_server, Counter
REQUEST_COUNT = Counter('http_requests_total', 'Total HTTP Requests', ['method', 'status'])
def handle_request(method, status):
REQUEST_COUNT.labels(method, status).inc()
start_http_server(8000) # Запуск сервера метрик на порту 8000
```
Prometheus периодически опрашивает эндпоинты (`/metrics`), собирает данные и сохраняет их в TSDB. Запросы выполняются через PromQL.