Initial commit: Add infrastructure and bot project
This commit is contained in:
133
README.md
Normal file
133
README.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# Production Environment
|
||||
|
||||
Проект для управления ботами и мониторинга инфраструктуры.
|
||||
|
||||
## Структура проекта
|
||||
|
||||
```
|
||||
prod/
|
||||
├── bots/ # Боты и их конфигурации
|
||||
├── infra/ # Инфраструктура
|
||||
│ ├── grafana/ # Дашборды Grafana
|
||||
│ ├── monitoring/ # Модуль мониторинга сервера
|
||||
│ └── prometheus/ # Конфигурация Prometheus
|
||||
├── scripts/ # Скрипты развертывания
|
||||
├── docker-compose.yml # Docker Compose конфигурация
|
||||
├── env.template # Шаблон переменных окружения
|
||||
└── README.md # Этот файл
|
||||
```
|
||||
|
||||
## 🚀 Быстрый запуск
|
||||
|
||||
### 1. Настройка переменных окружения
|
||||
|
||||
Скопируйте шаблон и настройте переменные:
|
||||
|
||||
```bash
|
||||
cp env.template .env
|
||||
```
|
||||
|
||||
Отредактируйте `.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. Запуск всех сервисов
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### 3. Проверка статуса
|
||||
|
||||
```bash
|
||||
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 системы и мониторинга
|
||||
|
||||
## 📝 Логи
|
||||
|
||||
```bash
|
||||
# Все сервисы
|
||||
docker-compose logs
|
||||
|
||||
# Только мониторинг
|
||||
docker-compose logs -f server_monitor
|
||||
|
||||
# Prometheus
|
||||
docker logs bots_prometheus
|
||||
|
||||
# Grafana
|
||||
docker logs bots_grafana
|
||||
```
|
||||
|
||||
## 🔍 Проверка статуса
|
||||
|
||||
### Автоматическая проверка
|
||||
```bash
|
||||
cd infra/monitoring
|
||||
python3 check_grafana.py
|
||||
```
|
||||
|
||||
### Ручная проверка
|
||||
```bash
|
||||
# Проверка метрик
|
||||
curl http://localhost:9091/metrics
|
||||
|
||||
# Проверка Prometheus targets
|
||||
curl http://localhost:9090/api/v1/targets
|
||||
|
||||
# Проверка Grafana
|
||||
curl http://localhost:3000/api/health
|
||||
```
|
||||
|
||||
## 🛑 Остановка
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
Reference in New Issue
Block a user