Это старая версия документа!
Мониторинг и логи fastDPI
Логи системы представлены в виде текстовых файлов, которые располагаются в директории /var/log/dpi для модулей DPI и PCRF. Типы сообщений в логе:
- [CRITICAL] – критичная ошибка, работа системы невозможна без устранения неисправности
- [WARNING] – предупреждение, работа системы не останавливается, но стоит устранить данную неисправность
- [TRACE] – сообщения при включении диагностического режима трассировки
- [INFO] – уведомление о действиях системы
- [ERROR] – ошибка при подключении сервисов и полисингов, неправильная конфигурация
Процесс FastDPI по умолчанию осуществляет журналирование всех действий системы в следующие файлы логирования отладки и статистики:
- /var/log/dpi/fastdpi_slave.log - лог процессов обработки трафика1)
- /var/log/dpi/fastdpi_stat.log - лог статистики обработки трафика
- /var/log/dpi/fastdpi_alert.log - лог общих функций fastDPI
Cчетчики по блокировкам, которые сохраняются в лог статистики
Ротация лог файлов
Ротация файлов обеспечивает ежедневное резервное копирование суточного лога. По умолчанию этот процесс осуществляется в часы с наименьшей нагрузки на систему. Глубина хранения логов определяется в конфигурации /etc/logrotate.d/fastdpi параметром maxage, значение указывается в сутках.
Мониторинг SNMPD
Описание
SNMP — протокол, позволяющий получать информацию о сервере DPI для централизованного мониторинга критически важных параметров.
Принцип работы: по SNMP отправляется запрос на сервер, он получает необходимую информацию и отправляет ее на сервер мониторинга. Сервер мониторинга эту информацию принимает и обрабатывает, после этого можно понять статус сервера — отследить, на каких уровнях находятся те или иные параметры и данные.
Пакет bngsnmp содержит скрипты, необходимые для формирования VENDOR ветки OID'ов для опроса по SNMP.
В основе лежит библиотека snmp_passpersist. OID вендорской ветки: .1.3.6.1.4.1.43823
Состав вендорской ветки:
- статистика CPU, в т.ч. утилизация ядра процессами BNG;
- количество нелегитимных дропов;
- статистика дропов на диспетчере;
- список доступности RADIUS серверов (при использовании прокси или балансира в статистике будет указан этот прокси);
- количество DHCP абонентов — при активном функционале;
- список VRF и активных абонентов в каждом — при активном функционале;
- статистика DPDK интерфейсов (количество пакетов, ошибок, уровень сигнала и т.п.);
- статистика NAT (список профилей, список пулов, и количество трансляций на каждый публичный адрес) — при активном функционале;
- список аппаратных модулей, установленных на материнской плате — при наличии данной возможности у BMC контроллера;
- показатели с аппаратных сенсоров (напряжение, потребляемая мощность, FAN RPMs) — при наличии данной возможности у BMC контроллера;
- утилизация пулов в DHCP сервере (поддерживается только KEA-DHCP сервер) — при активном функционале.
Данный скрипт также переопределяет стандартные ветки, добавляя статистику с DPDK интерфейсов:
.1.3.6.1.2.1.2.2.1— 32 битные счетчики.1.3.6.1.2.1.31.1.1.1— 64 битные счетчики
При необходимости можно отключить переопределение — закомментировать или удалить следующие строки из /etc/snmp/snmpd.conf:
pass_persist .1.3.6.1.2.1.2.2.1 /usr/local/bin/bng_snmp/vas_pp.py pass_persist .1.3.6.1.2.1.31.1.1.1 /usr/local/bin/bng_snmp/vas_pp_hc.py
Установка
- Установка:
yum install bngsnmp - Конфигурация:
/bin/cp -f /etc/snmp/snmpd.conf.example /etc/snmp/snmpd.conf
- Перезапуск службы net-snmp:
systemctl restart snmpd
- Отключить selinux (в случае ошибки при запуске SNMP):
vi /etc/selinux/config ... SELINUX=disabled ...
Проверка работоспособности SNMPD и вендорской ветки
Утилита snmpwalk позволяет проверить, приходят ли данные по SNMP
- Установка snmpwalk:
dnf install net-snmp-utils - Команда для проверки работы SNMP:
snmpwalk -v 2c -c nokiamon localhost -On .1.3.6.1.4.1.43823
Как прочитать файл MIB
В случае, если необходимо увидеть файл MIB в графическом представлении, можно открыть его через MIB Browser. Там будет описана вся вендорская ветка и ее OID.
На примере ниже показано:
- Файл вендорской ветки
- Ее OID
Известные ограничения
Поддержка on-stick девайсов доступна с версии 13.2-beta4.2.
Мониторинг через SNMP агент (Zabbix-agent)
Мы предлагаем вам следующий набор параметров, которые можно снимать с DPI СКАТ:
- Ошибки в логах процесса fastDPI
/var/log/dpi/fastdpi_alert.log - Ошибки в системном логе
/var/log/messages - Потери (Drop) на интерфейсах dna
- Объем трафика на интерфейсах
- Доступность интерфейсов управления
- Количество обработанных запросов по HTTP и HTTPS
- Количество заблокированных ресурсов по HTTP, HTTPS, IP
- Количество сессий PPPoE
Для мониторинга можно использовать Zabbix Agent.
Текущая и финальная поддерживаемая версия агента и сервера — 6.0, следует использовать Zabbix agent 1. Для более новых версий Zabbix мониторинг будет осуществляется посредством SNMP.
Настройка агента
- Установить Zabbix agent 1 на сервер DPI согласно инструкции на сайте Zabbix.
В первом шаге выбрать следующие значения:- Пакеты Zabbix
- Версия Zabbix: 6.0+
- Дистрибутив ОС: CentOS
- Версия ОС: 8 STREAM
- Компонент Zabbix: AGENT
- Отредактировать конфигурационный файл
/etc/zabbix/zabbix_agentd.conf: изменить параметрыServer=иServerActive=на ваш адрес сервера,hostname=на hostname сервера. - Изменить контекст файла
/var/log/dpi/fastdpi_stat.log:chcon unconfined_u:object_r:zabbix_log_t:s0 /var/log/dpi/fastdpi_stat.log
- Открыть порты tcp/udp 10050 и 10051 в firewall
- Загрузить файл ssg_userparams.conf в директорию
/etc/zabbix/zabbix_agent.d/ - Отредактировать файл
ssg_userparams.confзаменив номер интерфейса вUserParameter
02-00.0нужно заменить на названия интерфейсов вашего сервера!
Название должно совпадать с конфигом DPI. Если у вас используется более 2 интерфейсов, необходимо добавить строчку по аналогии с существующими параметрами.UserParameter=dpi.02-00.0.drops,tac /var/log/dpi/fastdpi_stat.log | sed /'IF 02-00.0'/q | tac | sed -e 1,/'Actual Stats'/d | sed '6!D' | awk '{print $1}' | sed 's/^.//'
- Сделать рестарт агента:
systemctl restart Zabbix-agent
Настройка сервера
- Установить и настроить Zabbix сервера согласно инструкции на официальном сайте.
- Добавить шаблон zbx_export_templates.xml
1) Перейти в раздел Configuration
2) Раздел Templates
3) Нажать "Import"
4) Импортировать файл шаблона
5) Сохранить изменения

