QoE Stor (Модуль сбора статистики) [Документация VAS Experts]

Это старая версия документа!


7 Модуль QoE Stor

Модуль сбора и хранения данных для QoE аналитики

Введение

Модуль предназначен для сбора и хранения данных Нетфлоу и Кликстрим. Данные используются для анализа QoE в DPIUI2.

Архитектура

Данные от СКАТ DPI принимаются на нескольких сокетах (tcp или udp) c помощью утилиты приема IPFIX потоков данных.

Данные хранятся в БД ClickHouse.

Инсталляция и обновление

Рекомендации к оборудованию

Не устанавливайте модуль на сервер с DPI платформой!

Минимальные требования

Для подсистемы можно использовать оборудование или виртуальные машины со сл.характеристиками:

  1. Процессор (CPU) 2.5 ГГц - 1 шт
  2. Оперативная память (RAM) - от 16 Гб
  3. Жесткий диск (SSD крайне желательно) - от 500 Гб
  4. Операционная система - CentOS 7+ или CentOS 8+
  5. Сетевая плата (NIC) - от 1 Гбит/сек
Процессор

Требуется поддержка набора инструкций SSE 4.2.

Выбирайте процессоры с большим числом ядер. Тактовая частота менее важна. Например, 16 ядер с 2600 МГц лучше, чем 8 ядер 3600 МГц.

Не отчключайте Hyper-threading и Turbo-Boost.
Оперативная память

Памяти должно быть не меньше чем объем запрашиваемых данных.

Чем больше памяти, тем лучше производительность при построении отчетов.

Чем больше памяти, тем меньше нагрузка на диск.

Минимальное требование - 16Гб.

Всегда отключайте файл подкачки.

Жесткий диск

Требуемое место на диске от 16ГБ на каждый день хранения в зависимости от трафика. Подсчитано, что 10 Гбит/с среднесуточного трафика генерирует примерно 25 ГБ данных за один час в QoE Store.

Если ваш бюджет позволяет использовать SSD, используйте SSD (крайне рекомендуется). В противном случае используйте HDD. SATA HDDs 7200 RPM подойдут.

При использовании HDD можно объединить их RAID-10, RAID-5, RAID-6 или RAID-50.

Основной объем данных хранится в каталоге /var/lib/clickhouse.

Временные данные (дампы ipfix) хранятся в каталоге /var/qoestor/backend/dump.

Для лучшей производительности важно (рекомендуется), чтобы эти каталоги находились на отдельном диске или массиве.

Советы по эксплуатации от Яндекс ClickHouse

Советы по эксплуатации от Яндекс ClickHouse вы можете прочитать по ссылке https://clickhouse.yandex/docs/ru/operations/tips/.

Информация о версиях

Версия v.1.4.2 (01.06.2020)

  • Баг фикс

Версия v.1.4.0 (04.05.2020)

  • Поддержка совместимости с Clickhouse 20.3
  • Возможность установки на CentOS 8

Версия v.1.3.8 (09.04.2020)

  • Обновлены справочники протоколов
  • Добавлено автообновление справочника АС

Версия v.1.3.6 (25.11.2019)

  • Обновлены справочники протоколов

Версия v.1.3.5 (06.11.2019)

  • Исправлено поведение справочника локальных подсетей (попадали лишние адреса)
  • Адаптирована загрузка кликстрима для правильной работы ЛК в dpiui2-2.8.2

Версия v.1.3.4 (25.10.2019)

  • Locked в кликстрим

Версия v.1.3.3 (15.10.2019)

  • Обновление Кликхаус до последней версии ( >= 19.15 )
  • Улучшен метод загрузки и обработки логов
  • Подготовлена база для анализа сырых логов
  • Соединение логов Клистрим и Нетфлоу

Версия v.1.1.1 (06.09.2019)

  • Обновление Кликхаус до последней версии
  • Справочники asnum_exclude_diс, subnets_exclude_dic и соответствующий режим фильтрации по этим справочникам

Версия v.1.0.9 (21.02.2019)

  • Устранен баг с неверным распознаванием магистральных коммутаторов
  • Обновлен справочник protocols_dic

