Логи и отладка
Просмотр логов
Заголовок раздела «Просмотр логов»Логи в реальном времени
Заголовок раздела «Логи в реальном времени»# Следить за логами бота (live)docker compose logs -f remnawave-telegram-shop-bot
# Следить за логами БДdocker compose logs -f postgres
# Оба одновременноdocker compose logs -fИсторические логи
Заголовок раздела «Исторические логи»# Последние 100 строкdocker compose logs --tail 100 remnawave-telegram-shop-bot
# За определенный временной периодdocker compose logs \ --since 2024-11-10T10:00:00 \ --until 2024-11-10T11:00:00 \ remnawave-telegram-shop-bot
# Все доступные логиdocker compose logs remnawave-telegram-shop-bot > /tmp/bot-logs.txtУровни логирования
Заголовок раздела «Уровни логирования»Логи ошибок
Заголовок раздела «Логи ошибок»# Показать только ошибкиdocker compose logs remnawave-telegram-shop-bot | grep -i error
# С контекстомdocker compose logs remnawave-telegram-shop-bot | grep -A 5 -B 5 "error"Частые ошибки:
connection refused- Сервис недоступенpermission denied- Ошибка доступаtimeout- Медленный ответinvalid token- Ошибка аутентификации
Логи предупреждений
Заголовок раздела «Логи предупреждений»docker compose logs remnawave-telegram-shop-bot | grep -i warningИнформационные логи
Заголовок раздела «Информационные логи»docker compose logs remnawave-telegram-shop-bot | grep -i "info\|started"Частые паттерны логов
Заголовок раздела «Частые паттерны логов»При запуске
Заголовок раздела «При запуске»[INFO] Starting bot[INFO] Connecting to database[INFO] Database connection established[INFO] Loading configuration[INFO] Bot ready for commandsОбработка платежей
Заголовок раздела «Обработка платежей»[INFO] Payment received from user 123456789[INFO] Processing payment via yookassa[INFO] Activating subscription for user[INFO] Subscription activated successfully[ERROR] Failed to connect to database: connection refused[ERROR] Invalid API token[ERROR] User not found in Remnawave[ERROR] Webhook signature verification failedФильтрация логов
Заголовок раздела «Фильтрация логов»По компоненту
Заголовок раздела «По компоненту»# Логи БДdocker compose logs remnawave-telegram-shop-bot | grep -i "database\|db\|postgres"
# Логи платежейdocker compose logs remnawave-telegram-shop-bot | grep -i "payment\|yookassa\|crypto\|stars"
# Логи пользователейdocker compose logs remnawave-telegram-shop-bot | grep -i "user\|subscription"
# Логи APIdocker compose logs remnawave-telegram-shop-bot | grep -i "api\|remnawave"По серьезности
Заголовок раздела «По серьезности»# Ошибкиdocker compose logs remnawave-telegram-shop-bot | grep ERROR
# Предупрежденияdocker compose logs remnawave-telegram-shop-bot | grep WARNING
# Информацияdocker compose logs remnawave-telegram-shop-bot | grep INFOПо пользователю
Заголовок раздела «По пользователю»# Конкретный пользовательdocker compose logs remnawave-telegram-shop-bot | grep "123456789"
# Недавняя активностьdocker compose logs remnawave-telegram-shop-bot | grep -i "user" | tail -20Отладка конкретных проблем
Заголовок раздела «Отладка конкретных проблем»Отладка БД
Заголовок раздела «Отладка БД»# Подключитесь напрямуюdocker compose exec postgres \ psql -U remnawave -d remnawave
# Проверьте соединенияSELECT * FROM pg_stat_activity;
# Список таблиц\dt
# Проверьте конкретную таблицуSELECT COUNT(*) FROM subscriptions;Отладка платежей
Заголовок раздела «Отладка платежей»# Просмотрите логи платежейdocker compose logs remnawave-telegram-shop-bot | grep -A 10 "payment"
# Проверьте статус транзакцииdocker compose logs remnawave-telegram-shop-bot | grep "transaction\|order"
# Ответы APIdocker compose logs remnawave-telegram-shop-bot | grep "response\|status"Отладка действий пользователей
Заголовок раздела «Отладка действий пользователей»# Пользователь запустил ботаdocker compose logs remnawave-telegram-shop-bot | grep "user.*start\|/start"
# Пользователь сделал платежdocker compose logs remnawave-telegram-shop-bot | grep "user.*payment"
# Пользователь оформил подпискуdocker compose logs remnawave-telegram-shop-bot | grep "subscription.*created"Продвинутая отладка
Заголовок раздела «Продвинутая отладка»Увеличьте уровень логирования
Заголовок раздела «Увеличьте уровень логирования»Отредактируйте docker-compose.yaml:
environment: LOG_LEVEL: DEBUGПерезагрузитесь:
docker compose up -dСохранение логов в файл
Заголовок раздела «Сохранение логов в файл»# Непрерывное логированиеdocker compose logs -f remnawave-telegram-shop-bot > /var/log/bot.log 2>&1 &
# Следите за файломtail -f /var/log/bot.logРотация логов
Заголовок раздела «Ротация логов»# Создайте конфиг logrotatesudo tee /etc/logrotate.d/remnawave-bot > /dev/null <<EOF/var/log/bot.log { daily rotate 7 compress delaycompress missingok notifempty}EOFСохранение логов для анализа
Заголовок раздела «Сохранение логов для анализа»# Создайте архив логовdocker compose logs remnawave-telegram-shop-bot > logs_$(date +%Y%m%d).txtgzip logs_*.txt
# Сохраните на внешнее хранилищеscp logs_*.txt.gz backup@server:/backups/Инструменты анализа логов
Заголовок раздела «Инструменты анализа логов»Поиск ошибок
Заголовок раздела «Поиск ошибок»docker compose logs remnawave-telegram-shop-bot | \ grep -E "ERROR|FATAL|failed" | \ wc -l # Подсчитайте ошибкиАнализ по временной шкале
Заголовок раздела «Анализ по временной шкале»# Группируйте по часамdocker compose logs remnawave-telegram-shop-bot | \ grep ERROR | \ awk '{print $1}' | \ sort | uniq -cАнализ производительности
Заголовок раздела «Анализ производительности»# Найдите медленные операцииdocker compose logs remnawave-telegram-shop-bot | \ grep "duration\|time" | \ sort -k3 -nr | head -10Связанные логи
Заголовок раздела «Связанные логи»Логи системы Docker
Заголовок раздела «Логи системы Docker»# Логи демона Dockerdocker logs $(docker compose ps -q remnawave-telegram-shop-bot) -f
# События контейнераdocker events --filter type=containerСистемные логи
Заголовок раздела «Системные логи»# Логи Linux системыjournalctl -u docker -f
# Проверьте свободное местоdf -hБезопасность логов
Заголовок раздела «Безопасность логов»⚠️ Важно: Логи могут содержать:
- ID пользователей
- Детали транзакций
- API ключи (если неправильно настроено)
- Чувствительную системную информацию
Лучшие практики:
- ✅ Ограничьте доступ к логам
- ✅ Регулярно ротируйте логи
- ✅ Архивируйте старые логи
- ✅ Никогда не делитесь логами публично с ключами
- ❌ Не логируйте пароли/токены
Отладка с помощью логов
Заголовок раздела «Отладка с помощью логов»Проблема: Бот не отвечает
Заголовок раздела «Проблема: Бот не отвечает»docker compose logs remnawave-telegram-shop-bot | grep -E "ERROR|failed|starting"Проблема: Платежи не работают
Заголовок раздела «Проблема: Платежи не работают»docker compose logs remnawave-telegram-shop-bot | grep -i "payment\|yookassa"Проблема: Медленная работа
Заголовок раздела «Проблема: Медленная работа»docker compose logs remnawave-telegram-shop-bot | grep "duration\|slow\|timeout"Проблема: Ошибки БД
Заголовок раздела «Проблема: Ошибки БД»docker compose logs postgres | grep -E "ERROR|failed"Когда собирать логи
Заголовок раздела «Когда собирать логи»Перед открытием issue/обращением в поддержку:
- Воспроизведите проблему
- Соберите логи:
docker compose logs > issue.log - Включите последние 50-100 строк
- Удалите чувствительные данные
- Опишите предпринятые шаги
- Включите конфигурацию (без секретов)