Files
bottohelp/README_SUPPORT.md
T

8.3 KiB
Raw Blame History

🛠 Поддержка системы мониторинга

📞 Руководство по поддержке и troubleshooting


🔍 Диагностика проблем

Проверка статуса системы:

1. Метрики Prometheus

curl http://localhost:8000/metrics | grep telegram_bot

Ожидаемый результат: метрики ошибок, команд, пользователей

2. GlitchTip

curl http://localhost:8000/api/1/projects/

Ожидаемый результат: список проектов

3. Логи бота

tail -f bot.log | grep -E "(ERROR|CRITICAL)"

Ожидаемый результат: отсутствие критических ошибок

4. Статус Docker контейнеров

docker-compose ps

Ожидаемый результат: все сервисы в статусе "Up"


🐛 Распространенные проблемы

Проблема: Метрики не собираются

Симптомы: curl http://localhost:8000/metrics возвращает пустой ответ

Решение:

  1. Проверьте, что бот запущен: python new_bot.py
  2. Убедитесь, что порт 8000 свободен
  3. Проверьте конфигурацию в config_local.py

Проблема: GlitchTip не отвечает

Симптомы: http://localhost:8000 не открывается

Решение:

# Проверка контейнера
docker-compose logs glitchtip

# Перезапуск
docker-compose restart glitchtip

# Проверка порта
netstat -tlnp | grep 8000

Проблема: Алерты не приходят

Симптомы: Ошибки есть, но уведомления не приходят

Решение:

  1. Проверьте DEVELOPER_CHAT_ID в конфигурации
  2. Убедитесь, что бот добавлен в чат
  3. Проверьте права бота в чате

Проблема: Логи не записываются

Симптомы: Файл bot.log не обновляется

Решение:

  1. Проверьте права на запись в папку
  2. Убедитесь, что логгер инициализирован
  3. Проверьте уровень логирования в конфигурации

🔧 Настройка и конфигурация

Добавление новых метрик:

# В core/monitoring.py
self.new_metric = Counter('telegram_bot_custom_total', 'Description')

# В handlers
metrics.new_metric.labels(type='example').inc()

Добавление новых алертов:

# В core/alerts.py
self.alert_rules['new_alert'] = {
    'enabled': True,
    'threshold': 50,
    'cooldown': 300,
    'last_alert': None
}

Настройка уведомлений:

# В config_local.py
TELEGRAM_TOKEN = "your-bot-token"
CHAT_ID = "your-chat-id"
ENABLE_DEVELOPER_NOTIFICATIONS = True

📊 Мониторинг мониторинга

Health checks:

1. Проверка бота:

# Отправьте тестовое сообщение боту
# Проверьте ответ в течение 10 секунд

2. Проверка метрик:

curl -s http://localhost:8000/metrics | grep "telegram_bot_status" | grep "1"

3. Проверка GlitchTip:

curl -s http://localhost:8000/api/1/projects/ | grep -q "name" && echo "GlitchTip OK"

Автоматические проверки:

# Запустите автопроверку
python setup_monitoring.py

# Запустите тесты
python final_test.py

🚀 Оптимизация производительности

Для высоких нагрузок:

  1. Кеширование метрик:
# Используйте Redis для кеширования
REDIS_URL = "redis://localhost:6379"
  1. Сэмплирование:
# В monitoring.py
traces_sample_rate = 0.1  # 10% сэмплирование
  1. Асинхронные алерты:
# Используйте asyncio для отправки уведомлений
await self._send_telegram_alert_async(...)

Масштабирование:

  1. Отдельный сервер метрик:
# Prometheus на отдельном сервере
docker run -p 9090:9090 prom/prometheus
  1. Балансировка нагрузки:
# Nginx для распределения запросов
upstream metrics {
    server localhost:8000;
}

🔄 Обновление системы

При добавлении новых функций:

  1. Обновите метрики:
# Добавьте новые counters/histograms
self.new_feature_metric = Counter('telegram_bot_new_feature_total')
  1. Обновите документацию:
<!-- В MONITORING.md -->
### Новые метрики
- `telegram_bot_new_feature_total` - новые функции
  1. Добавьте тесты:
def test_new_feature_metric():
    assert metrics.new_feature_metric._value.get() >= 0
  1. Обновите конфигурацию:
# В config_local.py
NEW_FEATURE_ENABLED = True

📞 Эскалация проблем

Уровни поддержки:

🔴 Критические проблемы (немедленная реакция):

  • Бот полностью не работает
  • Критические ошибки в логах
  • Метрики недоступны
  • Алерты не приходят

🟡 Важные проблемы (в течение часа):

  • Отдельные функции не работают
  • Производительность снижена
  • Частые ошибки одного типа

🔵 Некритические проблемы (в течение дня):

  • Предупреждения в логах
  • Оптимизация производительности
  • Улучшение функциональности

Контакты:

  • Технический лид: Проверьте README_DEVELOPER.md
  • Команда: Используйте README_TEAM.md
  • Документация: Все инструкции в README файлах

📚 Полезные команды

Мониторинг:

# Просмотр логов
tail -f bot.log

# Проверка метрик
curl http://localhost:8000/metrics

# Статус GlitchTip
docker-compose logs glitchtip

Отладка:

# Тестирование системы
python final_test.py

# Проверка конфигурации
python setup_monitoring.py

# Тест метрик
python test_metrics_simple.py

Управление:

# Перезапуск GlitchTip
docker-compose restart glitchtip

# Остановка всех сервисов
docker-compose down

# Просмотр логов всех контейнеров
docker-compose logs -f

🎯 Рекомендации по поддержке

Ежедневно:

  1. Проверяйте основные метрики
  2. Просматривайте логи на наличие ошибок
  3. Убедитесь, что алерты приходят

Еженедельно:

  1. Анализируйте тренды метрик
  2. Проверяйте производительность
  3. Обновляйте документацию при изменениях

Ежемесячно:

  1. Проводите полное тестирование системы
  2. Обновляйте зависимости
  3. Планируйте улучшения

Система мониторинга настроена для легкой поддержки и развития! 🚀

Для команды поддержки: используйте этот документ для быстрого решения проблем