Версия v.1.0.7 хот фиксы (24.12.2018)

  • Предусмотрен реэкспорт ipfix в конфигах ресивера: IPFIX_FULLFLOW_EXPORT и IPFIX_CLICKSTREAM_EXPORT

Версия v.1.0.6 хот фиксы (04.12.2018)

  • Исправлены баги в работе справочника subnets_local_dic (типа A call to function range would produce 12884901882 array elements)
  • Исправлена конфигурация ресиверов ipfixreceiver2 (FileWriter queue is full. Records dropped.)

Версия v.1.0.5 (03.12.2018)

  • Справочники по Категориям хостов
  • Переход на ipfixreceiver2
  1. Перед обновлением не забудьте обновить скрипт установки (в разделе Инсталляция). Для обновления используйте скрипт установки.
  2. После обновления, проверьте, запустились ли ресиверы (netstat -nlpa | grep 1500 и netstat -nlpa | grep 1501). Сокеты должны прослушиваться ipfixreceiver2
  3. Если ресиверы не запустились, выполните скрипт sudo sh /var/qoestor/backend/qoestor-config.sh

Версия v.1.0.4 (02.11.2018)

  • Внедрена предагрегация, которая сокращает нетфлоу в 6-7 раз, кликстрим в 3 раза
  • Внедрены справочники: абоненты, коммутаторы, автономные системы (AS), crc
  • Добавлена опция определения направления трафика и фильтрация абонентов (разделение IP хостов и IP абонентов) по AS и CIDR. Опция актуальна в случае установки СКАТ DPI на зеркале.

Данная версия QoE Stor работает с версией DPIUI2-2.1.5+

Если вы успели поставить версию 1.0.0, перед установкой новой версии необходимо удалить БД (полная несовместимость версий). Для этого выполните команду
clickhouse-client --query="drop database qoestor"

Версия v.1.0.0 (20.09.2018)

  • Создан новый модуль – QoE Stor

Инсталляция

Перед установкой или обновлением проверьте наличие интернета. Запуски скриптов выполняйте из под root или sudo.
Проверьте правильность установки времени и временной зоны на сервере. При необходимости поправьте и перезапустите сервер.

Для установки или обновления в автоматическом режиме, выполните последовательно:

  1. Выполните скрипт fastor-rpm_install.sh.
    sudo wget https://vasexperts.ru/install/fastor-rpm_install.sh
    sudo sh fastor-rpm_install.sh

    Будет произведена установка rpm-пакетов: ipfixreceiver, clickhouse, fastor. Будет произведена автоматическая настройка согласно конфигурации.

  2. Выполните команду
    clickhouse-client -n < /var/qoestor/backend/etc/db/qoestor.sql

    Будет обновлена схема БД.

Не забывайте после установки выполнять
clickhouse-client -n < /var/qoestor/backend/etc/db/qoestor.sql

Это страхует случаи, когда схема не успевает обновиться в результате долгого перезапуска БД.

Обновление

Обновление выполняется теми же скриптами, что и в разделе Инсталляция.

Если вы выполнили команду yum –y update и перестали запускаться ресиверы, обратитесь к разделу решения проблем по ссылке.

Не забывайте после обновления выполнять
clickhouse-client -n < /var/qoestor/backend/etc/db/qoestor.sql

Это страхует случаи, когда схема не успевает обновиться в результате долгого перезапуска БД.

Конфигурация

Конфигурация ipfix ресиверов

Настройка ipfix ресиверов через файл .env

/var/qoestor/backend/.env

Стандартная конфигурация выглядит следующим образом

#Ipfix form DPI 0
IPFIX_FULLFLOW_PORT_TYPE[0]=tcp
IPFIX_FULLFLOW_PORT[0]=1500
#IPFIX_FULLFLOW_ROTATE_MINUTES[0]=10
#IPFIX_FULLFLOW_ROTATE_DELAY_SECONDS[0]=0
#IPFIX_FULLFLOW_FW_MAX_QUEUE_SIZE[0]=10
#IPFIX_FULLFLOW_EXPORT[0]=10.0.0.2/9920/tcp,10.0.0.3/3440/udp

