Метрики и дашборды
Пересвет-СТ собирает метрики в реальном времени и экспортирует их в ClickHouse. Для визуализации результатов используется Grafana — каждому типу плагина соответствует один или несколько преднастроенных дашбордов. Дашборды доступны из веб-интерфейса Пересвет-СТ при запущенной задаче.
Экспорт отчётов PDF/CSV/HTML и перенос задач (архив / JSON) описаны в разделе Экспорт отчетов и импорт задач.
Как читать секундные метрики
Метрики Пересвет-СТ показывают фактическое поведение трафика на коротких интервалах. На большинстве графиков точка соответствует измерению за 1 секунду: сколько запросов, ответов, пакетов, байт или бит было реально сгенерировано, передано, принято или обработано именно в этом секундном окне.
Система не сглаживает такие графики искусственно на 5 или 10 секунд и не подрисовывает «идеальную» линию целевого профиля. Поэтому на графике может быть видна небольшая естественная неравномерность: одна секунда оказывается немного ниже целевого значения, следующая - немного выше. Это нормальное свойство точного секундного измерения, особенно для TCP, HTTP и сценариев с большим числом параллельных сессий.
В реальной сети трафик также не приходит идеально одинаковыми порциями каждую секунду. TCP-соединения устанавливаются и закрываются во времени, HTTP-запрос зависит от готовности соединения и ответа, пакеты группируются сетевой картой и обрабатываются несколькими ядрами агента, а границы секундных интервалов не совпадают с границами отдельных сессий. Если часть событий попадает на границу двух секунд, соседние точки графика могут немного отличаться, при этом среднее значение на рабочем интервале и суммарный объем трафика соответствуют заданному профилю.
Практически это означает:
- для проверки скорости используйте участок плато после разгона и до остановки задачи;
- учитывайте параметры CPS и CC: если задача открывает 100 новых соединений в секунду до 1000 активных соединений, плато появится не мгновенно, а после разгона;
- оценивайте среднее значение на выбранном интервале и общий объем за интервал, а не только одну отдельную секундную точку;
- сравнивайте программные и аппаратные метрики: программные показывают, что было сгенерировано и обработано сценарием, аппаратные - что физически прошло через сетевой интерфейс;
- отдельно проверяйте Drops и потери: при нулевых потерях небольшие колебания секундных значений обычно отражают точность измерения, а не проблему генерации.
На примере HTTP-задачи с целевым профилем 10000 запросов в секунду видно, что после разгона линия держится около заданного значения. Отдельные секундные точки могут показывать 9.9K или чуть больше 10K запросов в секунду, но рабочее среднее на плато соответствует целевому профилю.

Рис. 25 — HTTP-нагрузка 10K RPS: точные секундные значения вокруг целевого профиля
Похожее поведение может быть видно и на общих графиках пакетов или битов. Если профиль задан как постоянная скорость, но график построен по фактическим 1-секундным интервалам, небольшая «ступенчатость» или компенсация в соседней секунде допустимы. Для приемки результата важны рабочее плато, среднее значение, общий объем трафика и отсутствие потерь.

