НейроАгент

Как исправить отображение трафика в 3x-ui

Решение проблемы с отображением трафика клиентов в панели 3x-ui. Пошаговое устранение ошибки 'Failed to fetch Xray traffic' с EOF. Инструкция по проверке конфигурации и обновлению компонентов.

Что делать, если не отображается трафик клиентов и их онлайн-статус в панели 3x-ui?

В логах обнаружена ошибка:

DEBUG - Failed to fetch Xray traffic:rpc error: code = Unavailable desc = connection error: desc = "error reading server preface: EOF"

Порты, кажется, работают и не конфликтуют, но я не специалист. На VPS-сервере установлены последние версии xray и 3x-ui. Как решить эту проблему?

НейроАгент

The error “error reading server preface: EOF” typically indicates a communication breakdown between the 3x-ui panel and the Xray core, preventing traffic data collection. This is often caused by configuration mismatches, version conflicts, or communication protocol issues between the components.

Содержание

Основные причины проблемы

На основе исследования GitHub-issues, основные причины ошибки “Failed to fetch Xray traffic” с EOF-ошибкой включают:

  1. Несоответствие версий компонентов - между 3x-ui и xray-core
  2. Проблемы с конфигурацией - особенно с настройками логирования и статистики
  3. Ошибки в формате конфигурации - JSON-синтаксические ошибки
  4. Конфликты портов или процессов - перекрытие портов или зомби-процессы
  5. Проблемы с правами доступа - недостаточные права для чтения конфигурации

Как указано в issue #1684, эта ошибка возникает из-за проблем с запросом статистики от xray-core: QueryStats only works its own stats.Manager.

Пошаговое решение проблемы

1. Перезапуск сервисов

bash
systemctl restart x-ui
systemctl restart xray

2. Проверка статуса сервисов

bash
systemctl status x-ui
systemctl status xray

3. Проверка логов на наличие ошибок

bash
journalctl -u x-ui -f
journalctl -u xray -f

Важно: Если после перезапуска ошибка сохраняется, переходите к следующим шагам диагностики.

Проверка конфигурации Xray

1. Проверка файла конфигурации

bash
/usr/local/x-ui/x-ui xray check

2. Валидация JSON-формата

bash
cat /usr/local/x-ui/bin/config.json | python3 -m json.tool

3. Настройка логирования трафика

Согласно официальной документации, добавьте путь к access log в настройках:

  1. Перейдите в “Xray Configs”
  2. Установите путь к логу: ./access.log
  3. Сохраните и перезапустите xray

4. Проверка конфигурации inbound/outbound

Убедитесь, что все конфигурации корректны и не содержат синтаксических ошибок, особенно в настройках протоколов (VLESS, Vmess, Trojan и т.д.).

Решение конфликтов версий

1. Проверка совместимости версий

Проверьте совместимость версий 3x-ui и xray-core на официальном GitHub.

2. Обновление компонентов

bash
# Обновление 3x-ui
bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/main/install.sh)

# Проверка версии xray
/usr/local/x-ui/x-ui version

3. Ручная установка совместимой версии xray

Если автоматическое обновление не решает проблему, установите совместимую версию вручную.

4. Полная переустановка

В крайних случаях выполните полную переустановку:

bash
bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/main/install.sh) --remove

Дополнительные методы устранения

1. Очистка кэша и временных файлов

bash
rm -rf /tmp/x-ui-*
rm -rf /var/log/x-ui/*

2. Проверка прав доступа

bash
chown -R nobody:nogroup /usr/local/x-ui/
chmod -R 755 /usr/local/x-ui/

3. Проверка наличия конфликтующих процессов

bash
lsof -i :port_number
ps aux | grep xray

4. Тестирование конфигурации вручную

bash
/usr/local/x-ui/xray run -test -confdir /usr/local/x-ui/bin/

Профилактические меры

1. Регулярное резервное копирование конфигурации

bash
cp /usr/local/x-ui/bin/config.json /usr/local/x-ui/bin/config.json.bak

2. Мониторинг состояния сервисов

Настройте мониторинг с помощью cron:

bash
*/5 * * * * /usr/local/x-ui/x-ui check > /dev/null 2>&1

3. Своевременное обновление

Регулярно проверяйте наличие обновлений и устанавливайте их.

4. Использование стабильных версий

Избегайте использования бета-версий в рабочих средах.


Источники

  1. GitHub Issue #1684 - get xray traffic failed rpc error
  2. GitHub Issue #1784 - Panel won’t restart xray
  3. GitHub Issue #3178 - xray state: Not Running
  4. GitHub Issue #3301 - xray state: Not running
  5. GitHub Configuration Wiki
  6. GitHub Common questions and problems
  7. XTLS/Xray-core Discussion #4124 - EOF error with CDN

Заключение

  1. Основная проблема заключается в сбое коммуникации между 3x-ui и xray-core, что приводит к невозможности сбора статистики трафика.
  2. Наиболее эффективное решение - проверка и обновление компонентов, валидация конфигурации и устранение конфликтов версий.
  3. Для предотвращения проблем в будущем рекомендуется регулярно делать резервные копии конфигураций и использовать только совместимые версии компонентов.
  4. Если проблема сохраняется после всех предпринятых мер, стоит обратиться к сообществу разработчиков 3x-ui на GitHub для получения более специализированной помощи.

Обратите внимание, что эта проблема часто встречается при обновлении компонентов, поэтому всегда проверяйте совместимость версий перед установкой обновлений.