IPFIX_CLICKSTREAM_PORT_TYPE[0]=tcp
IPFIX_CLICKSTREAM_PORT[0]=1501
#IPFIX_CLICKSTREAM_ROTATE_MINUTES[0]=12
#IPFIX_CLICKSTREAM_ROTATE_DELAY_SECONDS[0]=400
#IPFIX_CLICKSTREAM_FW_MAX_QUEUE_SIZE[0]=10
#IPFIX_CLICKSTREAM_EXPORT[0]=10.0.0.2/9921/tcp,10.0.0.3/3441/udp

#Traffic direction definition
# 0 - as is
# 1 - by AS (for fullflow only)
# 2 - by CIDR (for fullflow and clickstream)
# 3 - by both: AS and CIDR
# 4 - any: AS or CIDR
TRAFFIC_DIR_DEF_MODE=0

#Subscriber filter
# 0 - no filter
# 1 - by AS (for fullflow only)
# 2 - by CIDR (for fullflow and clickstream)
# 3 - by both: AS and CIDR
# 4 - any: AS or CIDR
SUBSCRIBER_FILTER_MODE=0

#Subscriber exclude
# 0 - no exclude
# 1 - by AS (for fullflow only)
# 2 - by CIDR (for fullflow and clickstream)
# 3 - by both: AS and CIDR
# 4 - any: AS or CIDR
SUBSCRIBER_EXCLUDE_MODE=0

#Enable host (url) categories dics autoload
URLS_CATEGORIES_DIC_AUTOLOAD_ENABLED=1

В представленной конфигурации настроен запуск fullflow и clickstream ресиверов на udp сокетах 1500 и 1501 соответственно. «0» в индексе массива означает, что прием идет от DPI под номером 0.

Лучше использовать tcp, т.к для udp могут теряться пакеты при превышении MTU.

Список параметров

  • IPFIX_FULLFLOW_PORT_TYPE[i] и IPFIX_CLICKSTREAM_PORT_TYPE[i] определяют тип трафика, принимаемого на порту: tcp или udp. Рекомендуется ставить tcp.
  • IPFIX_FULLFLOW_PORT[i] и IPFIX_CLICKSTREAM_PORT[i] определяют номер порта.
  • TRAFFIC_DIR_DEF_MODE и SUBSCRIBER_FILTER_MODE определяет режим фильтрации абонентов согласно справочникам asnum_local_dic и subnets_local_dic. Значения TRAFFIC_DIR_DEF_MODE=0 и SUBSCRIBER_FILTER_MODE=0 означают, что вычислять направление трафика и фильтровать абонентов не требуется.
  • SUBSCRIBER_EXCLUDE_MODE определяет режим фильтрации абонентов согласно справочникам asnum_exclude_diс и subnets_exclude_dic. Значение SUBSCRIBER_EXCLUDE_MODE=0 означает, что фильтрация не требуется.
  • IPFIX_FULLFLOW_EXPORT[i] и IPFIX_CLICKSTREAM_EXPORT[i] дают возможность настроить экспорт на сторонние ресиверы. Формат ip/port/proto[,ip/port/proto].
  • IPFIX_FULLFLOW_ROTATE_MINUTES[i] и IPFIX_CLICKSTREAM_ROTATE_MINUTES[i] дают возможность настроить период ротации дампов и запись их в БД. По умолчанию это 10 минут для fullflow и 12 минут для clickstream.
  • IPFIX_FULLFLOW_ROTATE_DELAY_SECONDS[i] и IPFIX_CLICKSTREAM_ROTATE_DELAY_SECONDS[i] дают возможность настроить задержку вставки данных на определенное количество секунд. По умолчанию для fullflow – 0 секунд, для clickstream – 400 секунд. Задержка для clickstream относительно fullflow нужна, чтобы обеспечить соединения логов fullflow и clickstream для обогащения статистических отчетов.
  • IPFIX_FULLFLOW_FW_MAX_QUEUE_SIZE[i] и IPFIX_CLICKSTREAM_FW_MAX_QUEUE_SIZE[i] определяют максимальный размер очереди на ресиверах. Лучше не трогать.
Если конфигурация изменилась, необходимо запустить скрипт sudo sh /var/qoestor/backend/qoestor-config.sh

Следующий пример конфигурации позволяет настроить прием от нескольких DPI

