Both sides previous revisionPrevious revisionNext revision | Previous revision |
en:dpi:dpi_components:utilities:rcollector [2023/08/28 15:21] – ↷ Links adapted because of a move operation elena.krasnobryzh | en:dpi:dpi_components:utilities:rcollector [2024/10/11 08:31] (current) – removed elena.krasnobryzh |
---|
====== Utility designed to assemble the IPFIX flows ====== | |
{{indexmenu_n>3}} | |
===== Introduction ===== | |
| |
The utility is designed to complement streams such as clickstream, SIP from the sessions stream (netflow) by auxiliary data. | |
| |
===== Installation and upgrade ===== | |
- add the VAS Experts repository similar to the item 1 of [[en:dpi:update:previous:dpi_update_10:dpi_10_update:start|DPI installation]] manual. | |
- install the rcollector:\\ <code>yum install -y rcollector</code> | |
- edit the configuration files in the /etc/rcollector/ directory (see further) | |
| |
===== Delivery files ===== | |
- configuration examples:\\ <code>/etc/rcollector/ipfixreceiver2.conf - clickstream configuration example (http requests) | |
/etc/rcollector/ipfixreceiverflow2.conf - configuration example for retreiving the information about sessions (netflow analogue) | |
/etc/rcollector/ipfixreceiversip2.conf - configuration example for retreiving the information about sip sessions | |
/etc/rcollector/rcflowprocess - example of executable file for session handling (netflow) | |
/etc/rcollector/rcurlprocess - example of executable file for HTTP sessions handling | |
/etc/rcollector/rcsipprocess - example of executable file for SIP sessions handling | |
</code> | |
- program files are located within the directory:\\ <code>/usr/local/lib/rcollector.d/</code> | |
- auxiliary files:\\ <code>/etc/dpiui/port_proto.txt - information about the resolution of protocol identifier to its name, it is used by the utility to obtain the protocol text name </code> | |
- links to the executable module:\\ <code>/usr/local/bin/rcollector -> symlink to the /usr/local/lib/ipfixreceiver.d/rcollector</code> | |
| |
===== Configuration ===== | |
- create the following directories to place the ipfixreceiver and rcollector files <code>example for device 111:<code> | |
mkdir -p /var/dump/111/ipfixflow | |
mkdir -p /var/dump/111/ipfixsip | |
mkdir -p /var/dump/111/ipfixurl | |
| |
mkdir -p /var/collector/111/email | |
mkdir -p /var/collector/111/ftp | |
mkdir -p /var/collector/111/http_requests | |
mkdir -p /var/collector/111/raw_flow | |
mkdir -p /var/collector/111/sip | |
mkdir -p /var/collector/111/ssh | |
</code> | |
- copy the /etc/rcollector sample of configuration files to the /etc/rcollector/<NNN> directory, here the <NNN> - the device identifier <code>example for device 111:<code> | |
mkdir -p /etc/rcollector/111 | |
cp /etc/rcollector/* /etc/rcollector/111 | |
chmod a+x /etc/rcollector/111/rc* | |
</code> | |
- edit the [[en:dpi:dpi_components:utilities:ipfixreceiver2|ipfixreceiver]] configuration files:<code>In the following files: ipfixreceiver2.conf, ipfixreceiverflow2.conf, ipfixreceiversip2.conf:<code> | |
1. specify the configuration of the port used to receive stream data depending on the DPI configuration, for example, for clickstream 1501: | |
port=1501 | |
2. specify the handler for the received file, for example for the clickstream of device 111: | |
processcmd=/etc/collector/111/rcurlprocess %%s | |
3. specify the directory for the received files, for example for clickstream: | |
dumpfiledir=/var/dump/111/ipfixurl/ | |
| |
</code> | |
- edit configuration files rcollector. Example for device 111, local ASN = 47438,57451,56613,65535 specify the following variables values in rcflowprocess, rcurlprocess, rcsipprocess files:<code> | |
chome="/var/collector/111" | |
cipfix="/etc/rcollector/111" | |
localASN="47438,57451,56613,65535" | |
devuid="111" | |
</code> here chome - the root directory of the resulting collector files \\ cipfix - root directory of configuration files \\ localASN - local autonomous systems of the communications provider \\ devuid - device number. | |
- create a file for log rotation<code>cat /etc/logrotate.d/ipfix | |
/var/log/dpiui*.log | |
/var/log/rflowcollector.log | |
{ | |
rotate 5 | |
missingok | |
notifempty | |
compress | |
size 10M | |
daily | |
copytruncate | |
nocreate | |
postrotate | |
endscript | |
} | |
</code> | |
- create jobs that move files to the archive or delete them as in the example: <code> | |
# dell collector data after 1.5 and 1 days | |
15 * * * * /bin/find /var/collector/ -name url_\*gz -cmin +2160 -delete > /dev/null 2>&1 | |
05 * * * * /bin/find /var/db/rcollector/ -name \*.val -cmin +120 -delete > /dev/null 2>&1 | |
15 * * * * /bin/find /var/dump/ -name url_\*gz -cmin +1440 -delete > /dev/null 2>&1 | |
</code> | |