/admin/traffic отвечает на два вопроса, на которые не отвечают сигналы
аномалий. Обнаружение аномалий отвечает на вопрос «на кого стоит посмотреть».
Здесь — какой узел заполняется и кто потребил больше всех, и то и другое
выгружается.
Здесь ничего не хранится
Remnawave авторитетен для трафика, узлов и подключений. В этом репозитории нет таблицы для узла и нигде нет колонки для байта, потраченного клиентом: сверка записывает статус, срок, лимит трафика и лимит устройств — и намеренно не потребление. Поэтому обе половины этого экрана читаются из панели на каждом запросе, и истории нет. Её хранение было бы первым шагом к тому, чтобы у Omniflow появилось мнение о трафике, — а это ровно та граница, которую держит решение 0004. Что Omniflow добавляет — единственное, что может: связку. Идентификатор пользователя Remnawave, разрешённый в клиента, который им владеет, и ссылку на его профиль.Узлы
Отсортированы по нагрузке: сначала узлы с лимитом, по близости к нему, затем безлимитные по абсолютному расходу. Вопрос — «какой узел заполняется», и ответ должен быть сверху. Узел без лимита не показывает долю заполнения вместо 0%. Он не может заполняться, а отрисовка нуля отсортировала бы его среди пустых, тогда как ему вообще не место в этом списке.Самые активные пользователи
Пятьдесят крупнейших потребителей текущего цикла, с расходом за всё время рядом с цифрой цикла. Оба, потому что «за месяц» и «за всё время» — разные вопросы, и второй объясняет первый. Ранжирование говорит, как далеко оно посмотрело. Найти самых активных значит просмотреть всех пользователей, а панель отдаёт их страницами по пятьсот; отчёт останавливается после десяти страниц. Если он не дошёл до конца, экран сообщает, что рейтинг покрывает просмотренных пользователей из общего числа, которое сообщает панель. Усечённый рейтинг, поданный как полный, хуже отсутствия рейтинга. Пользователь, которого Omniflow не создавал, читается как «не связан», а не как ошибка. Кто-то завёл его прямо в панели или импорт не запускался — и то и другое реальные состояния.Выгрузка
GET /v1/panel/reports/traffic/export возвращает один CSV с колонкой section —
node и consumer.
Байты выгружаются без масштабирования. Гигабайт для одних читателей — 1000³,
для других 1024³, и выбор одного варианта в выгрузке делает файл неверным для
второй половины. Экран рисует двоичные единицы и подписывает их как таковые
(ГиБ, а не ГБ), потому что применяемое преобразование делит на 1024, и называть
это гигабайтом означало бы ошибиться на семь процентов на таком масштабе —
достаточно, чтобы арифметика оператора перестала сходиться со счётом хостера.
Права
Оба маршрута требуютcustomers.read. Значимая половина называет клиентов и их
потребление; цифры по узлам — менее чувствительная половина и идут вместе с ней.
Смежные страницы
Интеграция с Remnawave
Какие маршруты вызывает Omniflow и что делает адаптер, когда одного из них нет.
Владение данными
Какая система авторитетна для каждой категории данных.
Контроль рисков
Сигналы аномалий, включая метрику трафика, и для чего они вместо этого.
Отчёты о продажах и платежах
Что продано и дошли ли деньги.