#Ipfix form DPI 0
IPFIX_FULLFLOW_PORT_TYPE[0]=tcp
IPFIX_FULLFLOW_PORT[0]=1500

IPFIX_CLICKSTREAM_PORT_TYPE[0]=tcp
IPFIX_CLICKSTREAM_PORT[0]=1501

#Ipfix form DPI 1
IPFIX_FULLFLOW_PORT_TYPE[1]=tcp
IPFIX_FULLFLOW_PORT[1]=1510

IPFIX_CLICKSTREAM_PORT_TYPE[1]=tcp
IPFIX_CLICKSTREAM_PORT[1]=1511

#Ipfix form DPI 2
IPFIX_FULLFLOW_PORT_TYPE[2]=tcp
IPFIX_FULLFLOW_PORT[2]=1520

IPFIX_CLICKSTREAM_PORT_TYPE[2]=tcp
IPFIX_CLICKSTREAM_PORT[2]=1521

Пример конфигурации, когда требуется определение абонентов по CIDR

Данная конфигурация актуальна в случаях, когда СКАТ DPI установлен на зеркале.

TRAFFIC_DIR_DEF_MODE=2
SUBSCRIBER_FILTER_MODE=2

Не забудьте настроить справочник subnets_local_dic для этого примера конфигурации!

Пример конфигурации, когда настроен экспорт на сторонние ресиверы

IPFIX_FULLFLOW_PORT_TYPE[0]=tcp
IPFIX_FULLFLOW_PORT[0]=1500
IPFIX_FULLFLOW_EXPORT[0]=10.0.0.2/1600/tcp

IPFIX_CLICKSTREAM_PORT_TYPE[0]=tcp
IPFIX_CLICKSTREAM_PORT[0]=1501
IPFIX_CLICKSTREAM_EXPORT[0]=10.0.0.2/1601/tcp
Перезапуск ресиверов

Перезапуск всех ресиверов можно выполнить командой

sudo sh /var/qoestor/backend/qoestor-config.sh

Если требуется перезапуск ресиверов по отдельности, это можно сделать через перезапуск сервисов, например так

  • Для CentOS 7
    systemctl restart qoestor_fullflow_0.service
    systemctl restart qoestor_clickstream_0.service
  • Для CentOS 6
    service qoestor_fullflow_0 stop
    service qoestor_clickstream_0 stop
    service qoestor_fullflow_0 start
    service qoestor_clickstream_0 start
Остановка ресиверов
  • Для CentOS 7
    systemctl stop qoestor_fullflow_0.service
    systemctl stop qoestor_clickstream_0.service
  • Для CentOS 6
    service qoestor_clickstream_0 stop
    service qoestor_fullflow_0 stop
Остановка и запуск БД clickhouse
  • Остановка
    sudo /etc/init.d/clickhouse-server stop
  • Запуск
    sudo /etc/init.d/clickhouse-server restart

Конфигурация DPI

Настройка экспорта

Версия DPI платформы д.б. не ниже 8.1.

Экспорт ipfix можно настроить, напрямую отредактировав файл fastdpi.conf на dpi.

netflow=8
netflow_dev=em1
netflow_timeout=10
netflow_full_collector_type=2
netflow_full_port_swap=0
netflow_full_collector=YOUR_QOESTOR_IP:1500
netflow_passive_timeout=20
netflow_active_timeout=60
netflow_rate_limit=120
ipfix_dev=em1
ipfix_tcp_collectors=YOUR_QOESTOR_IP:1501

Потребуется рестарт fastdpi, чтобы изменения вступили в силу.

Учтите, что параметр netflow – это битовая маска. Допускает несколько разных значений. Подробнее смотрите тут Настройка экспорта IPFIX

Также вы можете выполнить настройку с помощью DPIUI2 - dpiui2. Версия dpiui2 д.б не ниже 2.1.0.

Чтобы выполнить настройку с помощью DPIUI2, откройте раздел Управление DPI → Конфигурация. Откройте вкладку Сбор и анализ статистики по протоколам и направлениям.

Установите параметр neflow в Экспорт полной статистики по сессиям. См. рис. ниже.

