mirror of
https://github.com/FerraSoft/bottohelp.git
synced 2026-08-06 21:55:03 +00:00
5.0 KiB
5.0 KiB
🚀 Запуск системы мониторинга
📋 Полная инструкция по запуску
1. Установка зависимостей
pip install prometheus_client sentry-sdk flask requests
2. Настройка GlitchTip (альтернатива Sentry)
Вариант A: Docker Compose (рекомендуется)
# Создайте docker-compose.yml
cat > docker-compose.yml << EOF
version: '3.8'
services:
postgres:
image: postgres:13
environment:
POSTGRES_DB: glitchtip
POSTGRES_USER: glitchtip
POSTGRES_PASSWORD: glitchtip
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:alpine
glitchtip:
image: glitchtip/glitchtip:latest
ports:
- "8000:8000"
depends_on:
- postgres
- redis
environment:
SECRET_KEY: your-secret-key-here-generate-random-32-chars
DATABASE_URL: postgresql://glitchtip:glitchtip@postgres:5432/glitchtip
REDIS_URL: redis://redis:6379/0
EMAIL_URL: console://
volumes:
- glitchtip_data:/data
volumes:
postgres_data:
glitchtip_data:
EOF
# Запустите
docker-compose up -d
Вариант B: Обычный Docker
docker run -d --name glitchtip -p 8000:8000 glitchtip/glitchtip:latest
3. Настройка проекта в GlitchTip
- Откройте: http://localhost:8000
- Зарегистрируйтесь
- Создайте проект "Telegram Bot"
- Получите DSN в Settings → API Keys
- Скопируйте DSN
4. Настройка конфигурации бота
В config_local.py добавьте:
# Мониторинг
ENABLE_SENTRY = True
SENTRY_DSN = "http://localhost:8000/api/1/project/your-project-id/dsn/"
PROMETHEUS_PORT = 8000
# Уведомления разработчиков
ENABLE_DEVELOPER_NOTIFICATIONS = True
DEVELOPER_CHAT_ID = -1001234567890 # ID вашего чата
5. Запуск компонентов
Терминал 1: GlitchTip (если не через Docker)
# Если используете Docker, пропустите этот шаг
glitchtip runserver 0.0.0.0:8000
Терминал 2: Prometheus сервер метрик
python prometheus_server.py
Терминал 3: Webhook для алертов (опционально)
python webhook_server.py
Терминал 4: Основной бот
python new_bot.py
6. Проверка работы
Метрики Prometheus
- URL: http://localhost:8000/metrics
- Ожидаемые метрики: telegram_bot_errors_total, telegram_bot_command_duration_seconds, etc.
GlitchTip
- URL: http://localhost:8000
- Проверьте, что ошибки отображаются в проекте
Логи
- Файл: bot.log
- Формат: JSON с timestamp, level, message
7. Настройка алертов в GlitchTip
- В проекте перейдите в Alerts
- Создайте правило:
- Condition: "An issue is first seen"
- Action: "Send a webhook"
- URL:
http://localhost:5000/glitchtip-webhook
8. Тестирование
Тест интеграции
python test_monitoring_integration.py
Тест метрик
python test_metrics_server.py
9. Мониторинг в продакшене
Grafana для визуализации
docker run -d -p 3000:3000 grafana/grafana
Настройте Data Source:
- Type: Prometheus
- URL: http://localhost:8000
Дашборды для создания:
- Обзор ошибок - графики ошибок по времени
- Производительность - время отклика команд
- Активность - пользователи и сообщения
🎯 Итоговый статус:
✅ Система мониторинга запущена и работает!
- 🔍 Логирование: JSON формат в bot.log
- 📊 Метрики: Prometheus на порту 8000
- 🛡️ Ошибки: GlitchTip на порту 8000
- 🚨 Алерты: Telegram уведомления
- 📚 Документация: полная в README файлах
🚨 Что делать при ошибках:
- Проверьте логи:
tail -f bot.log - Метрики:
curl http://localhost:8000/metrics - GlitchTip: http://localhost:8000
- Конфигурация: проверьте config_local.py
📞 Поддержка:
При проблемах обращайтесь к документации в:
MONITORING.md- подробная документацияREADME_MONITORING.md- быстрый стартGLITCHTIP_SETUP.md- настройка GlitchTip
Система мониторинга готова к использованию! 🎉