... * Из плюсов - он работает точно, способен выдерживать существенную нагрузку, в нём можно более гибко настраивать фильтры, работает заметно быстрей и позволяет анализировать нагрузку на канал. h1. Структура файлов Детальная статистика для учетных записей хранится в папке: {code}/app/collector/var/stat/binstat/{code} Например, заполняем статистику за декабрь 2015 для учетной записи с id 297: # Создаем папку 201512 (год и месяц), в ней создаем папку с 297 (id учетки). # В ней создаем (или копируем с биллинга, на котором есть статистика) файлы: #* days_297.bstat #* main_01_297.bstat - статистика за 1 число #* main_23_297.bstat - статистика за 23 число #* topd_297.bstat - топ статистики по дням #* topm_297.bstat - топ статистики за месяц #* total_297.bstat - суммарное статистика за месяц h2. Содержимое файлов h3. Структура таблицы Направление (Входящий / Исходящий) Время начала Время конца IP ресурса Sport Dport [Протокол|https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers] Объем Не используется (оставлено для совместимости с Carbon Billing 4, ID тарифа) [Подсеть|CarbonBilling:Правила и сети] Не используется (оставлено для совместимости с Carbon Billing 4, ID правила в подсети) Не используется (оставлено для совместимости с Carbon Billing 4, стоимость трафика) SNAT-адрес h3. total_297.bstat {code} -1 1448232589 1446695036 000.000.000.000 0 0 0 8008274647 0 0 0 0 000.000.000.000 1 1448232589 1446695036 000.000.000.000 0 0 0 645240342 0 0 0 0 000.000.000.000 {code} h3. days_297.bstat {code} -1 1446315474 1446400778 000.000.000.000 0 0 0 25275819 0 0 0 0 000.000.000.000 1 1446315305 1446400778 000.000.000.000 0 0 0 4247052 0 0 0 0 000.000.000.000 -1 1446400973 1446487083 000.000.000.000 0 0 0 4023584430 0 0 0 0 000.000.000.000 1 1446400973 1446487083 000.000.000.000 0 0 0 237694446 0 0 0 0 000.000.000.000 {code} h3. main_01_297.bstat {code} -1 1446315474 1446315474 010.004.001.083 138 138 17 705 0 0 0 0 000.000.000.000 1 1446315305 1446315367 111.221.029.253 0 443 6 2143 0 2 0 0 000.000.000.000 -1 1446315306 1446315367 111.221.029.253 443 0 6 4405 0 2 0 0 000.000.000.000 1 1446314769 1446315474 010.004.255.255 138 138 17 1163 0 0 0 0 000.000.000.000 -1 1446314769 1446314769 000.000.000.000 0 0 17 458 0 0 0 0 000.000.000.000 1 1446314756 1446315986 217.069.139.074 0 995 6 19702 0 2 0 0 000.000.000.000 -1 1446314756 1446315986 217.069.139.074 995 0 6 420507 0 2 0 0 000.000.000.000 1 1446314756 1446315906 188.166.049.110 0 110 6 1920 0 2 0 0 000.000.000.000 -1 1446314756 1446315906 000.000.000.000 0 0 6 1600 0 2 0 0 000.000.000.000 1 1446314756 1446315986 010.004.001.083 53 0 17 7395 0 0 0 0 000.000.000.000 -1 1446314756 1446315986 010.004.001.001 53 0 17 7395 0 0 0 0 000.000.000.000 1 1446314685 1446315975 173.194.222.109 0 993 6 8235 0 2 0 0 000.000.000.000 -1 1446314686 1446315976 173.194.222.109 993 0 6 8025 0 2 0 0 000.000.000.000 1 1446314660 1446315987 000.000.000.000 65535 65535 6 8400 0 2 0 0 000.000.000.000 -1 1446314660 1446315987 000.000.000.000 65535 65535 6 6400 0 2 0 0 000.000.000.000 1 1446314661 1446315962 000.000.000.000 65535 65535 17 6319 0 2 0 0 000.000.000.000 -1 1446314661 1446315962 000.000.000.000 65535 65535 17 9727 0 2 0 0 000.000.000.000 {code} h3. topd_297.bstat {code} 1 1446686278 1446687004 178.062.227.067 0 0 0 59840 0 2 0 0 000.000.000.000 -1 1446687796 1446687796 087.242.088.094 0 0 0 59556 0 2 0 0 000.000.000.000 -1 1446695166 1446695166 185.005.137.202 0 0 0 57665 0 2 0 0 000.000.000.000 1 1446694623 1446694912 111.221.026.251 0 0 0 55088 0 2 0 0 000.000.000.000 1 1446694986 1446694986 091.227.068.116 0 0 0 54901 0 2 0 0 000.000.000.000 1 1446629375 1446629500 093.170.027.073 0 0 0 54687 0 2 0 0 000.000.000.000 -1 1446631641 1446631729 199.080.054.050 0 0 0 53364 0 2 0 0 000.000.000.000 {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}
|