Актуализация fastdpi_stat лога [Документация VAS Experts]

Актуализация fastdpi_stat лога

В данном логе хранится статистика по трафику, который обрабатывает СКАТ DPI

[STAT    ][2022/04/07-13:36:24:608426] Memory usage : 'Virtual'/'Resident' 177805156352/3238039552
[STAT    ][2022/04/07-13:36:24:608441] CPU statistics :
        cpu_total : 18.8%us  1.7%sy  0.0%ni 79.5%id  0.0%wa
                cpu0 :  4.6%us  2.7%sy  0.0%ni 92.8%id  0.0%wa
                cpu1 : 20.1%us  0.4%sy  0.0%ni 79.5%id  0.0%wa
                cpu2 : 19.5%us  0.4%sy  0.0%ni 80.1%id  0.0%wa
                cpu3 : 23.4%us  2.1%sy  0.0%ni 74.5%id  0.0%wa

На данном участке stat лога:
[2022/04/07-13:36:24:608426] — дата и время съема информации

'Virtual'/'Resident' — тип памяти.
Virtual — виртуальный размер процесса. Показывает общее количество памяти, которое способна адресовать программа в данный момент времени
Resident — показывает, сколько физической памяти использует процесс.
После этого параметра идут конкретные значения

CPU statistics — статистика по загрузке процессора
cpu_total — общая загрузка процессора
cpu0, cpu1, cpu2, cpu3 — загрузка по конкретному ядру
us — сколько всего на данный момент используется
sy — сколько на данный момент использует система
ni —
id — сколько на данный момент свободно
wa — показывает процент операций, готовых быть выполненных процессором, но находящихся в состоянии ожидания от диска

Информация по интерфейсам:

[STAT    ][2022/04/08-16:25:25:309501] Interface statistics :
        Cluster #0 Absolute Stats Rcvd: [5000 pkts][527701 bytes][1+2=3 pkts dropped]
        Cluster #0 : IF 01-00.0 (01:00.0):
                Absolute Stats Rcvd: [4873 pkts][507823 bytes][0 pkts dropped]
                               Send: [127 pkts][19878 bytes]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [0 pkts][0 bytes]
                               Pthr: [0 pkts][0 bytes]
                               Emit: [0 pkts][0 bytes]
                               Eemt: [0 err_pkts][0.00 %]
                Actual   Stats Rcvd: [0 bytes][0.00 Mbit/sec]
                                     [0 pkts ][0.00 pkt/sec]
                               Send: [0 bytes][0.00 Mbit/sec]
                                     [0 pkts ][0.00 pkt/sec]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Pthr: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Emit: [0 bytes][0.00 Mbit/sec]
                                     [0 pkts ][0.00 pkt/sec]
                               Eemt: [0 err_pkts][0.00 %]
        Cluster #0 : IF 01-00.1 (01:00.1):
                Absolute Stats Rcvd: [127 pkts][19878 bytes][0 pkts dropped]
                               Send: [4873 pkts][507823 bytes]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [0 pkts][0 bytes]
                               Pthr: [0 pkts][0 bytes]
                               Emit: [0 pkts][0 bytes]
                               Eemt: [0 err_pkts][0.00 %]
                Actual   Stats Rcvd: [0 bytes][0.00 Mbit/sec]
                                     [0 pkts ][0.00 pkt/sec]
                               Send: [0 bytes][0.00 Mbit/sec]
                                     [0 pkts ][0.00 pkt/sec]
                               Esnd: [0 err_pkts][0.00 %]
                               Drop: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Pthr: [0 bytes][0.00 %]
                                     [0 pkts ][0.00 %]
                               Emit: [0 bytes][0.00 Mbit/sec]
                                     [0 pkts ][0.00 pkt/sec]
                               Eemt: [0 err_pkts][0.00 %]
          Cluster #0 : Aggregated Actual stats: [Captured 0.00 pkt/sec][Processed 0.00     pkt/sec][Send 0.00 pkt/sec]

Absolute Stats Rcvd — суммарная статистика принятых пакетов/байт, заблокированных пакетов на всех интерфейсах, с момента последнего перезапуска процесса fastDPI
[1+2=3 pkts dropped]
1 — потери на порту (даже не прочитали, буфер переполнен)
2 — не смог обработать СКАТ

Далее идет информация по каждому конкретному интерфейсу

Cluster #0 : IF 01-00.0 (01:00.0):
Absolute Stats — полная статистика принятых пакетов/байт, заблокированных пакетов на интерфейсе 01-00.0

  • Rcvd: [4873 pkts][507823 bytes][0 pkts dropped] — принятые пакеты/байты
  • Send: [127 pkts][19878 bytes] — переданные пакеты/байты
  • Esnd: [0 err_pkts][0.00 %] — ошибки, возникшие при отправке пакетов
  • Drop: [0 pkts][0 bytes] — дропнуто пакетов/байт, в результате работы фильтрации/полисинга и т.п. ("хорошие" дропы)
  • Pthr: [0 pkts][0 bytes] — количество пакетов/байт, проходящих без анализа и обработки
  • Emit: [0 pkts][0 bytes] — пакеты, которые сформировал СКАТ
  • Eemt: [0 err_pkts][0.00 %] — ошибки, возникшие при отправке пакетов, сформированных СКАТ

