mirror of
https://github.com/FerraSoft/bottohelp.git
synced 2026-08-06 21:55:03 +00:00
8.3 KiB
8.3 KiB
🛠 Поддержка системы мониторинга
📞 Руководство по поддержке и 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 возвращает пустой ответ
Решение:
- Проверьте, что бот запущен:
python new_bot.py - Убедитесь, что порт 8000 свободен
- Проверьте конфигурацию в
config_local.py
Проблема: GlitchTip не отвечает
Симптомы: http://localhost:8000 не открывается
Решение:
# Проверка контейнера
docker-compose logs glitchtip
# Перезапуск
docker-compose restart glitchtip
# Проверка порта
netstat -tlnp | grep 8000
Проблема: Алерты не приходят
Симптомы: Ошибки есть, но уведомления не приходят
Решение:
- Проверьте
DEVELOPER_CHAT_IDв конфигурации - Убедитесь, что бот добавлен в чат
- Проверьте права бота в чате
Проблема: Логи не записываются
Симптомы: Файл bot.log не обновляется
Решение:
- Проверьте права на запись в папку
- Убедитесь, что логгер инициализирован
- Проверьте уровень логирования в конфигурации
🔧 Настройка и конфигурация
Добавление новых метрик:
# В 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
🚀 Оптимизация производительности
Для высоких нагрузок:
- Кеширование метрик:
# Используйте Redis для кеширования
REDIS_URL = "redis://localhost:6379"
- Сэмплирование:
# В monitoring.py
traces_sample_rate = 0.1 # 10% сэмплирование
- Асинхронные алерты:
# Используйте asyncio для отправки уведомлений
await self._send_telegram_alert_async(...)
Масштабирование:
- Отдельный сервер метрик:
# Prometheus на отдельном сервере
docker run -p 9090:9090 prom/prometheus
- Балансировка нагрузки:
# Nginx для распределения запросов
upstream metrics {
server localhost:8000;
}
🔄 Обновление системы
При добавлении новых функций:
- Обновите метрики:
# Добавьте новые counters/histograms
self.new_feature_metric = Counter('telegram_bot_new_feature_total')
- Обновите документацию:
<!-- В MONITORING.md -->
### Новые метрики
- `telegram_bot_new_feature_total` - новые функции
- Добавьте тесты:
def test_new_feature_metric():
assert metrics.new_feature_metric._value.get() >= 0
- Обновите конфигурацию:
# В 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
🎯 Рекомендации по поддержке
Ежедневно:
- Проверяйте основные метрики
- Просматривайте логи на наличие ошибок
- Убедитесь, что алерты приходят
Еженедельно:
- Анализируйте тренды метрик
- Проверяйте производительность
- Обновляйте документацию при изменениях
Ежемесячно:
- Проводите полное тестирование системы
- Обновляйте зависимости
- Планируйте улучшения
Система мониторинга настроена для легкой поддержки и развития! 🚀
Для команды поддержки: используйте этот документ для быстрого решения проблем