# Тестирование нормализации и нагрузки бинарем KUMA

Иполняемый файл KUMA имеет на борту полезный функционал тестирования, он может использоваться в отрыве от системы KUMA (полностью отдельно) и вот его параметры запуска:

```
./kuma tools load --raw --events checkpoint-example.log --cfg config.cfg --limit 5000 --replay 200000
```

- проигрывает "сырые" события из файла `checkpoint-example.log` (проигрываются строки в случайном порядке)

<details data-id="details-1698158332437" id="bkmrk-%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F-%D0%B8%D0%B7-%D1%84%D0%B0"><summary>Пример события из файла checkpoint-example.log</summary>

&lt;13&gt;Sep 30 07:13:59 checkpoint.checkpoint.test 30Sep2020 07:13:59 10.1.253.3 product: VPN-1 &amp;FireWall-1; src: 10.3.5.15; s\_port: 61172; dst: 10.254.4.3; service: 53; proto: udp; rule:; policy\_id\_tag: product=VPN-1 &amp; FireWall-1\[db\_tag={666B9F89-D1F9-7848-B5FB- BF8D97B768F8};mgmt=fw-mgmt;date=1601441138;policy\_name=CBS\_policy\_Simplified\_PlusDeskt\];dst\_machine\_name: \*\*\* Confidential \*\*\*;dst\_user\_name: \*\*\* Confidential \*\*\*;fw\_message: Connection is marked as trusted elephant flow. Use fastaccel tool to edit configuration if needed.;has\_accounting: 0;i/f\_dir: inbound;is\_first\_for\_luuid: 131072;logId: -1;log\_sequence\_num: 11;log\_type: log;log\_version: 5;origin\_sic\_name: CN=x01\_fw1,O=fw-mgmt.cu.com.pl.8pjujj;snid: 0;src\_machine\_name: \*\*\* Confidential \*\*\*;src\_user\_name: \*\*\* Confidential \*\*\*;user: \*\*\* Confidential \*\*\*;

</details>- потоком 5 kEPS (`--limit 5000`)
- будет проиграно 200000 событий (`--replay 200000`) из файла checkpoint-example.log

Для запуска исполняемого файла необходимы следующие библиотеки:

- /lib64/libc.so.6: version `GLIBC\_2.28'
- /lib64/libstdc++.so.6: version `CXXABI\_1.3.8'
- /lib64/libstdc++.so.6: version `GLIBCXX\_3.4.21'
- /lib64/libstdc++.so.6: version `CXXABI\_1.3.9'

Куда отправлять и как (**только TCP**) определено в конфигурационном файле `config.cfg` пример конфига:

```bash
{ "kind": "tcp", "name": "-", "connection": { "name": "-", "kind": "tcp", "urls": ["kuma.example.com:5141"]}}
```

### Сторонняя утилита для нагрузочного тестирования 

Есть также сторонняя утилита по стресс тестов (Kraken) - [Kraken STT - Kraken Stress Testing Toolkit (kraken-stt.ru)](https://kraken-stt.ru/)

Комьюнити скрипт - [https://github.com/KUMA-Community/Sender](https://github.com/KUMA-Community/Sender)