Как организовывался мониторинг системы
Python
Middle
Без компании
Как организовывался мониторинг системы
Ответы
Для мониторинга Python-приложений обычно используют комбинацию инструментов:
- **Метрики** (Prometheus + Grafana)
```
from prometheus_client import start_http_server, Counter
REQUEST_COUNT = Counter('requests_total', 'Total requests')
@app.route('/')
def index():
REQUEST_COUNT.inc()
return "Hello"
if __name__ == '__main__':
start_http_server(8000) # Метрики на порту 8000
app.run()
```
- **Логи** (ELK Stack)
Настройка логирования в Python:
```
import logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
```
- **Трейсинг** (Jaeger/Zipkin) для распределенных систем
- **Healthchecks** (Kubernetes probes, custom endpoints)
- **Alerting** (Alertmanager, PagerDuty)
Ключевые метрики:
- Загрузка CPU/RAM
- Latency/Error rate
- Очереди задач (Celery/RQ)
- БД: connection pool, slow queries
Для облачных решений часто используют:
- AWS CloudWatch
- GCP Stackdriver
- Azure Monitor
Главное правило: мониторить не только инфраструктуру, но и бизнес-метрики.