📦 Проект по сбору и визуализации метрик HTTP-сервиса с помощью Prometheus и Grafana.
🔧 Нагрузка генерируется с помощью Apache Benchmark. Проект выполнен по видеоуроку Андрея Шумейко.
- Языки: Python
- Фреймворк: Litestar + Uvicorn
- Мониторинг: Prometheus + Grafana
- Нагрузочное тестирование: Apache Benchmark
ab -k -c 5 -n 20000 'http://localhost:8080/' &
ab -k -c 5 -n 2000 'http://localhost:8080/status/400' &
ab -k -c 5 -n 3000 'http://localhost:8080/status/409' &
ab -k -c 5 -n 5000 'http://localhost:8080/status/500' &
ab -k -c 50 -n 5000 'http://localhost:8080/status/200?seconds_sleep=1' &
ab -k -c 50 -n 2000 'http://localhost:8080/status/200?seconds_sleep=2' &
Эти команды создают нагрузку на разные endpoints сервера с различными HTTP-кодами и задержками.
📈 Пример Grafana Dashboard 📁 Файл с примером дашборда находится в: /grafana/example-dashboard.json
Можно импортировать его в Grafana:
Открыть Grafana → Dashboards → Import
Вставить JSON или загрузить файл
Назначить источник данных Prometheus
🧠 Что я узнал Как собрать метрики HTTP-сервера с prometheus_client
Как импортировать метрики в Grafana и настроить визуализацию
Как эмулировать нагрузку с Apache Benchmark
Как использовать Litestar/Uvicorn в качестве backend
📜 Источник Курс/видео: Андрей Шумейко YouTube: Как использовать Grafana + Prometheus для мониторинга