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
инфраструктура всех ботов
Readme 301 KiB
Languages
Makefile 38%
Python 29.1%
Shell 24.8%
Jinja 4.9%
Dockerfile 3.2%