Различия
Показаны различия между двумя версиями страницы.
dpi:dpi_components:qoestor [2020/10/14 14:10] – [Конфигурация] arusnak | dpi:dpi_components:qoestor [2024/09/26 15:29] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== | + | ====== QoE Stor (Модуль сбора |
- | {{indexmenu_n> | + | {{indexmenu_n> |
- | == Модуль сбора | + | |
+ | -[[dpi: | ||
+ | -[[dpi: | ||
+ | -[[dpi: | ||
+ | -[[dpi: | ||
+ | -[[dpi: | ||
+ | -[[dpi: | ||
- | ===== Введение ===== | ||
- | |||
- | Модуль предназначен для сбора и хранения данных Нетфлоу и Кликстрим. Данные используются для анализа QoE в DPIUI2. | ||
- | |||
- | |||
- | ===== Архитектура ===== | ||
- | |||
- | Данные от СКАТ DPI принимаются на нескольких сокетах (tcp или udp) c помощью [[dpi: | ||
- | |||
- | Данные хранятся в БД ClickHouse. | ||
- | |||
- | {{ : | ||
- | |||
- | ===== Инсталляция и обновление ===== | ||
- | |||
- | ==== Рекомендации к оборудованию ==== | ||
- | |||
- | <note important> | ||
- | |||
- | === Минимальные требования === | ||
- | |||
- | Для подсистемы можно использовать оборудование или виртуальные машины со сл.характеристиками: | ||
- | - Процессор (CPU) 2.5 ГГц - 1 шт | ||
- | - Оперативная память (RAM) - от 16 Гб | ||
- | - Жесткий диск (SSD крайне желательно) - от 500 Гб | ||
- | - Операционная система - CentOS 7+ или CentOS 8+ | ||
- | - Сетевая плата (NIC) - от 1 Гбит/ | ||
- | <note important> | ||
- | |||
- | == Процессор == | ||
- | |||
- | Требуется поддержка набора инструкций SSE 4.2. | ||
- | |||
- | Выбирайте процессоры с большим числом ядер. Тактовая частота менее важна. Например, | ||
- | |||
- | <note important> | ||
- | |||
- | == Оперативная память == | ||
- | |||
- | Памяти должно быть не меньше чем объем запрашиваемых данных. | ||
- | |||
- | Чем больше памяти, | ||
- | |||
- | Чем больше памяти, | ||
- | |||
- | Минимальное требование - 16Гб. | ||
- | |||
- | Всегда отключайте файл подкачки. | ||
- | |||
- | == Жесткий диск == | ||
- | |||
- | Требуемое место на диске от 16ГБ на каждый день хранения в зависимости от трафика. Подсчитано, | ||
- | |||
- | Если ваш бюджет позволяет использовать SSD, используйте SSD (крайне рекомендуется). В противном случае используйте HDD. SATA HDDs 7200 RPM подойдут. | ||
- | |||
- | При использовании HDD можно объединить их RAID-10, RAID-5, RAID-6 или RAID-50. | ||
- | |||
- | Основной объем данных хранится в каталоге / | ||
- | |||
- | Временные данные (дампы ipfix) хранятся в каталоге / | ||
- | |||
- | Для лучшей производительности важно (рекомендуется), | ||
- | |||
- | === Советы по эксплуатации от Яндекс ClickHouse === | ||
- | |||
- | Советы по эксплуатации от Яндекс ClickHouse вы можете прочитать по ссылке [[https:// | ||
- | |||
- | |||
- | ==== Информация о версиях ==== | ||
- | |||
- | === Версия v.1.7.3 (15.10.2020) === | ||
- | |||
- | * Возможность хранение данных на HOT и COLD дисках | ||
- | * Прием и хранение NAT логов. Опция формирования NAT лога из fullflow. Возможность гибкой настройки периода агрегации и списка полей, подлежащих агрегации | ||
- | * Прием и хранение GTP логов | ||
- | |||
- | |||
- | === Версия v.1.6.0 (14.09.2020) === | ||
- | |||
- | * Опция: подмена поля Логин значением из поля vchannel | ||
- | * Баг фикс | ||
- | |||
- | === Версия 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с, | ||
- | |||
- | |||
- | === Версия v.1.0.9 (21.02.2019) === | ||
- | |||
- | * Устранен баг с неверным распознаванием магистральных коммутаторов | ||
- | * Обновлен справочник protocols_dic | ||
- | |||
- | === Версия v.1.0.7 хот фиксы (24.12.2018) === | ||
- | |||
- | * Предусмотрен реэкспорт ipfix в конфигах ресивера: | ||
- | |||
- | === Версия 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 | ||
- | |||
- | <note important> | ||
- | - Перед обновлением не забудьте обновить скрипт установки (в разделе Инсталляция). Для обновления используйте скрипт установки. | ||
- | - После обновления, | ||
- | - Если ресиверы не запустились, | ||
- | </ | ||
- | |||
- | === Версия v.1.0.4 (02.11.2018) === | ||
- | |||
- | * Внедрена предагрегация, | ||
- | * Внедрены справочники: | ||
- | * Добавлена опция определения направления трафика и фильтрация абонентов (разделение IP хостов и IP абонентов) по AS и CIDR. Опция актуальна в случае установки СКАТ DPI на зеркале. | ||
- | |||
- | Данная версия QoE Stor работает с версией DPIUI2-2.1.5+ | ||
- | |||
- | <note important> | ||
- | Для этого выполните команду | ||
- | |||
- | |||
- | === Версия v.1.0.0 (20.09.2018) === | ||
- | |||
- | * Создан новый модуль – QoE Stor | ||
- | |||
- | |||
- | ==== Инсталляция ==== | ||
- | |||
- | <note warning> | ||
- | |||
- | <note important> | ||
- | |||
- | Для установки или обновления в автоматическом режиме, | ||
- | |||
- | - Выполните скрипт [[https:// | ||
- | sudo yum install wget | ||
- | |||
- | sudo wget https:// | ||
- | |||
- | sudo sh fastor-rpm_install.sh</ | ||
- | - Выполните команду < | ||
- | |||
- | <note important> | ||
- | |||
- | ==== Обновление ==== | ||
- | |||
- | Обновление выполняется теми же скриптами, | ||
- | |||
- | Если вы выполнили команду yum –y update и перестали запускаться ресиверы, | ||
- | |||
- | <note important> | ||
- | #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_GTPFLOW_PORT_TYPE[0]=tcp | ||
- | IPFIX_GTPFLOW_PORT[0]=1502 | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | |||
- | IPFIX_NATFLOW_PORT_TYPE[0]=tcp | ||
- | IPFIX_NATFLOW_PORT[0]=1503 | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | |||
- | #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 | ||
- | |||
- | #Enable asnum dic autoload | ||
- | ASNUM_DIC_AUTOLOAD_ENABLED=1 | ||
- | |||
- | #Enable auto replacing Login with vchannel on insert | ||
- | # 0 - Disabled | ||
- | # 1 - Enabled | ||
- | # 2 - Enabled if Login is empty | ||
- | ULR_REPLACE_LOGIN_WITH_VCHANNEL=0 | ||
- | |||
- | # Use dictionary when replacing login | ||
- | ULR_USE_DIC_WHEN_REPLACING_LOGIN=0 | ||
- | |||
- | # Enable autoload of vchannel_name_dic | ||
- | ULR_VCHANNEL_NAME_DIC_AUTOLOAD_ENABLED=0 | ||
- | |||
- | # vchannel_name_dic remote url | ||
- | ULR_VCHANNEL_NAME_DIC_URL= | ||
- | |||
- | #Import NAT events from fullflow | ||
- | NAT_IMPORT_FROM_FULLFLOW | ||
- | # 0 - Disabled | ||
- | # 1 - Enabled | ||
- | |||
- | #Fields to save when aggregating NAT log (bitmask) | ||
- | # 0x1 - Save protocol ID | ||
- | # 0x2 - Save event type, | ||
- | # 0x4 - Save source ipv4, | ||
- | # 0x8 - Save source port, | ||
- | # 0x10 - Save destination ipv4, | ||
- | # 0x20 - Save destination port, | ||
- | # 0x40 - Save post NAT source ipv4, | ||
- | # 0x80 - Save post NAT source_port, | ||
- | # 0x100 - Save session ID, | ||
- | # 0x200 - Save login, | ||
- | # 0x400 - Save DPI ID | ||
- | NAT_AGG_LOG_FIELDS_TO_SAVE_BITMASK=0 | ||
- | |||
- | #Time interval for aggregating NAT logs | ||
- | NAT_AGG_LOG_GROUP_TIME_INTERVAL | ||
- | # 1 - 1 minute | ||
- | # 5 - 5 minutes | ||
- | # 10 - 10 minutes | ||
- | # 15 - 15 minutes | ||
- | # 30 - 30 minutes | ||
- | # 60 - 60 minutes | ||
- | |||
- | ==== Конфигурация справочников ==== | ||
- | |||
- | Все справчники находятся в папке / | ||
- | |||
- | Для каждого справочника есть образец sample.txt. Можно использовать в качестве шаблона. | ||
- | |||
- | Все столы в справочниках разеделены символом табуляции (\t). Колиество \t должно быть на единицу меньше, | ||
- | |||
- | При изменении файлов, | ||
- | |||
- | Некоторые полезные команды при работе со справочниками: | ||
- | |||
- | * Ускорить обновление данных в справочниках < | ||
- | * Проверить, | ||
- | * Проверить, | ||
- | |||
- | |||
- | |||
- | ==== Справочники asnum_local_dic и subnets_local_dic ==== | ||
- | |||
- | В данных справочниках указывается список ваших локальных AS и локальных подсетей. | ||
- | Справочники используется для определения направления трафика (актуально, | ||
- | |||
- | Пример справочника **asnum_local_dic** | ||
- | < | ||
- | 12345 LOCAL | ||
- | 65535 UNKNOWN | ||
- | </ | ||
- | |||
- | Первый столбец - номер AS, второй - название (отображается в отчетах). | ||
- | |||
- | Пример справочника **subnets_local_dic** | ||
- | < | ||
- | 192.168.1.0/ | ||
- | 10.64.66.0/ | ||
- | 172.16.0.0 LOCAL | ||
- | 2a02: | ||
- | </ | ||
- | |||
- | Первый столбец - IP адрес или CIDR, второй – название (не отображается в отчетах, | ||
- | |||
- | <note important> | ||
- | |||
- | ==== Справочники asnum_exclude_diс и subnets_exclude_dic ==== | ||
- | |||
- | В данных справочниках указывается список ваших АС и подсетей (либо одиночных IP), которые необходимо исключить из агрегированных логов. | ||
- | Для управления фильтрацией по этим справочникам используйте параметр SUBSCRIBER_EXCLUDE_MODE . См. раздел [[dpi: | ||
- | |||
- | Пример справочника **asnum_exclude_diс** | ||
- | < | ||
- | 12345 LOCAL | ||
- | 65535 LOCAL | ||
- | </ | ||
- | |||
- | Первый столбец - номер AS, второй - название (не отображается в отчетах, | ||
- | |||
- | Пример справочника **subnets_exclude_dic** | ||
- | < | ||
- | 192.168.1.0/ | ||
- | 10.64.66.0/ | ||
- | 172.16.0.0 LOCAL | ||
- | 2a02: | ||
- | </ | ||
- | |||
- | Первый столбец - IP адрес или CIDR, второй – название (не отображается в отчетах, | ||
- | |||
- | <note important> | ||
- | |||
- | ==== Справочники subscribers_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 | ||
- | </ | ||
- | |||
- | Столбцы: | ||
- | - IP адрес | ||
- | - Логин | ||
- | - Идентификатор коммутатора (доступа) | ||
- | - Порт коммутатора | ||
- | - Вендор абонентского оборудования | ||
- | - Кабель | ||
- | - Договор | ||
- | - Сервисы | ||
- | - 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 | ||
- | </ | ||
- | |||
- | Столбцы: | ||
- | - Идентификатор оборудования UInt64 | ||
- | - Наименование | ||
- | - Тип | ||
- | - Район | ||
- | - Адрес | ||
- | - IP адрес коммутатора | ||
- | - Оператор | ||
- | - Флаг: признак магистрального коммутатора (1 - если да). Не используется, | ||
- | - Идентификатор вышестоящего коммутатора UInt64 | ||
- | - Порт вышестоящего коммутатора | ||
- | - Собственник | ||
- | |||
- | === crc_dic === | ||
- | |||
- | Справочник ошибок (CRC) на портах коммутаторов | ||
- | |||
- | Пример справочника | ||
- | < | ||
- | 2 port1 450 | ||
- | 5 port1 550 | ||
- | 5 port2 500 | ||
- | 4 port1 780 | ||
- | </ | ||
- | |||
- | Столбцы | ||
- | - Идентификатор коммутатора | ||
- | - Порт коммутатора | ||
- | - Значение CRC | ||
- | |||
- | ==== Справочники urlcats_dic и urlcats_host_dic ==== | ||
- | |||
- | Справочники Категорий хостов. Предназначены для определения принадлежности хоста определённой категории. | ||
- | |||
- | Справочники подкачиваются автоматически с ресурсов vasexperts.ru. | ||
- | |||
- | Для ускорения начальной загрузки выполните | ||
- | - < | ||
- | - < | ||
- | |||
- | |||
- | ==== Перенос дампов и данных БД на отдельный диск ==== | ||
- | |||
- | По умолчанию все данные хранятся в разделе /var. | ||
- | |||
- | Допустим, | ||
- | |||
- | - Работаем под root пользователем < | ||
- | - Останавливаем ресиверы и БД < | ||
- | systemctl stop qoestor_clickstream_0.service | ||
- | sudo / | ||
- | - Создаем каталоги в разделе /home < | ||
- | mkdir / | ||
- | mkdir / | ||
- | </ | ||
- | - Копируем данные на новый диск < | ||
- | cp -r / | ||
- | </ | ||
- | - Меняем владельца папки / | ||
- | - Удаляем старые каталоги < | ||
- | rm -rf / | ||
- | - Создаем симлинки < | ||
- | ln -s / | ||
- | </ | ||
- | - Проверяем линки < | ||
- | readlink -f / | ||
- | </ | ||
- | - Запускаем БД < | ||
- | - Запускаем ресиверы < | ||
- | ===== Проблемы и решения ===== | ||
- | |||
- | ==== Не работает, | ||
- | |||
- | Если вы все установили и настроили по инструкции, | ||
- | |||
- | - Проверьте правильность установки времени и таймзоны на серверах с dpiui2 и QoE Stor. Попробуйте в dpiui2 установить большой период. Если дело в таймзоне, | ||
- | - На сервере с QoE Stor проверить, | ||
- | - На сервере с QoE Stor проверить, | ||
- | - Проверить, | ||
- | - На сервере с QoE Stor проверить логи ресиверов в папке < | ||
- | - На сервере с QoE Stor проверить, | ||
- | - Еще раз проверить [[dpi: | ||
- | - На сервере с DPIUI2 проверить [[dpi: | ||
- | - На сервере с QoE Stor проверить, | ||
- | - На сервере с QoE Stor проверить / | ||
- | |||
- | Если есть необходимость очистить все данные в БД, то на сервере с QoE Stor надо | ||
- | - Удалить БД командой < | ||
- | - Пересоздать БД командой < | ||
- | |||
- | ==== Выполнили yum –y update, не запускаются ресиверы ==== | ||
- | |||
- | При выполнении **yum –y update** ломаются некоторые библиотеки. Ресиверы перестают запускаться. | ||
- | - Удалите fastor и зависимости < | ||
- | - Установите заново, | ||
- | |||
- | ==== Как уменьшить период хранения и очистить данные ==== | ||
- | |||
- | Очистка данных производится модулем dpiui2. | ||
- | В файле / | ||
- | QOESTOR_MAIN_LOG_PARTITIONS_LIFE_TIME_HOUR=2 | ||
- | QOESTOR_AGG_LOG_PARTITIONS_LIFE_TIME_DAYS=15 | ||
- | Выполните рестарт | ||
- | php / | ||
- | |||
- | ===== SQL и выгрузка данных в CSV, JSON, TabSeparated ===== | ||
- | |||
- | При необходимости вы можете самостоятельно без дополнительных | ||
- | |||
- | Данные хранятся в 4 основных логах | ||
- | * qoestor.fullflow – полный netflow лог, период хранения – 24 часа | ||
- | * qoestor.clicksteam – полный clickstream лог, период хранения – 24 часа | ||
- | * qoestor.fullflow_agg – предагрегированный neflow лог, период хранения не ограничен | ||
- | * qoestor.clicksteam_agg – предагрегированный clickstream лог, период хранения не ограничен | ||
- | |||
- | Формат команды следущий < | ||
- | |||
- | По умолчанию данные выгружаются в формате TabSeparated. | ||
- | |||
- | **Пример**. Клиент попросил лог соединений с определенным хостом в формате CSV | ||
- | |||
- | < | ||
- | |||
- | Подробную информацию по SQL ClickHouse смотрите по ссылке [[https:// | ||
- | |||
- | ~~DISCUSSION|Помогите нам улучшить документацию: | ||