Расскажи про опыт работы с Prometheus
Python
Middle
Без компании
Расскажи про опыт работы с Prometheus
Ответы
Prometheus — это open-source система мониторинга и алертинга, работающая по принципу pull-модели. Основные компоненты: сервер (сбор метрик), клиентские библиотеки (инструментация кода), экспортеры (для сторонних сервисов) и Alertmanager (управление алертами).
**Опыт работы:**
- Настройка сбора метрик из Python-приложений через `prometheus_client`.
- Создание кастомных метрик (Counter, Gauge, Histogram).
- Интеграция с Grafana для визуализации.
- Конфигурация алертов (например, на высокую загрузку CPU или ошибки 5xx).
**Пример кода для метрики в Flask:**
```
from prometheus_client import Counter, generate_latest
from flask import Flask, Response
app = Flask(__name__)
REQUEST_COUNT = Counter('http_requests_total', 'Total HTTP Requests')
@app.route('/metrics')
def metrics():
return Response(generate_latest(), mimetype='text/plain')
@app.route('/')
def home():
REQUEST_COUNT.inc()
return "Hello, Prometheus!"
```
**Нюансы:**
- Важно учитывать кардинальность метрик (избегать высоких значений в лейблах).
- Для Kubernetes используйте `kube-state-metrics` и `node-exporter`.
- Long-polling задачи могут требовать PushGateway.