...
Отредактируйте конфигурационный файл агента HCD, по умолчанию это файл
/etc/hydra/hcd/hcd.conf
Обычно конфигурация по умолчанию подходит и в ней нужно настроить только параметры доступа:Code Block # For Netflow (nfacctd) module current_statistics = on # For custom statistics format module external_statistics = off # Идентификатор коллектора трафика в АСР «Гидра». server id = 37301 # IP-адрес и порт, к которому привязывается встроенный в hcd сервер XML-RPC при запуске. # По этому адресу АСР связывается с hcd для снятия статистики по трафику. # Обратите внимание, что в АСР нужно задать настройки управления коллектором (см. ниже) в соответствии с данными параметрами. server ip = 127.0.0.1 server port = 8888 # Логин и пароль на сервере XML-RPC для управления hcd server login = hydra server password = 123
Обратите внимание что параметры module current_statistics и module external_statistics не могут быть включены одновременно.
Запустите HCD в консольном режиме:
Code Block language bash user@server:~$ sudo /etc/init.d/hсd run
Если все действия выполнены правильно, то должно появиться сообщение об успешном запуске примерно следующего вида:
Code Block InstallSignalHandlers root INFO Installing signal handlers... CreateXMLRPCServer root INFO Initializing XML-RPC server at 127.0.0.1:8888... RunXMLRPCServer root INFO Starting XML-RPC server...
Убедитесь, что процесс
nfacctd
запустился:Code Block language bash user@server:~$ sudo ps aux|grep nfacctd hcd 16035 0.1 0.0 19740 12072 ? S May10 40:31 nfacctd: Core Process [default] hcd 16081 0.0 0.0 23072 14552 ? S May10 26:23 nfacctd: IMT Plugin [agg-ba] hcd 16082 0.0 0.0 20176 11644 ? S May10 26:50 nfacctd: IMT Plugin [agg-ab]
Убедитесь, что Netflow-пакеты поступают в
nfacctd
и агрегируются:Code Block language bash user@server:~$ sudo tcpdump -i eth0 udp port 9992 listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 20:06:27.965803 IP 90.151.176.22.23801 > 90.151.179.106.9992: UDP, length 1464 20:06:27.966830 IP 90.151.176.22.23801 > 90.151.179.106.9992: UDP, length 1464 20:06:27.966837 IP 90.151.176.22.23801 > 90.151.179.106.9992: UDP, length 1464
Code Block language bash user@server:~$ /usr/bin/pmacct -s -p /var/run/hydra/hcd/ipacc-agg-ab.pipe | head SRC_IP DST_IP DST_MASK PACKETS BYTES 90.151.179.157 0.0.0.0 0 186 18297 90.151.176.222 90.151.176.0 21 44 7788 10.5.9.12 10.0.0.0 8 2 463 90.151.176.107 0.0.0.0 0 513 239569 ...
Особое внимание следует уделить проверке названий и последовательности полей в первой строке вывода утилиты
pmacct
. Они должны называться именно так и идти именно в том порядке, как показано выше:SRC_IP DST_IP DST_MASK PACKETS BYTES
Если пакеты по какой-то причине не агрегируются, попробуйте проверить настройки iptables.
...
Если для идентификации услуги и оборудования в статистике используются поля EXT_OBJECT_ID
и EXT_GOOD_ID
, то статистику и по входящему, и по исходящему трафику можно передавать в одном файле, и в аргумент <statistics name>
передавать agg-ab
. Если же услуга и оборудование определяются по IP-адресам (ADDR_1/MASK_1
и ADDR_2/MASK_2
), то нужно разделять статистику на два файла и загружать её в HCD в два приема — в одном файле должна быть статистика по исходящему трафику (agg-ab
), а во втором — по входящему (agg-ba
).
Пример:
Code Block | ||
---|---|---|
| ||
user@server:~$ hcdctl.py -f /tmp/stat-out.txt -u http://hydra:q123@127.0.0.1:8888 putfile agg-ab user@server:~$ hcdctl.py -f /tmp/stat-in.txt -u http://hydra:q123@127.0.0.1:8888 putfile agg-ba |
...