Введите сокет fullflow ресивера в параметре netflow_full_collector. Параметр netflow_full_collector_type должен быть установлен в "Экспорт ipfix на udp колллектор", а параметр netflow_full_port_swap оставьте пустым или равным "Сохранять оригинальные номера портов". См. рис. ниже.

Введите сокет clickstream ресивера в параметре ipfix_udp_collectors. См. рис. ниже.

Нажмите Сохранить. Перезапустите fast_dpi.См. рис. ниже.

Присвоение номера DPI

Откройте раздел Управление оборудованием → Оборудование. Для каждого устройства введите Индентификатор на ipfix коллекторе. См. рис. ниже.

Настройка подключения DPIUI2 к QoE Stor

Чтобы просматривать QoE отчеты, необходимо настроить подключение DPIUI2 к QoE Stor. См. раздел Настройка подключения к QoE Stor

Конфигурация справочников

Все справчники находятся в папке /var/qoestor/backend/etc/db/ и имеют расширение .txt

Для каждого справочника есть образец sample.txt. Можно использовать в качестве шаблона.

Все столы в справочниках разеделены символом табуляции (\t). Колиество \t должно быть на единицу меньше, чем число столбцов в справочнике. Следите за этим внимательно.

При изменении файлов, данные подгружаются в БД автоматически.

Некоторые полезные команды при работе со справочниками:

  • Ускорить обновление данных в справочниках
    clickhouse-client --database=qoestor --query="system reload dictionaries"
  • Проверить, есть ли ошибки в справочниках
    clickhouse-client --database=qoestor --query="select * from system.dictionaries"
  • Проверить, есть ли данные в справочнике, например для subnets_local_dic
    clickhouse-client --database=qoestor --query="select * from subnets_local_dic"

Справочники asnum_local_dic и subnets_local_dic

В данных справочниках указывается список ваших локальных AS и локальных подсетей. Справочники используется для определения направления трафика (актуально, когда DPI установлен на зеркале) и фильтрации абонентов (чтобы в отчетах по абонентам не фигурировали IP-адреса хостов)

Пример справочника asnum_local_dic

12345	LOCAL
65535	UNKNOWN

Первый столбец - номер AS, второй - название (отображается в отчетах).

Пример справочника subnets_local_dic

192.168.1.0/24	LOCAL
10.64.66.0/24	LOCAL
172.16.0.0	LOCAL
2a02:2168:aaa:bbbb::2	LOCAL

Первый столбец - IP адрес или CIDR, второй – название (не отображается в отчетах, но формат справочника требует).

Не добавляйте слишком большую подсеть. Разбивайте на мелкие. Ограничение - 100000000

Справочники asnum_exclude_diс и subnets_exclude_dic

В данных справочниках указывается список ваших АС и подсетей (либо одиночных IP), которые необходимо исключить из агрегированных логов. Подсети указанные в справочниках будут игнорироваться при записи в агрегированный лог (который используется для построения отчетов). Для управления фильтрацией по этим справочникам используйте параметр SUBSCRIBER_EXCLUDE_MODE . См. раздел Конфигурация.

Пример справочника asnum_exclude_diс

12345	LOCAL
65535	LOCAL

Первый столбец - номер AS, второй - название (не отображается в отчетах, но формат справочника требует).

Пример справочника subnets_exclude_dic

192.168.1.0/24	LOCAL
10.64.66.0/24	LOCAL
172.16.0.0	LOCAL
2a02:2168:aaa:bbbb::2	LOCAL

Первый столбец - IP адрес или CIDR, второй – название (не отображается в отчетах, но формат справочника требует).

Не добавляйте слишком большую подсеть. Разбивайте на мелкие. Ограничение - 100000000

Справочники subscribers_dic, switches_dic, crc_dic

subscribers_dic

Справочник абонентов.

Пример справочника

10.64.66.100	login	5	port1	unit_vendor	cabel	contract	services	mac
10.64.66.101	login	2	port1	unit_vendor	cabel	contract	services	mac
10.64.66.102	login	3	port1	unit_vendor	cabel	contract	services	mac
10.64.66.103	login	4	port1	unit_vendor	cabel	contract	services	mac
10.64.66.104	login	5	port1	unit_vendor	cabel	contract	services	mac
10.64.66.105	login	5	port2	unit_vendor	cabel	contract	services	mac
10.64.66.106	login	5	port3	unit_vendor	cabel	contract	services	mac

