SNMP monitoring via snmpd service

Description

SNMP is a protocol that allows retrieving information about the SSG server for centralized monitoring of critical parameters. The snmpd service from the operating system is used for this purpose.
How it works: an SNMP request is sent to the server, snmpd service retrieves the necessary information and sends it to the monitoring server. The monitoring server receives and processes this information, allowing to understand the server's status—tracking at which levels various parameters and data are located.

The bngsnmp package contains scripts needed to form the VENDOR branch of OIDs for SNMP polling.
It is based on the snmp_passpersist library. Vendor branch OID: .1.3.6.1.4.1.43823

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, FAN RPMs) — if supported by the BMC controller;
  • 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:

  • .1.3.6.1.2.1.2.2.1 — 32-bit counters
  • .1.3.6.1.2.1.31.1.1.1 — 64-bit counters

If necessary, you can disable the override by commenting out or deleting the following lines from /etc/snmp/snmpd.conf:

pass_persist    .1.3.6.1.2.1.2.2.1      /usr/local/bin/bng_snmp/vas_pp.py
pass_persist    .1.3.6.1.2.1.31.1.1.1   /usr/local/bin/bng_snmp/vas_pp_hc.py

Installation

  1. Installation:
    yum install bngsnmp
  2. Configuration:
    /bin/cp -f /etc/snmp/snmpd.conf.example /etc/snmp/snmpd.conf
  3. Restart the net-snmp service:
    systemctl restart snmpd
  4. Disable selinux (in case of error when starting SNMP):
    vi /etc/selinux/config
    ...
    SELINUX=disabled
    ...

Checking snmpd and vendor branch functionality

The snmpwalk utility allows you to check whether data is being received via SNMP:

  1. Install snmpwalk:
    dnf install net-snmp-utils
  2. Command to check SNMP functionality:
    snmpwalk -v 2c -c nokiamon localhost -On .1.3.6.1.4.1.43823

How to read the MIB file

If you need to see the MIB file in a graphical representation, you can open it through the MIB Browser. It will describe the entire vendor branch and its OIDs.
The example below shows:

  1. Vendor branch file
  2. Its OID

You can also create your own walk in the MIB Browser by specifying the server address

Known limitations

On-stick device support is available starting from version 13.2-beta4.2.