This is an old revision of the document!
FastDPI monitoring and logs
System logs are presented as text files that are located in the /var/log/dpi directory for DPI and PCRF modules. Types of messages in the log:
- [CRITICAL] - critical error, system operation is impossible without troubleshooting
- [WARNING] - warning, the system does not stop, but it is worth eliminating this malfunction
- [TRACE] - messages when the diagnostic trace mode is enabled
- [INFO] - notification of system actions
- [ERROR] - error when connecting services and policies, incorrect configuration
The FastDPI process by default logs all system actions to the following debug and statistics log files:
- /var/log/dpi/fastdpi_slave.log - a log of traffic processing processes1)
- /var/log/dpi/fastdpi_stat.log - traffic processing statistics log
- /var/log/dpi/fastdpi_alert.log - common fastDPI functions log
Log file rotation
File rotation provides a daily backup of the daily log. By default, this process is performed during the hours with the lowest system load. The log storage depth is defined in the configuration of /etc/logrotate.d/fastdpi by the parameter maxage, the value is specified in days.
Monitoring via SNMP agent (Zabbix-agent)
We offer you the following set of parameters that can be taken from the SSG DPI:
- Errors in fastDPI process log
/var/log/dpi/fastdpi_alert.log - Errors in the
/var/log/messagessystem log - Losses (Drop) on dna interfaces
- Traffic volume on interfaces
- Availability of control interfaces
- Number of HTTP and HTTPS requests processed
- Number of blocked resources by HTTP, HTTPS, IP
- Number of PPPoE sessions
You can use Zabbix Agent for monitoring.
Current and final supported version of agent and server is 6.0, Zabbix agent 1 should be used. For newer versions of Zabbix, monitoring will be done via SNMP.
Agent Setup
- Install Zabbix agent 1 on the DPI server according to the instructions on the Zabbix website.
In the first step, select the following values:- Zabbix Packages
- Zabbix version: 6.0+
- OS distribution: CentOS
- OS version: 8 STREAM
- Zabbix component: AGENT
- Edit the configuration file
/etc/zabbix/zabbix_agentd.conf: change the parametersServer=andServerActive=to your server address,hostname=to the server hostname. - Change the context of the
/var/log/dpi/fastdpi_stat.logfile:chcon unconfined_u:object_r:zabbix_log_t:s0 /var/log/dpi/fastdpi_stat.log
- Open tcp/udp ports 10050 and 10051 in firewall
- Upload the ssg_userparams.conf file to the
/etc/zabbix/zabbix_agent.d/directory - Edit the
ssg_userparams.conffile by replacing the interface number inUserParameter
02-00.0should be replaced with the interface names of your server!
The name must match the DPI config. If you have more than 2 interfaces in use, you must add a line similar to the existing parameters.UserParameter=dpi.02-00.0.drops,tac /var/log/dpi/fastdpi_stat.log | sed /'IF 02-00.0'/q | tac | sed -e 1,/'Actual Stats'/d | sed '6!D' | awk '{print $1}' | sed 's/^.//'
- Restart the agent:
systemctl restart Zabbix-agent
Server setup
- Install and configure Zabbix servers according to the instructions on the official website.
- Add template zbx_export_templates.xml
1) Go to Configuration section
2) Templates section
3) Click “Import”
4) Import template file
5) Save changes

- Add a DPI server as a host
1) Go to Monitoring section
2) Hosts section
3) Click “Create host”
4) Set the required parameters, hostname, group and the previously added template
5) Save changes

- Edit the template: change the names of the interfaces and keys so that they match the
UserParameter.
Monitoring traffic distribution by class
SSG allows traffic distribution by class to be monitored.
1. Enable traffic prioritization. For the example, we will use the following prioritization rules:
dns cs0 http cs0 https cs0 Bittorrent cs7 ICMP cs0 TCP Unknown cs7 GOOGLEVIDEO cs1 default cs2
2. In the /etc/dpi/fastdpi.conf configuration, set the parameter:
dbg_log_mask=0x4
3. Enable common channel polysync (the example shown is polysync with full channel width restriction):
htb_inbound_root=rate 1300mbit htb_inbound_class0=rate 8bit ceil 1300mbit htb_inbound_class1=rate 8bit ceil 1300mbit htb_inbound_class2=rate 8bit ceil 1300mbit htb_inbound_class3=rate 8bit ceil 1300mbit htb_inbound_class4=rate 8bit ceil 1300mbit htb_inbound_class5=rate 8bit ceil 1300mbit htb_inbound_class6=rate 8bit ceil 1300mbit htb_inbound_class7=rate 8bit ceil 1300mbit htb_root=rate 1300mbit htb_class0=rate 8bit ceil 1300mbit htb_class1=rate 8bit ceil 1300mbit htb_class2=rate 8bit ceil 1300mbit htb_class3=rate 8bit ceil 1300mbit htb_class4=rate 8bit ceil 1300mbit htb_class5=rate 8bit ceil 1300mbit htb_class6=rate 8bit ceil 1300mbit htb_class7=rate 8bit ceil 1300mbit
4. Update the configuration:
service fastdpi reload
service fastdpi restart
5. Use the following custom settings for the zabbix agent installed on the SSG: ssg_userparams.conf
6. Import the template to the Zabbix server as described in the section "Monitoring via SNMP agent": zbx_export_templates.xml
View flow and protocol statistics
By flow
- IPv4/IPv6
- protocol type: 0 - IPv4, 1 - IPv6
- total allocated records
- a queue with a short lifespan:
- occupied records
- reusable
- difference 3.1 - 3.2 (number of active flows)
- also for the long line
- also total
Example:
fdpi_ctrl stat --flow IPv4 0 6784000 834 814 20 0 0 0 834 814 20
By protocols
- internal index of protocol statistics
- protocol name
- protocol port number
direction subs -→ inet
- number of packages
- volume in bytes ip total
- dropped packages
- dropped byte
direction inet -→ subs number of packages etc.
Example:
fdpi_ctrl stat --proto Autodetected fastdpi params : dev='em1', port=29001 connecting 94.140.198.68:29001 ... ================================ 94 'ntp' 123 0 0 0 0 91 23569 0 0 4081 'sip' 5060 0 0 0 0 2479 1170579 0 0 5812 'Bittorrent' 49165 0 0 0 0 0 0 3 495 5866 'ICMP' 65025 0 0 0 0 225 18900 0 0 5871 'TCP Unknown' 65030 0 0 0 0 41034 3448836 0 0 5880 'UDP Unknown' 65041 3900 4227600 0 0 277 24825 0 0 6000 'ARP' 65282 30 2520 0 0 30 2520 0 0 6056 'CHAMELEON' 49236 0 0 0 0 589 72475 0 0
Was this information helpful?