Столбцы:

  1. IP адрес
  2. Логин
  3. Идентификатор коммутатора (доступа)
  4. Порт коммутатора
  5. Вендор абонентского оборудования
  6. Кабель
  7. Договор
  8. Сервисы
  9. MAC адрес абонентского оборудования (зарезервирован для будущих целей)

switches_dic

Иерархический справочник оборудования (коммутаторов доступа и магистральных коммутаторов)

Пример справочника

1	Коммутатор 1	Ethernet	Регион1	Адрес 1	10.140.1.18	oper1	0	0		
2	Коммутатор 2	Ethernet	Регион2	Адрес 2	10.140.2.18	oper1	0	0		
3	Коммутатор 3	Ethernet	Регион3	Адрес 3	10.140.3.18	oper1	0	1	port1	
4	Коммутатор 4	Ethernet	Регион4	Адрес 4	10.140.4.18	oper1	0	3	port1	
5	Коммутатор 5	Ethernet	Регион5	Адрес 5	10.140.5.18	oper1	0	4	port1	

Столбцы:

  1. Идентификатор оборудования UInt64
  2. Наименование
  3. Тип
  4. Район
  5. Адрес
  6. IP адрес коммутатора
  7. Оператор
  8. Флаг: признак магистрального коммутатора (1 - если да). Не используется, можно везде оставить 0
  9. Идентификатор вышестоящего коммутатора UInt64
  10. Порт вышестоящего коммутатора
  11. Собственник

crc_dic

Справочник ошибок (CRC) на портах коммутаторов

Пример справочника

2	port1	450
5	port1	550
5	port2	500
4	port1	780

Столбцы

  1. Идентификатор коммутатора
  2. Порт коммутатора
  3. Значение CRC

Справочники urlcats_dic и urlcats_host_dic

Справочники Категорий хостов. Предназначены для определения принадлежности хоста определённой категории.

Справочники подкачиваются автоматически с ресурсов vasexperts.ru.

Для ускорения начальной загрузки выполните

  1. sh /var/qoestor/backend/etc/cron_daily.sh
  2. clickhouse-client --database=qoestor --query="system reload dictionaries"

Перенос дампов и данных БД на отдельный диск

По умолчанию все данные хранятся в разделе /var.

