Разделы документации

G-SERVER Docs

Системные журналы и диагностика

Продвинутое руководство для администраторов по поиску причин критических сбоев с использованием ID задач, анализа структурированных событий и логов systemd, с полным соблюдением стандартов безопасности.

Важное примечание: Для 99% обычных владельцев серверов информации из блока состояния и визуального Журнала действий в веб-дашборде более чем достаточно для решения проблем. Консольные команды и методы диагностики, приведенные ниже, предназначены исключительно для технических специалистов (операторов), которые администрируют собственную, локальную (self-hosted) установку инфраструктуры G-SERVER на виртуальных выделенных серверах (VPS).

Протокол обращения в техническую поддержку

  • Всегда предоставляйте точный уникальный ID задачи (Task ID) или diagnostic ID, если интерфейс вывел его на экран.
  • Укажите точное название вашего Discord-сервера и имя проблемного модуля. КАТЕГОРИЧЕСКИ ЗАПРЕЩАЕТСЯ прикреплять BOT_SYNC_SECRET, любые пароли, сессионные cookie или лицензионные ключи Premium.
  • Зафиксируйте текущий статус проблемной задачи: 'в очереди', 'выполняется', 'подтверждено' или 'ошибка'.
  • Предоставьте точное время возникновения проблемы (обязательно с указанием вашего часового пояса UTC) и скопируйте полный, дословный текст последней системной ошибки.

Безопасные команды для диагностики VPS

sudo systemctl status discord-setuper.service --no-pager

Мгновенно проверяет жизненный цикл демона (uptime), использование памяти и выводит последние 10 строк консольного вывода абсолютно без риска прервать работу сервиса.

sudo journalctl -u discord-setuper.service --since "30 minutes ago" --no-pager

Извлекает хронологический журнал работы бота за строго ограниченный интервал (последние 30 минут). Для быстрого поиска проблем фильтруйте вывод по паттернам dashboard.sync.* и dashboard.bot_action.*.

sudo journalctl --disk-usage && df -h /

Инспектирует занимаемый объем подсистемы journald и свободное дисковое пространство. Помните: фатальные ошибки SQLite вида disk I/O error, сопровождаемые No space left on device, в 99% случаев означают банально переполненный жесткий диск сервера, а не логическое повреждение баз данных модуля.

Расшифровка частых системных сигнатур (Справочник ошибок)

  • dashboard.sync.authentication_rejected или HTTP 401 Unauthorized — Критический сбой: криптографический ключ BOT_SYNC_SECRET в конфигурации бота (.env) не совпадает с ключом в базе сайта. Решение: сгенерируйте новые безопасные fingerprint-хеши, ни в коем случае не печатая само значение секрета в консоль.
  • dashboard.bot_action.heartbeat_failed — Тревожный симптом: worker активно выполняет тяжелую задачу, но по причине сетевых сбоев временно не способен продлить свою блокировку (lock) через API сайта. Обычно проходит само.
  • No space left on device — Критическая аппаратная проблема. Экстренные меры: освободите место на диске, удалите старые, неиспользуемые release-каталоги, ограничьте лимит логов journald, после чего в обязательном порядке выполните проверку целостности (PRAGMA integrity_check) баз данных SQLite.
  • Forbidden (HTTP 403) или Missing Permissions — Классическая проблема Discord API: роль бота физически находится ниже управляемой им целевой роли в иерархии, либо у самого бота глобально отозвано конкретное, необходимое для операции разрешение (например, Manage Channels).

ПРАВИЛО НУЛЕВОГО ДОВЕРИЯ: Никогда, ни при каких обстоятельствах не отправляйте полный содержимое конфигурационного environment-файла (.env) или сырой, необработанный консольный журнал в публичные чаты поддержки. Перед любой передачей данных сторонним лицам используйте регулярные выражения для удаления (маскирования) строк: Authorization, token, secret, password, license_key и любых приватных URL-адресов.