Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:dpi:dpi_components:platform:mon_stat:start [2024/09/26 08:41] – elena.krasnobryzh | en:dpi:dpi_components:platform:mon_stat:start [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== FastDPI monitoring and logs ====== | ||
- | {{indexmenu_n> | ||
- | System logs are presented as text files that are located in the / | ||
- | 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: | ||
- | - [[en: | ||
- | - [[en: | ||
- | - [[en: | ||
- | |||
- | [[en: | ||
- | |||
- | ===== 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 ''/ | ||
- | |||
- | =====Monitoring SNMPD===== | ||
- | ====Description==== | ||
- | SNMP is a protocol that allows retrieving information about the DPI server for centralized monitoring of critical parameters.\\ | ||
- | **How it works:** an SNMP request is sent to the server, it retrieves the necessary information and sends it to the monitoring server. The monitoring server receives and processes this information, | ||
- | |||
- | The '' | ||
- | It is based on the '' | ||
- | |||
- | Contents of the vendor branch: | ||
- | * CPU statistics, including core utilization by BNG processes; | ||
- | * number of illegitimate drops; | ||
- | * drop statistics on the dispatcher; | ||
- | * availability list of RADIUS servers (**when using a proxy or load balancer, this proxy will be shown in the statistics**); | ||
- | * number of DHCP subscribers — **when the function is active**; | ||
- | * list of VRFs and active subscribers in each — **when the function is active**; | ||
- | * DPDK interface statistics (number of packets, errors, signal level, etc.); | ||
- | * NAT statistics (list of profiles, list of pools, and number of translations for each public address) — **when the function is active**; | ||
- | * list of hardware modules installed on the motherboard — **if supported by the BMC controller**; | ||
- | * metrics from hardware sensors (voltage, power consumption, | ||
- | * utilization of DHCP server pools (supported __only by KEA-DHCP__ server) — **when the function is active**. | ||
- | |||
- | This script also overrides standard branches by adding statistics from DPDK interfaces: | ||
- | * '' | ||
- | * '' | ||
- | |||
- | If necessary, you can disable the override by commenting out or deleting the following lines from ''/ | ||
- | <code bash> | ||
- | pass_persist | ||
- | |||
- | < | ||
- | |||
- | ====Installation==== | ||
- | - Installation: | ||
- | - Configuration: | ||
- | - Restart the net-snmp service: <code bash> | ||
- | - Disable selinux (in case of error when starting SNMP): <code bash>vi / | ||
- | ... | ||
- | SELINUX=disabled | ||
- | ...</ | ||
- | |||
- | ====Checking SNMPD and vendor branch functionality==== | ||
- | The snmpwalk utility allows you to check whether data is being received via SNMP: | ||
- | - Install snmpwalk: <code bash>dnf install net-snmp-utils</ | ||
- | - Command to check SNMP functionality: | ||
- | |||
- | ====How to read the MIB file==== | ||
- | If you need to see the MIB file in a graphical representation, | ||
- | The example below shows: | ||
- | - Vendor branch file | ||
- | - Its OID | ||
- | {{: | ||
- | |||
- | < | ||
- | |||
- | ====Known limitations==== | ||
- | On-stick device support is available starting from version 13.2-beta4.2. | ||
- | |||
- | |||
- | ===== 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 ''/ | ||
- | * Errors in the ''/ | ||
- | * 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 [[https:// | ||
- | * Zabbix Packages | ||
- | * Zabbix version: 6.0+ | ||
- | * OS distribution: | ||
- | * OS version: 8 STREAM | ||
- | * Zabbix component: AGENT | ||
- | - Edit the configuration file ''/ | ||
- | - Change the context of the ''/ | ||
- | - Open tcp/udp ports 10050 and 10051 in firewall | ||
- | - Upload the {{ : | ||
- | - Edit the '' | ||
- | - Restart the agent: '' | ||
- | |||
- | ====Server setup==== | ||
- | - Install and configure Zabbix servers according to the [[https:// | ||
- | - Add template {{ : | ||
- | - 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 '' | ||
- | |||
- | |||
- | ===== 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: | ||
- | <code bash> | ||
- | dns cs0 | ||
- | http cs0 | ||
- | https cs0 | ||
- | Bittorrent cs7 | ||
- | ICMP cs0 | ||
- | TCP Unknown cs7 | ||
- | GOOGLEVIDEO cs1 | ||
- | default cs2 | ||
- | </ | ||
- | |||
- | 2. In the ''/ | ||
- | <code bash> | ||
- | |||
- | 3. Enable common channel polysync (the example shown is polysync with full channel width restriction): | ||
- | <code bash> | ||
- | 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: | ||
- | <code bash> | ||
- | service fastdpi reload | ||
- | </ | ||
- | |||
- | <note important> | ||
- | If polyscing for a shared channel is applied for the first time, you must restart the service: | ||
- | <code bash> | ||
- | </ | ||
- | |||
- | 5. Use the following custom settings for the zabbix agent installed on the SSG: | ||
- | {{ : | ||
- | |||
- | 6. Import the template to the Zabbix server as described in the section [[en: | ||
- | {{ : | ||
- | |||
- | <note important> | ||
- | |||
- | ==== View flow and protocol statistics ==== | ||
- | === By flow === | ||
- | - IPv4/ | ||
- | - 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\\ | ||
- | // | ||
- | <code ini> | ||
- | 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.//\\ | ||
- | // | ||
- | <code ini> | ||
- | Autodetected fastdpi params : dev=' | ||
- | connecting 94.140.198.68: | ||
- | |||
- | ================================ | ||
- | 94 ' | ||
- | 4081 ' | ||
- | 5812 ' | ||
- | 5866 ' | ||
- | 5871 'TCP Unknown' | ||
- | 5880 'UDP Unknown' | ||
- | 6000 ' | ||
- | 6056 ' |