Plugin: go.d.plugin Module: snmp_traps
Receive, decode, and store SNMP traps and INFORMs from Scte devices with Netdata. The bundled Scte trap profile decodes 5 trap definitions across 4 MIBs into structured journal events with named, typed varbinds — searchable and filterable in the Logs tab.
Netdata’s SNMP trap listener receives traps on UDP/162, matches them to the Scte enterprise OID space, and decodes the varbinds using the bundled Scte trap profile. No per-trap configuration.
This integration is supported on all platforms.
This integration supports multiple instances configured side-by-side.
Traps from Scte devices are decoded automatically once the device is pointed at the Agent’s trap listener.
The default configuration for this integration does not impose any limits.
The default configuration for this integration is not expected to impose a significant performance impact on the system.
You can configure the snmp_traps collector in two ways:
| Method | Best for | How to |
|---|---|---|
| UI | Fast setup without editing files | Go to Nodes → Configure this node → Collectors → Jobs, search for snmp_traps, then click + to add a job. |
| File | If you prefer configuring via file, or need to automate deployments (e.g., with Ansible) | Edit go.d/snmp_traps.conf and add a job. |
Important
UI configuration requires paid Netdata Cloud plan.
The devices must be configured to send SNMP traps or INFORMs to the Netdata Agent acting as the site’s trap receiver, and the trap port must be reachable from them.
Jobs that write direct journals store them under ${NETDATA_LOG_DIR}/traps/ — /var/log/netdata on package installs, /opt/netdata/var/log/netdata on static ones. Job creation fails if that directory is missing or unwritable. A job that only exports over OTLP can set journal.enabled: false instead.
The default listener is UDP/162, a privileged port: binding it needs CAP_NET_BIND_SERVICE or root on Linux. Netdata packages grant this capability, so standard installations just work; hardened or custom deployments must grant it, or move the listener to an unprivileged port.
Configure the trap listener: the address and port it binds, the SNMP versions and credentials it accepts, and the enrichment options — see the SNMP Trap Listener page for the full option reference. Trap decoding itself needs no configuration: the stock trap profiles ship with Netdata.
Configure the snmp_traps collector from the Netdata web interface:
The configuration file name for this integration is go.d/snmp_traps.conf.
The file format is YAML. Generally, the structure is:
update_every: 1
autodetection_retry: 0
jobs:
- name: some_name1
- name: some_name2
You can edit the configuration file using the edit-config script from the
Netdata config directory.
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/snmp_traps.conf
A single listener on the standard trap port, accepting any SNMPv1/v2c community. listen is required: without an endpoint the job binds nothing. Restrict the allowlist for production.
jobs:
- name: local
listen:
endpoints:
- protocol: udp
address: 0.0.0.0
port: 162
versions:
- v1
- v2c
Netdata decodes 5 trap definitions from Scte across 4 MIBs into structured journal events. A trap is decoded only if the device actually sends it; inclusion here means the profile can decode it.
By severity: err 1 · warning 2 · notice 2
By category: state_change 2 · diagnostic 3
| MIB | Trap definitions |
|---|---|
SCTE-HMS-COMMON-MIB | 2 |
SCTE-HMS-ALARMS-MIB | 1 |
SCTE-HMS-HE-COMMON-MIB | 1 |
SCTE-HMS-HMTS-MIB | 1 |
SCTE-HMS-COMMON-MIB::hmsColdStartSCTE-HMS-ALARMS-MIB::hmsAlarmEventSCTE-HMS-COMMON-MIB::hmsWarmStartSCTE-HMS-HE-COMMON-MIB::heCommonAlarmEventSCTE-HMS-HMTS-MIB::hmtsRegistrationFailedEventThere are no alerts configured by default for this integration.
Want a personalised demo of Netdata for your use case?