Actual Stats — фактическая статистика принятых пакетов/байт, заблокированных пакетов на интерфейсе 01-00.0
Aggregated Actual stats — совокупная статистика на кластер: сколько захвачено, обработано, отправлено пакетов/сек

[STAT    ][2022/04/08-16:25:25:309514] [HAL] DPDK device statistics:
        dev 01-00.0 (01:00.0)
             RX pkt/bytes abs (delta):            4873/390871          (0/0)
             TX pkt/bytes abs (delta):             127/16830           (0/0)
                Error pkts, abs/delta: rx_queue_full=0/0, bad_pkt=0/0, tx_fail=0/0, rx_nombuf=0/0
        dev 01-00.1 (01:00.1)
             RX pkt/bytes abs (delta):             127/16830           (0/0)
             TX pkt/bytes abs (delta):            4873/390871          (0/0)
                Error pkts, abs/delta: rx_queue_full=0/0, bad_pkt=0/0, tx_fail=0/0, rx_nombuf=0/0
 
 
[STAT    ][2022/04/08-16:25:25:309514] [HAL] DPDK device statistics:
        dev 01-00.0 (01:00.0)
             RX pkt/bytes abs (delta):            4873/390871          (0/0)
             TX pkt/bytes abs (delta):             127/16830           (0/0)
                Error pkts, abs/delta: rx_queue_full=0/0, bad_pkt=0/0, tx_fail=0/0, rx_nombuf=0/0
        dev 01-00.1 (01:00.1)
             RX pkt/bytes abs (delta):             127/16830           (0/0)
             TX pkt/bytes abs (delta):            4873/390871          (0/0)
                Error pkts, abs/delta: rx_queue_full=0/0, bad_pkt=0/0, tx_fail=0/0, rx_nombuf=0/0
[STAT    ][2022/04/08-16:25:25:309644]  [HAL][DPDK] Dispatcher statistics abs/delta:
                         drop (worker queue full)           |  empty NIC RX |       RX packets
        Cluster #0:               0/0           0.0%/  0.0% | 100.0%/100.0% |            5000/0

Выше приведена статистика по интерфейсам:
RX pkt/bytes abs (delta): 4873/390871 (0/0) — принято пакетов/байт
4873/390871 — с момента старта
(0/0) — за последние 15 сек (с момента последнего вывода в stat лог)

TX pkt/bytes abs (delta): — отправлено пакетов/байт

Error pkts, abs/delta: rx_queue_full=0/0, bad_pkt=0/0, tx_fail=0/0, rx_nombuf=0/0

rx_queue_full=0/0 — переполнение очереди диспетчера
bad_pkt=0/0 — плохие пакеты
tx_fail=0/0 — ошибки при отправке
rx_nombuf=0/0 — не хватило буфера на прием

drop (worker queue full) — нелегитимные дропы (переполнение обработчика)

empty NIC RX — процент холостых опросов rx-очередей карт — абсолютный процент (с начала работы СКАТ) и относительный (дельта с последнего вывода в stat-лог). 100% — значит, входных пакетов нет, диспетчер работает вхолостую

[STAT    ][2022/04/08-16:25:25:309647] [HAL][DPDK/SQRX] Mempool state:
        cluster #0: avail_count=24448, in-use_count=8319

Использование пула памяти dpdk_mempool_size:
avail_count — доступно для использования
in-use_count — используется на текущий момент

На участке ниже представлена статистика по размерам пакетов, также добавлены диапазоны Jumbo Frames

[STAT    ][2022/04/08-16:25:25:309650] Packet size (abs/delta, in %):
                         <=64       <=128       <=256       <=512      <=1024      <=2048      <=4096      <=8192     >8192
        subs->inet:   0.5/0.0    98.7/0.0     0.6/0.0     0.2/0.0     0.0/0.0     0.0/0.0     0.0/0.0     0.0/0.0     0.0/0.0
        inet->subs:  17.3/0.0    51.2/0.0    25.2/0.0     6.3/0.0     0.0/0.0     0.0/0.0     0.0/0.0     0.0/0.0     0.0/0.0

Далее идет статистика по протоколам
Статистика по IP:
Тут указано количество потоков (flow) и информация по ним