Допустим, мы подключили отдельный диск к /home.

  1. Работаем под root пользователем
    sudo su
  2. Останавливаем ресиверы и БД
    systemctl stop qoestor_fullflow_0.service
    systemctl stop qoestor_clickstream_0.service
    sudo /etc/init.d/clickhouse-server stop
  3. Создаем каталоги в разделе /home
    mkdir /home/qoestor
    mkdir /home/qoestor/clickhouse
    mkdir /home/qoestor/dump
  4. Копируем данные на новый диск
    copy -r /var/lib/clickhouse/* /home/qoestor/clickhouse
    copy -r /var/qoestor/backend/dump/* /home/qoestor/dump
  5. Меняем владельца папки /home/qoestor/clickhouse
    chown -R clickhouse:clickhouse /home/qoestor/clickhouse
  6. Создаем симлинки
    ln -s /home/qoestor/clickhouse /var/lib/clickhouse
    ln -s /home/qoestor/dump /var/qoestor/backend/dump
  7. Проверяем линки
    readlink -f /var/lib/clickhouse
    readlink -f /var/qoestor/backend/dump
  8. Запускаем БД
    sudo /etc/init.d/clickhouse-server restart
  9. Запускаем ресиверы
    sudo sh /var/qoestor/backend/qoestor-config.sh

Проблемы и решения

Не работает, хотя все установили по инструкции

Если вы все установили и настроили по инструкции, а в разделе DPIUI2 “QoE Аналитика” пусто, то вот перечень шагов, которые стоит выполнить, прежде чем обращаться в тех. поддержку.

  1. Проверьте правильность установки времени и таймзоны на серверах с dpiui2 и QoE Stor. Попробуйте в dpiui2 установить большой период. Если дело в таймзоне, данные появятся. Правильно настройте время на серверах dpiui2 и QoE Stor, перезапустите серверы полностью.
  2. На сервере с QoE Stor проверить, создана ли БД
    clickhouse-client --query="show databases" | grep qoestor

    Если БД не создана, создать ее командой

    clickhouse-client -n < /var/qoestor/backend/etc/db/qoestor.sql
  3. На сервере с QoE Stor проверить, есть ли данные в БД
    clickhouse-client --query="select count(), min(flow_start_time), max(flow_start_time) from qoestor.fullflow"

    и

    clickhouse-client --query="select count(), min(time), max(time) from qoestor.clickstream"

    Либо посмотреть, как наполняются партиции через интерфейс по ссылке

    https://your_gui_host/#QoEAdmin/report=TableSpaceReport
  4. Проверить, запущены ли ресиверы
    ps aux | grep ipfix
  5. На сервере с QoE Stor проверить логи ресиверов в папке
    /var/qoestor/backend/logs

    В логах не должно быть ошибок. Должна быть видна ротация дампов и запись их в БД.

  6. На сервере с QoE Stor проверить, прослушиваются ли порты 1500 и 1501 командой
    netstat -nlpa | grep 1500 и netstat -nlpa | grep 1501

    Перезапустить все ресиверы на всякий случай командой

    sudo sh /var/qoestor/backend/qoestor-config.sh
  7. Еще раз проверить настройки экспорта ipfix на dpi
  8. На сервере с DPIUI2 проверить настройки подключения GUI к QoE Stor
  9. На сервере с QoE Stor проверить, запущена ли СУБД ClickHouse командой
    ps aux | grep clickhouse

    Убедитесь, что достаточно оперативной памяти на сервере.

  10. На сервере с QoE Stor проверить /var/log/clickhouse-server/clickhouse-server.err.log

Если есть необходимость очистить все данные в БД, то на сервере с QoE Stor надо

  1. Удалить БД командой
    clickhouse-client --query="drop database qoestor"
  2. Пересоздать БД командой
    clickhouse-client -n < /var/qoestor/backend/etc/db/qoestor.sql

Выполнили yum –y update, не запускаются ресиверы

При выполнении yum –y update ломаются некоторые библиотеки. Ресиверы перестают запускаться.

  1. Удалите fastor и зависимости
     yum remove fastor ipfixreceiver libfixbuf netsa_silk netsa-python
  2. Установите заново, используя скрипт fastor-rpm_install.sh.gz

Как уменьшить период хранения и очистить данные

Очистка данных производится модулем dpiui2. В файле /var/www/html/dpiui2/backend/.env измените параметры QOESTOR_MAIN_LOG_PARTITIONS_LIFE_TIME_HOUR=24 QOESTOR_AGG_LOG_PARTITIONS_LIFE_TIME_DAYS=15 Выполните рестарт php /var/www/html/dpiui2/backend/artisan queue:restart

SQL и выгрузка данных в CSV, JSON, TabSeparated

При необходимости вы можете самостоятельно без дополнительных инструментов сформировать собственные отчеты и выгрузить данные в любом формате CSV, JSON, TabSeparated.

Данные хранятся в 4 основных логах

  • qoestor.fullflow – полный netflow лог, период хранения – 24 часа
  • qoestor.clicksteam – полный clickstream лог, период хранения – 24 часа
  • qoestor.fullflow_agg – предагрегированный neflow лог, период хранения не ограничен
  • qoestor.clicksteam_agg – предагрегированный clickstream лог, период хранения не ограничен

Формат команды следущий

clickhouse-client --database=qoestor  --query="Ваш sql тут"

По умолчанию данные выгружаются в формате TabSeparated.

Пример. Клиент попросил лог соединений с определенным хостом в формате CSV

clickhouse-client --database=qoestor --query="select * from fullflow prewhere flow_start_date = '2018-10-04' where (source_ipv4 = '10.64.66.100' or destination_ipv4 = '10.64.66.100') and host = 'google.com' ORDER BY flow_start_time limit 10 format CSV"

Подробную информацию по SQL ClickHouse смотрите по ссылке https://clickhouse.yandex/docs/ru/query_language/select/