- Добавить сервер DPI в качестве хоста
1) Перейти в раздел Monitoring
2) Раздел Hosts
3) Нажать "Create host"
4) Задать необходимые параметры, имя хоста, группу и добавленный ранее шаблон
5) Сохранить изменения

- Отредактировать шаблон: изменить названия интерфейсов и ключей так, чтобы они соответствовали
UserParameter.
Мониторинг распределение трафика по классам
СКАТ позволяет вывести на мониторинг распределение трафика по классам.
1. Включите приоритизацию трафика. Для примера будем использовать следующие правила приоритизации:
dns cs0 http cs0 https cs0 Bittorrent cs7 ICMP cs0 TCP Unknown cs7 GOOGLEVIDEO cs1 default cs2
2.В конфигурации /etc/dpi/fastdpi.conf установите параметр:
dbg_log_mask=0x4
3.Включите полисинг общего канала (в качестве примера приведен полисинг с ограничением на всю ширину канала):
htb_inbound_root=rate 1300mbit htb_inbound_class0=rate 8bit ceil 1300mbit htb_inbound_class1=rate 8bit ceil 1300mbit htb_inbound_class2=rate 8bit ceil 1300mbit htb_inbound_class3=rate 8bit ceil 1300mbit htb_inbound_class4=rate 8bit ceil 1300mbit htb_inbound_class5=rate 8bit ceil 1300mbit htb_inbound_class6=rate 8bit ceil 1300mbit htb_inbound_class7=rate 8bit ceil 1300mbit htb_root=rate 1300mbit htb_class0=rate 8bit ceil 1300mbit htb_class1=rate 8bit ceil 1300mbit htb_class2=rate 8bit ceil 1300mbit htb_class3=rate 8bit ceil 1300mbit htb_class4=rate 8bit ceil 1300mbit htb_class5=rate 8bit ceil 1300mbit htb_class6=rate 8bit ceil 1300mbit htb_class7=rate 8bit ceil 1300mbit
4. Обновите конфигурацию:
service fastdpi reload
service fastdpi restart
5. Используйте следующие пользовательские параметры для zabbix агента, установленного на СКАТ: ssg_userparams.conf
6. На сервер Zabbix импортируйте шаблон, как описано в разделе "Мониторинг через SNMP агент": zbx_export_templates.xml
Просмотр статистики по flow и протоколам
По flow
- IPv4/IPv6
- тип протокола: 0 - IPv4, 1 - IPv6
- всего выделено записей
- очередь с коротким временем жизни:
- занято записей
- готово к повторному использованию
- разница 3.1 - 3.2 (количество активных flow)
- тоже для долгоиграющей очереди
- тоже суммарно
Пример:
fdpi_ctrl stat --flow IPv4 0 6784000 834 814 20 0 0 0 834 814 20
По протоколам
- внутренний индекс статистики по протоколу
- имя протокола
- номер порта для протокола
направление subs -→ inet
- кол-во пакетов
- объем в байтах ip total
- дропнуто пакетов
- дропнуто байт
направление inet -→ subs кол-во пакетов и т.д.
Пример:
fdpi_ctrl stat --proto Autodetected fastdpi params : dev='em1', port=29001 connecting 94.140.198.68:29001 ... ================================ 94 'ntp' 123 0 0 0 0 91 23569 0 0 4081 'sip' 5060 0 0 0 0 2479 1170579 0 0 5812 'Bittorrent' 49165 0 0 0 0 0 0 3 495 5866 'ICMP' 65025 0 0 0 0 225 18900 0 0 5871 'TCP Unknown' 65030 0 0 0 0 41034 3448836 0 0 5880 'UDP Unknown' 65041 3900 4227600 0 0 277 24825 0 0 6000 'ARP' 65282 30 2520 0 0 30 2520 0 0 6056 'CHAMELEON' 49236 0 0 0 0 589 72475 0 0
Была ли полезна эта информация?