mirror of
https://github.com/FerraSoft/bottohelp.git
synced 2026-08-06 21:55:03 +00:00
Подготовка к релизу
This commit is contained in:
@@ -0,0 +1,305 @@
|
||||
# 🛠 Поддержка системы мониторинга
|
||||
|
||||
## 📞 Руководство по поддержке и troubleshooting
|
||||
|
||||
---
|
||||
|
||||
## 🔍 Диагностика проблем
|
||||
|
||||
### **Проверка статуса системы:**
|
||||
|
||||
#### 1. **Метрики Prometheus**
|
||||
```bash
|
||||
curl http://localhost:8000/metrics | grep telegram_bot
|
||||
```
|
||||
Ожидаемый результат: метрики ошибок, команд, пользователей
|
||||
|
||||
#### 2. **GlitchTip**
|
||||
```bash
|
||||
curl http://localhost:8000/api/1/projects/
|
||||
```
|
||||
Ожидаемый результат: список проектов
|
||||
|
||||
#### 3. **Логи бота**
|
||||
```bash
|
||||
tail -f bot.log | grep -E "(ERROR|CRITICAL)"
|
||||
```
|
||||
Ожидаемый результат: отсутствие критических ошибок
|
||||
|
||||
#### 4. **Статус Docker контейнеров**
|
||||
```bash
|
||||
docker-compose ps
|
||||
```
|
||||
Ожидаемый результат: все сервисы в статусе "Up"
|
||||
|
||||
---
|
||||
|
||||
## 🐛 Распространенные проблемы
|
||||
|
||||
### **Проблема: Метрики не собираются**
|
||||
**Симптомы:** `curl http://localhost:8000/metrics` возвращает пустой ответ
|
||||
|
||||
**Решение:**
|
||||
1. Проверьте, что бот запущен: `python new_bot.py`
|
||||
2. Убедитесь, что порт 8000 свободен
|
||||
3. Проверьте конфигурацию в `config_local.py`
|
||||
|
||||
### **Проблема: GlitchTip не отвечает**
|
||||
**Симптомы:** http://localhost:8000 не открывается
|
||||
|
||||
**Решение:**
|
||||
```bash
|
||||
# Проверка контейнера
|
||||
docker-compose logs glitchtip
|
||||
|
||||
# Перезапуск
|
||||
docker-compose restart glitchtip
|
||||
|
||||
# Проверка порта
|
||||
netstat -tlnp | grep 8000
|
||||
```
|
||||
|
||||
### **Проблема: Алерты не приходят**
|
||||
**Симптомы:** Ошибки есть, но уведомления не приходят
|
||||
|
||||
**Решение:**
|
||||
1. Проверьте `DEVELOPER_CHAT_ID` в конфигурации
|
||||
2. Убедитесь, что бот добавлен в чат
|
||||
3. Проверьте права бота в чате
|
||||
|
||||
### **Проблема: Логи не записываются**
|
||||
**Симптомы:** Файл `bot.log` не обновляется
|
||||
|
||||
**Решение:**
|
||||
1. Проверьте права на запись в папку
|
||||
2. Убедитесь, что логгер инициализирован
|
||||
3. Проверьте уровень логирования в конфигурации
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Настройка и конфигурация
|
||||
|
||||
### **Добавление новых метрик:**
|
||||
|
||||
```python
|
||||
# В core/monitoring.py
|
||||
self.new_metric = Counter('telegram_bot_custom_total', 'Description')
|
||||
|
||||
# В handlers
|
||||
metrics.new_metric.labels(type='example').inc()
|
||||
```
|
||||
|
||||
### **Добавление новых алертов:**
|
||||
|
||||
```python
|
||||
# В core/alerts.py
|
||||
self.alert_rules['new_alert'] = {
|
||||
'enabled': True,
|
||||
'threshold': 50,
|
||||
'cooldown': 300,
|
||||
'last_alert': None
|
||||
}
|
||||
```
|
||||
|
||||
### **Настройка уведомлений:**
|
||||
|
||||
```python
|
||||
# В config_local.py
|
||||
TELEGRAM_TOKEN = "your-bot-token"
|
||||
CHAT_ID = "your-chat-id"
|
||||
ENABLE_DEVELOPER_NOTIFICATIONS = True
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📊 Мониторинг мониторинга
|
||||
|
||||
### **Health checks:**
|
||||
|
||||
#### 1. **Проверка бота:**
|
||||
```bash
|
||||
# Отправьте тестовое сообщение боту
|
||||
# Проверьте ответ в течение 10 секунд
|
||||
```
|
||||
|
||||
#### 2. **Проверка метрик:**
|
||||
```bash
|
||||
curl -s http://localhost:8000/metrics | grep "telegram_bot_status" | grep "1"
|
||||
```
|
||||
|
||||
#### 3. **Проверка GlitchTip:**
|
||||
```bash
|
||||
curl -s http://localhost:8000/api/1/projects/ | grep -q "name" && echo "GlitchTip OK"
|
||||
```
|
||||
|
||||
### **Автоматические проверки:**
|
||||
```bash
|
||||
# Запустите автопроверку
|
||||
python setup_monitoring.py
|
||||
|
||||
# Запустите тесты
|
||||
python final_test.py
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Оптимизация производительности
|
||||
|
||||
### **Для высоких нагрузок:**
|
||||
|
||||
1. **Кеширование метрик:**
|
||||
```python
|
||||
# Используйте Redis для кеширования
|
||||
REDIS_URL = "redis://localhost:6379"
|
||||
```
|
||||
|
||||
2. **Сэмплирование:**
|
||||
```python
|
||||
# В monitoring.py
|
||||
traces_sample_rate = 0.1 # 10% сэмплирование
|
||||
```
|
||||
|
||||
3. **Асинхронные алерты:**
|
||||
```python
|
||||
# Используйте asyncio для отправки уведомлений
|
||||
await self._send_telegram_alert_async(...)
|
||||
```
|
||||
|
||||
### **Масштабирование:**
|
||||
|
||||
1. **Отдельный сервер метрик:**
|
||||
```bash
|
||||
# Prometheus на отдельном сервере
|
||||
docker run -p 9090:9090 prom/prometheus
|
||||
```
|
||||
|
||||
2. **Балансировка нагрузки:**
|
||||
```bash
|
||||
# Nginx для распределения запросов
|
||||
upstream metrics {
|
||||
server localhost:8000;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Обновление системы
|
||||
|
||||
### **При добавлении новых функций:**
|
||||
|
||||
1. **Обновите метрики:**
|
||||
```python
|
||||
# Добавьте новые counters/histograms
|
||||
self.new_feature_metric = Counter('telegram_bot_new_feature_total')
|
||||
```
|
||||
|
||||
2. **Обновите документацию:**
|
||||
```markdown
|
||||
<!-- В MONITORING.md -->
|
||||
### Новые метрики
|
||||
- `telegram_bot_new_feature_total` - новые функции
|
||||
```
|
||||
|
||||
3. **Добавьте тесты:**
|
||||
```python
|
||||
def test_new_feature_metric():
|
||||
assert metrics.new_feature_metric._value.get() >= 0
|
||||
```
|
||||
|
||||
4. **Обновите конфигурацию:**
|
||||
```python
|
||||
# В config_local.py
|
||||
NEW_FEATURE_ENABLED = True
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📞 Эскалация проблем
|
||||
|
||||
### **Уровни поддержки:**
|
||||
|
||||
#### 🔴 **Критические проблемы** (немедленная реакция):
|
||||
- Бот полностью не работает
|
||||
- Критические ошибки в логах
|
||||
- Метрики недоступны
|
||||
- Алерты не приходят
|
||||
|
||||
#### 🟡 **Важные проблемы** (в течение часа):
|
||||
- Отдельные функции не работают
|
||||
- Производительность снижена
|
||||
- Частые ошибки одного типа
|
||||
|
||||
#### 🔵 **Некритические проблемы** (в течение дня):
|
||||
- Предупреждения в логах
|
||||
- Оптимизация производительности
|
||||
- Улучшение функциональности
|
||||
|
||||
### **Контакты:**
|
||||
- **Технический лид:** Проверьте `README_DEVELOPER.md`
|
||||
- **Команда:** Используйте `README_TEAM.md`
|
||||
- **Документация:** Все инструкции в README файлах
|
||||
|
||||
---
|
||||
|
||||
## 📚 Полезные команды
|
||||
|
||||
### **Мониторинг:**
|
||||
```bash
|
||||
# Просмотр логов
|
||||
tail -f bot.log
|
||||
|
||||
# Проверка метрик
|
||||
curl http://localhost:8000/metrics
|
||||
|
||||
# Статус GlitchTip
|
||||
docker-compose logs glitchtip
|
||||
```
|
||||
|
||||
### **Отладка:**
|
||||
```bash
|
||||
# Тестирование системы
|
||||
python final_test.py
|
||||
|
||||
# Проверка конфигурации
|
||||
python setup_monitoring.py
|
||||
|
||||
# Тест метрик
|
||||
python test_metrics_simple.py
|
||||
```
|
||||
|
||||
### **Управление:**
|
||||
```bash
|
||||
# Перезапуск GlitchTip
|
||||
docker-compose restart glitchtip
|
||||
|
||||
# Остановка всех сервисов
|
||||
docker-compose down
|
||||
|
||||
# Просмотр логов всех контейнеров
|
||||
docker-compose logs -f
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎯 Рекомендации по поддержке
|
||||
|
||||
### **Ежедневно:**
|
||||
1. Проверяйте основные метрики
|
||||
2. Просматривайте логи на наличие ошибок
|
||||
3. Убедитесь, что алерты приходят
|
||||
|
||||
### **Еженедельно:**
|
||||
1. Анализируйте тренды метрик
|
||||
2. Проверяйте производительность
|
||||
3. Обновляйте документацию при изменениях
|
||||
|
||||
### **Ежемесячно:**
|
||||
1. Проводите полное тестирование системы
|
||||
2. Обновляйте зависимости
|
||||
3. Планируйте улучшения
|
||||
|
||||
---
|
||||
|
||||
**Система мониторинга настроена для легкой поддержки и развития!** 🚀
|
||||
|
||||
*Для команды поддержки: используйте этот документ для быстрого решения проблем*
|
||||
Reference in New Issue
Block a user