7378179d98ac0c454cdcf85feb0f5986c7a50e59
Production Environment
Проект для управления ботами и мониторинга инфраструктуры.
Структура проекта
prod/
├── bots/ # Боты и их конфигурации
├── infra/ # Инфраструктура
│ ├── grafana/ # Дашборды Grafana
│ ├── monitoring/ # Модуль мониторинга сервера
│ └── prometheus/ # Конфигурация Prometheus
├── scripts/ # Скрипты развертывания
├── docker-compose.yml # Docker Compose конфигурация
├── env.template # Шаблон переменных окружения
└── README.md # Этот файл
🚀 Быстрый запуск
1. Настройка переменных окружения
Скопируйте шаблон и настройте переменные:
cp env.template .env
Отредактируйте .env файл, добавив реальные значения:
# Telegram Bot Configuration
TELEGRAM_MONITORING_BOT_TOKEN=your_bot_token_here
GROUP_MONITORING_FOR_LOGS=your_telegram_group_id_here
IMPORTANT_MONITORING_LOGS=your_important_logs_channel_id_here
# Monitoring Configuration
THRESHOLD=80.0
RECOVERY_THRESHOLD=75.0
# Prometheus Configuration
PROMETHEUS_RETENTION_DAYS=30
# Grafana Configuration
GRAFANA_ADMIN_USER=admin
GRAFANA_ADMIN_PASSWORD=admin
2. Запуск всех сервисов
docker-compose up -d
3. Проверка статуса
docker-compose ps
📊 Сервисы
- Prometheus (порт 9090) - сбор метрик
- Grafana (порт 3000) - дашборды
- Server Monitor - мониторинг системы + Telegram уведомления
🌐 Доступные адреса
| Сервис | Адрес | Описание |
|---|---|---|
| Grafana | http://localhost:3000 | Дашборды мониторинга (admin/admin) |
| Prometheus | http://localhost:9090 | API метрик и веб-интерфейс |
| Метрики сервера | http://localhost:9091/metrics | Endpoint для Prometheus |
| Health check | http://localhost:9091/health | Проверка состояния мониторинга |
🔧 Модуль мониторинга
Модуль автоматически:
- Собирает метрики CPU, RAM, диска каждые 30 секунд
- Отправляет статусы каждые 30 минут в Telegram
- Отправляет алерты при превышении пороговых значений
- Интегрирован с Prometheus/Grafana
📈 Собираемые метрики
- CPU: использование, load average (1m, 5m, 15m)
- RAM: использование оперативной памяти
- Disk: использование диска, I/O активность
- Swap: использование swap
- System: uptime системы и мониторинга
📝 Логи
# Все сервисы
docker-compose logs
# Только мониторинг
docker-compose logs -f server_monitor
# Prometheus
docker logs bots_prometheus
# Grafana
docker logs bots_grafana
🔍 Проверка статуса
Автоматическая проверка
cd infra/monitoring
python3 check_grafana.py
Ручная проверка
# Проверка метрик
curl http://localhost:9091/metrics
# Проверка Prometheus targets
curl http://localhost:9090/api/v1/targets
# Проверка Grafana
curl http://localhost:3000/api/health
🛑 Остановка
docker-compose down
Description
Languages
Makefile
38%
Python
29.1%
Shell
24.8%
Jinja
4.9%
Dockerfile
3.2%