SNMP Querying
Examples of querying AthenaBNG via SNMP. All OIDs are under enterprise prefix 1.3.6.1.4.1.65245. Replace my-community with your configured community string.
Session Queries
Get Active Session Count
snmpget -v2c -c my-community localhost 1.3.6.1.4.1.65245.2.1.0
Output:
ATHENA-BNG-MIB::abngSessionsActive.0 = Gauge32: 1234
Get PPPoE / DHCP Split
snmpget -v2c -c my-community localhost \
1.3.6.1.4.1.65245.2.2.0 \
1.3.6.1.4.1.65245.2.3.0
Get Authenticating Sessions
snmpget -v2c -c my-community localhost 1.3.6.1.4.1.65245.2.4.0
Traffic Queries
Aggregate Bytes In/Out
snmpget -v2c -c my-community localhost \
1.3.6.1.4.1.65245.2.6.0 \
1.3.6.1.4.1.65245.2.7.0
Total Provisioned Bandwidth
snmpget -v2c -c my-community localhost \
1.3.6.1.4.1.65245.2.10.0 \
1.3.6.1.4.1.65245.2.11.0
QoS Queries
# Sessions with CAKE applied vs pending
snmpget -v2c -c my-community localhost \
1.3.6.1.4.1.65245.3.1.0 \
1.3.6.1.4.1.65245.3.2.0 \
1.3.6.1.4.1.65245.3.3.0
CGNAT Queries
# CGNAT vs public session split
snmpget -v2c -c my-community localhost \
1.3.6.1.4.1.65245.4.1.0 \
1.3.6.1.4.1.65245.4.2.0
Service Health Checks
TruthValue: 1 = up, 2 = down.
# Check all services
snmpwalk -v2c -c my-community localhost 1.3.6.1.4.1.65245.6
# Check abngd specifically
snmpget -v2c -c my-community localhost 1.3.6.1.4.1.65245.6.1.0
Walk Queries
Walk All Metrics
snmpwalk -v2c -c my-community localhost 1.3.6.1.4.1.65245
Walk Subscriber Group Only
snmpwalk -v2c -c my-community localhost 1.3.6.1.4.1.65245.2
Bulk Queries
snmpbulkget -v2c -c my-community -Cr28 localhost 1.3.6.1.4.1.65245
Monitoring Tools
Nagios/Icinga
# Alert on session count
check_snmp -H localhost -C my-community -o 1.3.6.1.4.1.65245.2.1.0 -w 4000 -c 5000
# Alert if abngd is down
check_snmp -H localhost -C my-community -o 1.3.6.1.4.1.65245.6.1.0 -c 1:1
# Alert if QoS pending > 0
check_snmp -H localhost -C my-community -o 1.3.6.1.4.1.65245.3.3.0 -w 1 -c 10
Prometheus SNMP Exporter
Configure snmp.yml:
athenabng:
walk:
- 1.3.6.1.4.1.65245
metrics:
- name: athenabng_sessions_active
oid: 1.3.6.1.4.1.65245.2.1
type: gauge
- name: athenabng_sessions_pppoe
oid: 1.3.6.1.4.1.65245.2.2
type: gauge
- name: athenabng_sessions_dhcp
oid: 1.3.6.1.4.1.65245.2.3
type: gauge
- name: athenabng_total_bytes_in
oid: 1.3.6.1.4.1.65245.2.6
type: counter
- name: athenabng_total_bytes_out
oid: 1.3.6.1.4.1.65245.2.7
type: counter
- name: athenabng_qos_sessions_active
oid: 1.3.6.1.4.1.65245.3.1
type: gauge
- name: athenabng_cgnat_sessions
oid: 1.3.6.1.4.1.65245.4.1
type: gauge
- name: athenabng_dynamic_vlans
oid: 1.3.6.1.4.1.65245.5.1
type: gauge
- name: athenabng_service_abngd
oid: 1.3.6.1.4.1.65245.6.1
type: gauge
Troubleshooting
SNMP Not Responding
-
Check SNMP agent is running:
sudo systemctl status snmpd -
Check SNMP port is listening:
sudo ss -ulnp | grep :161 -
Check firewall allows UDP 161:
sudo nft list ruleset | grep 161
Wrong Community String
snmpget -v2c -c wrong localhost 1.3.6.1.4.1.65245.2.1.0
Error:
No SNMP response received before timeout
Solution: Use the community string from your snmp: config section.
MIB Not Found
snmpget -v2c -c my-community localhost ATHENA-BNG-MIB::abngSessionsActive.0
Error:
Unknown Object Identifier (ATHENA-BNG-MIB::abngSessionsActive.0)
Solution: Install the MIB file:
sudo cp /opt/athena-bng/snmp/ATHENA-BNG-MIB.txt /usr/share/snmp/mibs/
Next Steps
- MIB Reference — Full OID reference (all 28 metrics)
- Overview — SNMP overview