Рис. 26 — Общий TX-график: фактические 1-секундные интервалы без искусственного сглаживания
Основные группы метрик
В дашбордах используются несколько типов показателей. Они описывают разные уровни одного и того же теста, поэтому их нужно читать совместно.
| Группа | Что показывает | Как интерпретировать |
|---|---|---|
| Requests / Responses | Прикладные операции: HTTP-запросы и ответы, DNS-запросы и ответы, операции передачи файлов и другие события L7 | Используйте для проверки бизнес-профиля приложения: сколько прикладных действий реально выполнено за секунду или за весь интервал |
| Packets | Количество сетевых пакетов TX/RX | Один прикладной запрос может соответствовать одному или нескольким пакетам. При TLS, крупных ответах, фрагментации или повторной передаче число пакетов не обязано совпадать с числом запросов |
| Bytes / Bits | Объем переданных данных и скорость передачи | Подходит для оценки полезной нагрузки и L2/L3-скорости. Если размер пакетов фиксирован, Bits и Packets обычно меняются синхронно |
| L1 / L2 Bits | Скорость на разных уровнях учета | L2 отражает объем Ethernet-кадров, L1 дополнительно учитывает физические накладные расходы линии, поэтому именно L1 используется для оценки line rate |
| TCP Connections | CPS, активные, закрытые и ожидающие соединения | CPS показывает скорость открытия TCP-соединений, Active connections / CC - текущую конкурентность, Closed - завершение соединений, Pending - соединения в процессе установления |
| Drops / Loss | Потери, отброшенные пакеты и ошибки приема/передачи | Используйте для подтверждения качества теста. Если скорость близка к профилю, но есть drops, сначала анализируйте причину потерь |
| Generated / Software | Счетчики сценария внутри агента | Показывают, сколько трафика сценарий сформировал, обработал и учел на уровне приложения или сетевого стека |
| Hardware / Physical | Аппаратная статистика сетевого интерфейса | Показывает фактический трафик на физическом порту: line rate, L1/L2 bits, аппаратные пакеты и ошибки интерфейса |
Программные и аппаратные метрики не заменяют друг друга. Программные метрики удобны для проверки логики сценария: запросов, ответов, сессий, приложений, кодов ответа, задержек и ошибок. Аппаратные метрики подтверждают, что трафик действительно вышел на порт и был принят сетевой картой. При анализе результата сначала проверьте, что сценарий вышел на плато, затем сравните software и hardware, после этого оцените drops/loss.
Общие метрики (Total)
Дашборд Total отображает агрегированные показатели по всем плагинам задачи:
| Метрика | Описание |
|---|---|
| total.rx.packets / total.tx.packets | Общее количество принятых / отправленных пакетов |
| total.rx.bytes / total.tx.bytes | Общий объём принятых / отправленных данных (байт) |
| total.tx.drop | Количество отброшенных пакетов при отправке |
| total.pkt.lost | Количество потерянных пакетов |
| total.rx.bad | Количество принятых некорректных пакетов |
| total.tx.l1_bits / total.rx.l1_bits | Битрейт L1 (с учётом межкадровых интервалов и преамбул) TX / RX |
| total.tx.line_rate / total.rx.line_rate | Утилизация линии (%) TX / RX |
| total.cpu_usage | Загрузка CPU ядер обработки |
| total.tos.rx | Принятые пакеты с анализом поля ToS |
| total.rx.imissed | Пакеты, пропущенные NIC (переполнение очереди) |
| total.rx.ierrors | Ошибки приёма на уровне NIC |
HTTP / TLS
Дашборд Total HTTP/TLS — агрегация по всем HTTP-плагинам. Дашборд HTTP/TLS — детализация по конкретному плагину.
| Метрика | Описание |
|---|---|
| http_1_1.tx.requests / http_1_1.rx.responses | Отправленные запросы / полученные ответы (HTTP/1.1) |
| http_1_1.tx.bytes / http_1_1.rx.bytes | Объём данных TX / RX |
| http_1_1.code.1xx–5xx | Распределение HTTP-кодов ответа (1xx, 2xx, 3xx, 4xx, 5xx) |
| http_1_1.ttfb | Time To First Byte — задержка до первого байта ответа |
| http_1_1.ttlb | Time To Last Byte — задержка до последнего байта ответа |
| http_1_1.method.get/post/put/patch/delete | Количество запросов по HTTP-методам |
| http_2.tx.requests / http_2.rx.responses | Отправленные запросы / полученные ответы (HTTP/2) |
| http_2.code.1xx–5xx | Распределение HTTP-кодов ответа (HTTP/2) |
| http_2.ttfb / http_2.ttlb | Задержки TTFB / TTLB (HTTP/2) |
| http_2.streams.opened/closed/reseted | Количество открытых / закрытых / сброшенных стримов HTTP/2 |
| tcp.cps | TCP Connections Per Second — новых соединений в секунду |
| tcp.cc | TCP Concurrent Connections — текущие активные соединения |
| tcp.hs_avg_delay | Средняя задержка TCP-хендшейка |
| tls_1_2.* / tls_1_3.* | Аналогичные метрики в разрезе версий TLS (пакеты, байты, CPS, CC, Client/Server Hello, задержка хендшейка) |
TCP Flood (SYN / SYN-ACK / ACK / RST / RST-ACK / FIN / FIN-ACK / PSH / PSH-ACK / Xmas)
Дашборд Total TCP — агрегация по всем TCP flood плагинам. Для каждого типа flood есть отдельный дашборд (например, TCP SYN, TCP ACK, TCP Xmas и т.д.).
| Метрика | Описание |
|---|---|
| tcp.tx.flags.syn / tcp.rx.flags.syn | Отправленные / принятые SYN-пакеты |
| tcp.tx.flags.syn_ack / tcp.rx.flags.syn_ack | Отправленные / принятые SYN-ACK-пакеты |
| tcp.tx.flags.ack / tcp.rx.flags.ack | Отправленные / принятые ACK-пакеты |
| tcp.tx.flags.rst / tcp.rx.flags.rst | Отправленные / принятые RST-пакеты |
| tcp.tx.flags.rst_ack / tcp.rx.flags.rst_ack | Отправленные / принятые RST-ACK-пакеты |
| tcp.tx.flags.fin / tcp.rx.flags.fin | Отправленные / принятые FIN-пакеты |
| tcp.tx.flags.fin_ack / tcp.rx.flags.fin_ack | Отправленные / принятые FIN-ACK-пакеты |
| tcp.tx.flags.psh / tcp.rx.flags.psh | Отправленные / принятые PSH-пакеты |
| tcp.tx.flags.psh_ack / tcp.rx.flags.psh_ack | Отправленные / принятые PSH-ACK-пакеты |
| tcp.tx.flags.xmas / tcp.rx.flags.xmas | Отправленные / принятые Xmas-пакеты (все флаги) |
| tcp.tx.packets / tcp.rx.packets | Общее количество TCP-пакетов TX / RX |
| tcp.tx.bytes / tcp.rx.bytes | Объём TCP-данных TX / RX |
UDP Flood
Дашборд Total UDP — агрегация. Дашборд UDP — детализация.
| Метрика | Описание |
|---|---|
| udp.tx.packets / udp.rx.packets | Отправленные / принятые UDP-пакеты |
| udp.tx.bytes / udp.rx.bytes | Объём UDP-данных TX / RX |
| udp.rt | Время отклика (round-trip) UDP |
| udp.drop | Потерянные UDP-пакеты |
Fuzzing (L3-L7)
Дашборд Fuzzing (L3-L7) отображает результат работы включенных UDP/TCP-модулей Fuzzing и flow-сценариев. Он используется для проверки фактической скорости отправки, объема трафика и состояния L4-сессий во время теста.
| Блок дашборда | Что показывает |
|---|---|
| Обзор L3-L4 фаззинга | Сводное состояние задачи и активность Fuzzing-профиля на выбранном интервале |
| UDP: отправленные пакеты | Отдельные линии по включенным UDP-модулям: неверная чексумма, TTL, DSCP/ECN, IP ID, Payload Data и UDP Flow |
| TCP: отправленные пакеты | Отдельные линии по включенным TCP-модулям: PSH/ACK, неверная чексумма, SEQ, MSS, Window Scale, TCP window, Payload Data и TCP Flow |
| UDP: отправленные байты / биты | Объем UDP-трафика и скорость передачи в байтах/битах |
| TCP: отправленные байты / биты | Объем TCP-трафика и скорость передачи в байтах/битах |
| L4-сессии / flow | Состояние TCP-сессий и UDP flow при включенных flow-модулях |
| TCP Connections | Создание, активность и закрытие TCP-сессий |
| UDP Flow Sessions | Количество и активность UDP flow |
Если в задаче включено несколько модулей Fuzzing, сравнивайте линии UDP: отправленные пакеты и TCP: отправленные пакеты с заданным бюджетом Пакетов в секунду. Это помогает проверить, что нагрузка распределилась между выбранными модулями ожидаемым образом.
GRE Flood
Дашборд Total GRE — агрегация. Дашборд GRE — детализация.
| Метрика | Описание |
|---|---|
| gre.tx.packets / gre.rx.packets | Отправленные / принятые GRE-пакеты |
| gre.tx.bytes / gre.rx.bytes | Объём GRE-данных TX / RX |
DNS Flood
Дашборд Total DNS Flood — агрегация. Дашборд DNS Flood — детализация.
| Метрика | Описание |
|---|---|
| dns_flood.tx.packets / dns_flood.rx.packets | Отправленные / принятые DNS Flood-пакеты |
| dns_flood.tx.bytes / dns_flood.rx.bytes | Объём DNS Flood-данных TX / RX |
ICMP / Ping / Fragmentation / Amplification
| Дашборд (ключ) | Плагин |
|---|---|
ddos_icmp_flood | ICMP Flood (103) |
ddos_icmp_fragmentation | ICMP Fragmentation Flood (104) |
ddos_ping_flood | Ping Flood (105) |
ddos_ping_of_death | Ping of Death Flood (106) |
ddos_dns_amplification | DNS Amplification UDP (107) |
ddos_udp_fragmentation | UDP Fragmentation Flood (108) |
ddos_ntp_amplification | NTP Amplification UDP (110) |
Компрометированный хост
Дашборд compromised_host — сессии, шаги, таймауты и маяк C2.
DHCP Flood (legacy)
Дашборд Total DHCP Flood — агрегация. Дашборд DHCP Flood — детализация.
| Метрика | Описание |
|---|---|
| dhcp_flood.tx.packets / dhcp_flood.rx.packets | Отправленные / принятые DHCP Flood-пакеты |
| dhcp_flood.tx.bytes / dhcp_flood.rx.bytes | Объём DHCP Flood-данных TX / RX |
WAF
Дашборд WAF отображает результаты тестирования Web Application Firewall — количество отправленных запросов по каждой категории атак:
| Группа метрик | Описание |
|---|---|
| waf.broken_access_control, waf.injection.*, waf.xss.*, waf.ssrf и др. | Базовое тестирование: по одной метрике на каждый тип атаки (18 категорий) |
| waf.sqli.* | SQLi Advanced: 50 типов SQL-инъекций |
| waf.xxe.* | XXE Advanced: 4 типа атак на XML-парсер |
| waf.cmdi.* | Command Injection Advanced: 18 типов OS-команд |
| waf.fi.* | File Injection Advanced: 8 типов включения файлов |
| waf.pt.* | Path Traversal Advanced: 17 типов обхода путей |
| waf.unc.* | UNC Path: 4 типа атак через UNC-пути |
| waf.rce.* | RCE Advanced: 6 типов удалённого выполнения кода |
| waf.xss.* (advanced) | XSS Advanced: 19 типов межсайтового скриптинга |
| waf.ssrf.* (advanced) | SSRF Advanced: 19 типов подделки серверных запросов |
| waf.ssti.* | SSI/SSTI Advanced: 7 типов серверных инъекций шаблонов |
| waf.graphql.* | GraphQL: 2 типа атак на схему GraphQL |
DNS
Дашборд Total DNS — агрегация по всем DNS-плагинам. Отдельные дашборды: DNS over UDP, DNS over TCP, DNS over TLS, DNS over HTTP.
| Метрика | Описание |
|---|---|
| dns.tx.queries / dns.rx.responses | Отправленные запросы / полученные ответы |
| dns.tx.bytes / dns.rx.bytes | Объём DNS-данных TX / RX |
| dns.rx.rcode.ok | Ответы с кодом NOERROR |
| dns.rx.rcode.format_error | Ответы с кодом FORMERR |
| dns.rx.rcode.server_failure | Ответы с кодом SERVFAIL |
| dns.rx.rcode.name_error | Ответы с кодом NXDOMAIN |
| dns.rx.rcode.not_implemented | Ответы с кодом NOTIMP |
| dns.rx.rcode.refused | Ответы с кодом REFUSED |
| dns.rx.flags.aa/tc/rd/ra | Флаги DNS-ответов: Authoritative, Truncated, Recursion Desired/Available |
| dns.tls_1_2.* / dns.tls_1_3.* | Метрики DNS over TLS в разрезе версий TLS (пакеты, байты, CC) |
MHDDoS Emulation
Дашборд MHDDoS отображает комбинированные метрики всех активных подплагинов (SYN Flood, UDP Flood, GRE Flood, STRESS и др.) в рамках одной задачи MHDDoS.
PCAP Replay и Динамические приложения
Для сценариев воспроизведения реального трафика доступны отдельные дашборды, которые помогают сравнить отправленный и принятый объем, скорость воспроизведения и состояние сессий.
| Группа метрик | Описание |
|---|---|
| PCAP Replay Stateless | Пакеты, байты и скорость воспроизведения raw-пакетов из PCAP |
| PCAP Replay Stateful | Сессии, пакеты, байты и скорость воспроизведения выбранных TCP/UDP-сессий |
| Applications | Активные пользователи, запущенные/завершенные потоки, неуспешные потоки и общий объем трафика |
CVE Replay и передача файлов
Дашборд CVE выбирается автоматически по комбинации режима (атака / FP) и охвата (первый / все сценарии): cve_replay, cve_replay_all, cve_replay_fp, cve_replay_fp_all. Подробности — в разделе плагина CVE.
| Группа метрик | Описание |
|---|---|
| CVE Replay | Попытки воспроизведения, завершенные сценарии, блокировки (blocked_timeout и др.), таймауты и события по выбранным CVE |
| File Transfer | Запросы, ответы, объем переданных файлов и задержки передачи |
| Malware File Transfer | Переданные PTI-файлы, ответы принимающей стороны и результаты проверки средств защиты |
RoCEv2, Elephant Flow и L2 Convergence
| Группа метрик | Описание |
|---|---|
| RoCEv2 | Пакеты, байты, скорость и события перегрузки RoCEv2 |
| Elephant Flow TCP | Длительные TCP-потоки, объем данных, скорость и состояние сессий |
| Elephant Flow UDP | Длительные UDP-потоки, пакеты, байты и скорость передачи |
| L2 Convergence UDP | Потери, восстановление потока и расчет времени сходимости |
IPsec
Для IPsec-сценариев используйте общие дашборды трафика и специализированные панели туннелей. Производительные результаты массовых IPsec-сценариев опубликованы в разделе Benchmarks.
| Группа метрик | Описание |
|---|---|
| Активные туннели | Текущее число поднятых IPsec-туннелей |
| Открытие туннелей | Динамика создания туннелей во времени |
| Трафик через IPsec | Пакеты, байты и скорость передачи внутри туннелей |
| Ошибки и события | Ошибки установления, разрывы и диагностические события туннельных сценариев |
Dual-режим (клиент + сервер)
При одновременном запуске клиентского и серверного плагинов доступны дашборды с суффиксом Dual, объединяющие метрики обеих сторон на одном экране:
| Дашборд | Описание |
|---|---|
| Total Dual | Общие метрики клиента и сервера |
| Total HTTP/TLS Dual | HTTP/TLS агрегация клиент + сервер |
| HTTP/TLS Dual | Детализация HTTP/TLS клиент + сервер |
Служебные метрики
Дополнительные метрики, доступные на общих дашбордах:
| Метрика | Описание |
|---|---|
| arp.rx/tx.packets, arp.rx/tx.bytes | ARP-трафик (автоматический, для резолвинга MAC-адресов) |
| icmp.rx/tx.packets, icmp.rx/tx.bytes | ICMP-трафик (автоматические ответы на ping и др.) |
| kni.rx/tx.packets, kni.rx/tx.bytes | Трафик через KNI-интерфейс (перенаправление в ядро ОС) |
| other.rx | Прочие принятые пакеты, не относящиеся к плагинам |