[STAT    ][2022/04/08-16:25:25:309664] IPv4_Statistics 'flow nodes' :
        IPv4_thread_slave=#0 : 0/0/505/0/0 ( 180/0/325 ) ( 0-0/0-0/0-0/0-0 )
                0/0/66666/66666 ( 0/0 0/0 0/0/0 )
        IPv4_thread_slave=#1 : 0/0/1796/0/0 ( 436/0/1360 ) ( 0-0/0-0/0-0/0-0 )
                0/0/66666/66666 ( 0/0 0/0 0/0/0 )

IPv4_total : allocate=616/4896000 ( 0/0/2301/0/0/0 ) ( 616/0/1685 ) ( 0-0/0-0/0-0/0-0 )

                0/0/133332/133332 ( 0/0 0/0 0/0/0 )
        IPv4_actual: new=0 [0 flw/sec] close=0 [0 flw/sec] rei=0 [0 flw/sec]

IPv4_total : allocate=616/4896000 — показывает заполненность аллоцированной памяти для IPv4 flow
616 — занято, 4896000 — всего. Этот параметр задается в файле /etc/dpi/fastdpi.conf (mem_tracking_flow)

IPv4_actual: new=0 [0 flw/sec] close=0 [0 flw/sec] rei=0 [0 flw/sec]

new — количество новых flow
close — количество обработанных flow
rei — готово к переиспользованию

[STAT    ][2022/04/12-11:15:31:688997] IPv4_Statistics_error  :
        IPv4_ste_flow   : 0/0/0
        IPv4_ste_invlen : 0/0/0

IPv4_ste_flow — ошибки обработки flow. Это критичный счетчик. Должен быть нулевым (тут все хорошо)
IPv4_ste_invlen — ошибки прочитанных длин из входного фрейма (когда фактическая длина расходится с указанной в заголовке). Т.е. причина в пакете

0/0/0 — ip/tcp/udp

Статистика по блокировкам:
Эти параметры расписаны для каждого конкретного потока (thread_slave), а так же суммарное значение (Total)

[STAT    ][2022/04/12-11:15:31:688999] Detailed statistics on HTTP :
        thread_slave=0 :
                url/lock=28/0 ( 12,0,0 )( 1,1,0 )
                ssl/lock=191/0 ( 0,54,0 )( 1,17,16 )
                        cna/lock=4/0 ( 0,37 )
                        sni/lock=187/0 ( 0,17 )
                quic/lock=0/0 ( 1,0,0 )( 0,0,0 )
                chnprc=0
                ccheck/ip_check/lock=2203/579/0 0/0/0
        thread_slave=1 :
                url/lock=187/0 ( 1287,0,0 )( 1,1,0 )
                ssl/lock=268/2 ( 0,313,0 )( 2,36,34 )
                        cna/lock=1/0 ( 0,171 )
                        sni/lock=267/2 ( 0,142 )
                quic/lock=9/0 ( 0,0,0 )( 0,0,0 )
                chnprc=0
                ccheck/ip_check/lock=9404/747/0 0/0/0
        Total :
                url/lock=215/0 ( 1299,0,0 )( 2,2,0,98879 )
                ssl/lock=459/2 ( 0,367,0 )( 3,53,50,392183 )
                        cna/lock=5/0 ( 0,208 )
                        sni/lock=454/2 ( 0,159 )
                quic/lock=9/0 ( 1,0,0 )( 0,0,0,0 )
                chnprc=0
                ccheck/ip_check/lock=11607/1326/0 0/0/0

url/lock — проверено URL / заблокировано (аналогично для ssl, cna, sni, quic)
chnprc=0 — изменение парсера http ←→ https
ccheck/ip_check/lock=11607/1326/0 — статистика проверки по IP/порт

11607 — должны были выполнит проверку по IP
1326 — сколько раз реально выполнялась проверка
0 — заблокировано пакетов

Ниже указана статистика по фаерволу и syn пакетам:

[STAT ][2022/04/12-11:15:31:689052] FRWL statistics : 0/0/0

[STAT    ][2022/04/12-11:15:31:689054] Statistics SYN :
        total : syn=1, syn_ack=1 (0/0/0/0 0/0)
        actual: syn=0 [0 syn/sec] syn_ack=0 [0 syn_ack/sec] [prcnt=0%] (0/0/0/0 0/0)

[STAT ][2022/04/12-11:15:31:689052] FRWL statistics : 0/0/0

[STAT    ][2022/04/12-11:15:31:689054] Statistics SYN :
        total : syn=1, syn_ack=1 (0/0/0/0 0/0)
        actual: syn=0 [0 syn/sec] syn_ack=0 [0 syn_ack/sec] [prcnt=0%] (0/0/0/0 0/0)

total : syn=1 — всего SYN пакетов
syn_ack — всего SYN-ACK пакетов
actual: — то же самое, только за последние 15 секунд (с момента последнего вывода в stat лог) + кол-во SYN/SYN-ACK в секунду