|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (9)
просмотр истории страницы{toc:maxLevel=3} |
|
h1. Статус поддержки развития bstatd |
{warning}Демон сбора и хранения статистики *bstatd* не является частью биллингового функционала.{warning} |
|
{warning}Демон статистики bstatd - предоставляется без гарантий правильной работы и без возможности работы под большой нагрузкой.{warning} |
*Развитие службы агрегации детальной статистики bstatd завершено*, новые функции в ней уже не появляются. |
|
В будущем поддержка bstatd, вероятно, будет убрана из биллинга и заменена на стандартный nfcapd с обвязкой скриптами. |
Из известных проблем - ошибки в подсчёте объёмов трафика по ресурсам, учёт только исходящего трафика при обработке Netflow v9, невозможность работы под большой нагрузкой. Так bstatd [не участвует в процессе биллинга|CarbonBilling:Описание работы служб сбора статистики], эти проблемы нельзя считать критичными для работы системы. |
|
Если представленных функций или точности работы службы Вам не достаточно, можете попробовать использовать [*более гибкий инструмент Nfsen*|CarbonBilling:nfsen]: * Из минусов - он не интегрирован в интерфейс биллинга и собранная для него статистика занимает больше места. * Из плюсов - он работает точно, способен выдерживать существенную нагрузку, в нём можно более гибко настраивать фильтры, работает заметно быстрей и позволяет анализировать нагрузку на канал. |
h1. Структура файлов Детальная статистика для учетных записей хранится в папке: |
... |
{code} И так далее. |
h1. Запросы из командной строки Пример выборки кто ходил на адрес 8.8.8.8 в период с 03.12.2010 00.00 по 03.12.2010 23.59 {code} chroot /app/collector /usr/local/bin/bstat2xml -i 8.8.8.8 -t 1291334400-$((1291334400+24*3600)) -o /tmp/guvd.xml -u 1 -f {code} Для перевода даты 2018-10-29 10:50:00 часовой пояс UTC в unixtime используйте ниже приведенную команду или онлайн-конвертер {code} date -d "2018-10-29 10:50:00 UTC" +%s {code} Пример выборки абонентов кто обращался на подсеть адресов 87.240.128.0-87.240.191.255 в момент времени 10.04.2020 в 23:47:28 {code} chroot /app/collector /usr/local/bin/bstat2xml -i 87.240.128.0-87.240.191.255 -t 1586562448 -o /tmp/guvd.xml -u 1 -f {code} Выборка будет находиться в файле /tmp/guvd.xml В файле будут указаны user_id (id учетной записи абонента) Для поиска абонента по данному user_id можно использовать отчёт в конструкторе отчётов следующего содержания: {code} select a.name as "ФИО", a.contract_number as "Договор" from abonents a left join users u on u.abonent_id=a.id where u.id = (':user_id$') {code} Для вывода справки по утилите введите команду {code} chroot /app/collector /usr/local/bin/bstat2xml --help {code} h1. Особенности * Детальная статистика хранится по часовому поясу UTC, а не по часовому поясу сервера. И в выборке как в web интерфейсе, так и из командной строки время нужно задавать по часовому поясу UTC. Пример: Допустим нужно посмотреть статистику на 29.10.2018 14:20:32 часовой пояс Москва. По UTC это +3 часа то есть 11:20:32. В командной строке запрос на перевод времени будет выглядеть: {code} date -d "2018-10-29 11:20:32 UTC" +%s {code} * В выгрузке детальной статистики объём указан в байтах. Пример: {code} <size>3369</size> {code} h1. Решение проблем h4. Нет детальной статистики в учётной записи # Проверьте, что имеется корректная структура каталогов службы bstatd с помощью команды ls. Должны быть следующие каталоги: {code} /app/collector/var/stat/binstat /app/collector/var/stat/raw /app/collector/var/stat/agreg {code} # В каталоге /app/collector/var/stat/binstat находятся подкаталоги со структурой: /binstat/ГодМесяц/user_id То есть статистика по учётной записи 1234 за ноябрь 2019 года будет храниться в каталоге: {code} /app/collector/var/stat/binstat/201911/1234 {code} Проверьте есть ли каталог учётной записи за нужный период. h4. Не обрабатывается сырая статистика Накапливаются данные в каталоге сырой статистики: {code} /app/collector/var/stat/raw {code} Процесс *bstatd* был завершен неудачно не успев обработать статистику из папки /var/stat/raw . Перезапустите процесс, чтобы демон заново обработал эту статистику: {code} chroot /app/collector service bstatd restart {code} |