Skip to main content

Field Reference

Use this page when you need to map SNMP trap log fields to meaning, source, type, population rules, query use, and sensitive-data handling.

SNMP trap rows are structured logs. Direct-journal jobs expose these fields through the Cloud-required snmp:traps Function and through journalctl --directory=.... OTLP export sends the same event as an OTLP LogRecord with OTLP attribute names; see OTLP mapping notes.

On this page — field index

Saw a field in a log row? Jump straight to its definition. Field families are listed alphabetically; each link lands on the section that defines it.

FieldWhere it is defined
_HOSTNAMESource identity fields
MESSAGEReport identity fields
ND_LOG_SOURCEReport identity fields
ND_NIDL_NODESource identity fields
PRIORITYReport identity fields
SYSLOG_IDENTIFIERReport identity fields
TRAP_CATEGORYTrap meaning fields, Decode error fields
TRAP_DECODE_ERRORDecode error fields
TRAP_DECODE_ERROR_KINDDecode error fields
TRAP_DEVICE_VENDOREnrichment fields
TRAP_ENGINE_IDPacket audit fields
TRAP_ENRICHMENTEnrichment fields
TRAP_INTERFACEEnrichment fields
TRAP_JOBReport identity fields
TRAP_JSONVarbind fields, Dedup summary fields, Packet audit fields
TRAP_LISTENERPacket audit fields
TRAP_NAMETrap meaning fields
TRAP_NEIGHBORSEnrichment fields
TRAP_OIDTrap meaning fields
TRAP_PACKET_SHA256Packet audit fields
TRAP_PACKET_SIZEPacket audit fields
TRAP_PDU_TYPETrap meaning fields
TRAP_REPORT_PERIOD_SECDedup summary fields
TRAP_REPORT_TYPEStart with report type, Report identity fields
TRAP_REVERSE_DNSSource identity fields
TRAP_SEVERITYTrap meaning fields, Decode error fields
TRAP_SOURCE_IPSource identity fields
TRAP_SOURCE_UDP_PEERSource identity fields
TRAP_SOURCE_UDP_PORTPacket audit fields
TRAP_SUPPRESSED_COUNTDedup summary fields
TRAP_SUPPRESSED_FINGERPRINTSDedup summary fields
TRAP_TAG_*Profile tag fields
TRAP_VAR_*Varbind fields
TRAP_VAR_*_RAWVarbind fields
TRAP_VERSIONTrap meaning fields, Decode error fields

For OTLP attribute names that map to these journal fields, see OTLP mapping notes. For the default facets used by the snmp:traps Function, see Default query fields.

Start with report type

Always check TRAP_REPORT_TYPE first. It tells you which field set to expect.

TRAP_REPORT_TYPEMeaningFields to expect
trapA decoded, accepted SNMP Trap or INFORM event.Trap meaning fields, source fields, optional enrichment fields, optional TRAP_TAG_*, optional TRAP_VAR_*, and TRAP_JSON.
deduplication_summaryA periodic summary for traps suppressed by deduplication.TRAP_SUPPRESSED_COUNT, TRAP_SUPPRESSED_FINGERPRINTS, TRAP_REPORT_PERIOD_SEC, and summary-shaped TRAP_JSON. Do not expect source, trap OID, trap name, or varbind fields on these rows.
decode_errorA received packet from an accepted source path failed decode, authentication, USM, or engine-ID handling.Source fields when known, decode-error fields, packet audit fields, and decode-error-shaped TRAP_JSON. Do not expect TRAP_OID, TRAP_NAME, or TRAP_VAR_*.

Report identity fields

These fields identify the row and the listener job that produced it.

FieldMeaningSourceTypePopulated whenQuery use and cautions
MESSAGEHuman-readable row message.Collector render path.stringAll report types.Good for reading rows. Do not use it as a stable grouping key. It can include device, source, or trap text.
PRIORITYSyslog priority derived from trap severity.Collector severity mapping.integer stringAll report types.Useful when a downstream journal or syslog tool expects syslog priority. In Netdata queries, prefer TRAP_SEVERITY.
SYSLOG_IDENTIFIERJournal identifier for the listener job.Job configuration.stringAll report types.Same operational identity as TRAP_JOB. Prefer TRAP_JOB for SNMP trap queries.
ND_LOG_SOURCENetdata log source discriminator.Collector constant.stringAll SNMP trap rows; value is snmp-trap.Use to separate SNMP trap rows from other journal rows.
TRAP_JOBListener job name.go.d/snmp_traps.conf.stringAll report types.Primary field for per-listener queries and SIEM routing. Job names may encode site or environment names.
TRAP_REPORT_TYPERow type.Collector.enumAll report types.Filter on this first to avoid treating optional fields as always present.

The Cloud-required snmp:traps Function also exposes direct-journal jobs as log sources. Individual journal entries use ND_LOG_SOURCE=snmp-trap. OTLP-only jobs do not create local journal files, so they do not appear as local job sources in the snmp:traps Function.

Trap meaning fields

These fields describe what the trap means after profile resolution and operator overrides.

FieldMeaningSourceTypePopulated whenQuery use and cautions
TRAP_OIDNumeric trap OID.SNMP PDU.stringtrap rows only.Use for exact matching, profile gaps, and vendor-specific trap searches.
TRAP_NAMEResolved trap name.Trap profile or built-in MIB knowledge.stringtrap rows when the OID resolves to a name.Default facet. It can be absent for unknown traps; fall back to TRAP_OID.
TRAP_CATEGORYOperational category.Trap profile, override, or decode-error classifier.enumtrap rows; decode_error rows when classified. Not on dedup summaries.Default facet. Values are state_change, config_change, security, auth, license, mobility, diagnostic, and unknown.
TRAP_SEVERITYOperational severity.Trap profile, override, or decode-error classifier.enumtrap rows; decode_error rows when classified. Not on dedup summaries.Default facet. Values are emerg, alert, crit, err, warning, notice, info, and debug.
TRAP_PDU_TYPESNMP PDU kind.SNMP PDU.enumDecoded trap rows when known.Values are trap and inform. Useful when INFORM delivery behavior matters.
TRAP_VERSIONSNMP protocol version.SNMP decoder.enumDecoded trap rows; decode-error rows when the version can be sniffed.Values are v1, v2c, and v3. Useful for migration, hardening, and decode-error triage.

Source identity fields

These fields identify where the trap came from and how Netdata selected the source identity.

FieldMeaningSourceTypePopulated whenQuery use and cautions
TRAP_SOURCE_IPSelected trap source IP.UDP peer, or trusted relay source attribution.stringtrap and decode_error rows when a source is known.Default facet. Use for per-device searches, including decode-error triage. Treat source IPs as sensitive in shared examples and exports.
TRAP_SOURCE_UDP_PEERImmediate UDP peer address.UDP packet metadata.stringtrap and decode_error rows when known.Use to distinguish direct device delivery from relay delivery.
_HOSTNAMESource device hostname, or source address fallback.Enrichment registry, topology context, or source fallback.stringNon-dedup rows when a hostname, source IP, or UDP peer is available.Default facet. Do not assume it came from DNS; check TRAP_REVERSE_DNS for PTR annotation.
ND_NIDL_NODENetdata virtual-node identity.Local Netdata device enrichment.stringNon-dedup rows when source enrichment finds an unambiguous vnode.Use when joining trap logs with Netdata node identity. It is optional.
TRAP_REVERSE_DNSReverse-DNS PTR annotation for the source IP.Optional reverse DNS enrichment.stringNon-dedup rows when reverse DNS is enabled and a cached lookup is available.Annotation only. It is not authoritative identity and should not replace TRAP_SOURCE_IP.

Enrichment fields

These fields add operator context when Netdata can resolve it locally.

FieldMeaningSourceTypePopulated whenQuery use and cautions
TRAP_DEVICE_VENDORDevice vendor slug.Local SNMP device registry or topology enrichment.stringNon-dedup rows when vendor is known.Default facet. Useful for vendor-specific storms and profile coverage checks.
TRAP_INTERFACEInterface associated with the trap.Local topology context.stringNon-dedup rows when an interface can be resolved.Use for interface incident triage. Interface names can reveal network design.
TRAP_NEIGHBORSNeighbor names associated with the trap interface.Local topology context.stringNon-dedup rows when neighbor context is available.Useful for L2 impact triage. Neighbor names can be sensitive; avoid public examples.
TRAP_ENRICHMENTJSON audit trail for source selection and enrichment decisions.Collector enrichment audit.JSON stringRows where enrichment audit data exists.Use for debugging why source, vnode, vendor, interface, neighbor, or reverse-DNS fields were or were not applied. Avoid faceting on it and review before forwarding wholesale.

TRAP_ENRICHMENT is for audit/debug. For normal filtering, use the concrete fields above, such as TRAP_SOURCE_IP, _HOSTNAME, TRAP_DEVICE_VENDOR, TRAP_INTERFACE, or TRAP_NEIGHBORS.

Varbind fields

Varbinds are the event-specific payload fields inside the trap. Netdata exposes them in two forms:

  • TRAP_VAR_* fields for indexed, query-friendly filtering.
  • TRAP_JSON for the full structured payload and audit copy.
Field patternMeaningSourceTypePopulated whenQuery use and cautions
TRAP_VAR_<NAME>Decoded event varbind value. Field names are normalized to uppercase.SNMP PDU plus trap profile varbind labels.stringtrap rows only, for non-sensitive, non-redundant varbinds.Prefer these fields for normal filtering. Examples: interface index, interface status, vendor event code. Do not assume every trap has the same varbind set.
TRAP_VAR_<NAME>_RAWRaw numeric value for an enum-backed varbind.SNMP PDU plus trap profile enum mapping.string or integer stringtrap rows only, when TRAP_VAR_<NAME> uses an enum label.Use when SIEM rules need numeric device values instead of human labels.
TRAP_JSONStructured payload JSON. For normal traps, contains non-sensitive varbind entries and netdata_packet_sequence when available. For summaries and decode errors, contains the matching summary or decode details.Collector serialization.JSON stringAll report types.Use for audit, payload inspection, and residual searches. Prefer TRAP_VAR_* for routine filtering. Review before forwarding because varbind values can contain operationally sensitive data.

TRAP_VAR_* naming rules:

RuleBehavior
Profile namesA profile varbind name becomes TRAP_VAR_<UPPERCASE_NAME>. Non-letter and non-digit characters become underscores.
OID fallbackIf a varbind has no name, the field is based on the numeric OID, for example TRAP_VAR_OID_....
DuplicatesDuplicate field bases get numeric suffixes such as _2.
Long namesLong field names are shortened and include a stable hash suffix. The full varbind name and OID remain available in TRAP_JSON.
Enum valuesThe main field uses the enum label. The _RAW field carries the raw numeric value.
Skipped fieldsTRAP_VAR_* skips the sensitive snmpTrapCommunity varbind and redundant protocol-control varbinds, including sysUpTime, snmpTrapOID, snmpTrapAddress, and snmpTrapEnterprise.

TRAP_JSON shape for normal trap rows:

JSON keyMeaning
netdata_packet_sequencePer-job receive counter assigned once per UDP datagram, when available.
<varbind name or OID>Object with oid, type, value, and optional enum.
<varbind name>#2Duplicate key suffix when more than one varbind would use the same JSON key.

Binary varbind values are represented as hex strings in TRAP_JSON. Journal fields with control characters or invalid UTF-8 can be binary-encoded. Treat binary values as payload data, not display text.

Unlike TRAP_VAR_*, TRAP_JSON keeps non-sensitive protocol-control varbinds such as sysUpTime, snmpTrapOID, snmpTrapAddress, and snmpTrapEnterprise. Only the sensitive snmpTrapCommunity varbind is omitted from TRAP_JSON.

Profile tag fields

Trap profiles and per-OID overrides can add operator labels. They are exposed as TRAP_TAG_*.

Field patternMeaningSourceTypePopulated whenQuery use and cautions
TRAP_TAG_<KEY>Profile or override label value. Label keys are uppercased for the journal field name.Trap profile or job override.stringRows where labels are applied. Most commonly trap rows.Use for local policy grouping, such as site class, compliance scope, or ownership. Tags are selectable fields but not default facets. Tag values may reveal internal organization.

Long tag keys are shortened with a hash suffix.

Dedup summary fields

Deduplication summary rows are not copies of the suppressed traps. They report suppression activity for a job and period.

FieldMeaningSourceTypePopulated whenQuery use and cautions
TRAP_SUPPRESSED_COUNTTotal traps suppressed in the summary period.Dedup cache.integerdeduplication_summary rows.Use to measure repeated-trap storm volume.
TRAP_SUPPRESSED_FINGERPRINTSNumber of distinct dedup fingerprints suppressed.Dedup cache.integerdeduplication_summary rows.Use to tell one repeated event from many repeated event classes.
TRAP_REPORT_PERIOD_SECSummary period length in seconds.Dedup reporter.integerdeduplication_summary rows.Use with suppressed count to understand the reporting window.
TRAP_JSONDedup summary JSON with total_suppressed, period_sec, fingerprints, and optional by_trap.Dedup reporter.JSON stringdeduplication_summary rows.Use for audit and per-trap-OID breakdown when present. Avoid treating it like a varbind payload.

Decode error fields

Decode-error rows are written for accepted source paths when Netdata can record a safe diagnostic without storing raw packet bytes.

Read this table together with Packet audit fields. Packet audit fields such as TRAP_LISTENER, TRAP_ENGINE_ID, TRAP_PACKET_SIZE, TRAP_PACKET_SHA256, and TRAP_SOURCE_UDP_PORT are also part of decode-error rows.

FieldMeaningSourceTypePopulated whenQuery use and cautions
TRAP_DECODE_ERROR_KINDBounded error class.Decoder classifier.enumdecode_error rows when classified.Use as the main decode-error facet. Values include malformed_pdu, auth_failures, usm_failures, unknown_engine_id, and decode_failed.
TRAP_DECODE_ERRORSanitized decoder error text.Decoder.stringdecode_error rows when available.Useful for local troubleshooting. It is sanitized and shortened, but still avoid pasting operational details into public artifacts.
TRAP_CATEGORYDecode-error category.Decode-error classifier.enumdecode_error rows when classified.Authentication, USM, and unknown engine-ID failures are categorized as auth; other decode failures are usually diagnostic.
TRAP_SEVERITYDecode-error severity.Decode-error classifier.enumdecode_error rows when classified.Decode errors are warning-level diagnostics.
TRAP_VERSIONSniffed SNMP version.Packet sniffer.enumdecode_error rows when the version can be read safely.Helps separate SNMPv1/v2c malformed packets from SNMPv3 auth or engine-ID problems.

Packet audit fields

Packet audit fields appear on decode-error rows. They help troubleshoot without writing raw packet bytes.

FieldMeaningSourceTypePopulated whenQuery use and cautions
TRAP_PACKET_SIZEReceived datagram size in bytes.UDP packet metadata.integerdecode_error rows.Use to spot oversized or truncated payload patterns.
TRAP_PACKET_SHA256SHA-256 fingerprint of the received datagram.Packet digest.hex stringdecode_error rows.Use to group repeated bad packets without storing raw bytes. It is a fingerprint, not packet content.
TRAP_LISTENERLocal listener endpoint that received the packet.Listener socket metadata.stringdecode_error rows when known.Useful when a job binds multiple endpoints. It can reveal local bind addresses.
TRAP_ENGINE_IDSNMPv3 engine ID extracted from a failed packet when safely available.SNMPv3 packet inspection.hex stringdecode_error rows when extractable.Not an auth or privacy secret, but it is a device identifier. Treat it as sensitive inventory data.
TRAP_SOURCE_UDP_PORTUDP source port.UDP packet metadata.integerdecode_error rows when known.Decode-error rows only; not present on normal trap rows.
TRAP_JSONDecode-error details JSON.Collector serialization.JSON stringdecode_error rows.Contains fields such as kind, error, packet size, packet hash, source port, listener, SNMP version, engine ID, and packet sequence when available. Do not confuse it with normal trap varbind JSON.

Raw packet bytes are not stored in decode-error rows because SNMP communities and binary payloads can appear inside received datagrams.

Default query fields

The snmp:traps Function uses these default facets:

FieldUse
TRAP_CATEGORYGroup by operational category.
TRAP_DEVICE_VENDORGroup by vendor when enrichment is available.
TRAP_NAMEGroup by resolved trap name.
TRAP_SEVERITYGroup by operational severity.
TRAP_SOURCE_IPGroup by selected source device address.
_HOSTNAMEGroup by resolved or fallback host identity.
TRAP_JOBGroup by listener job.

Recommended query pattern:

  1. Filter TRAP_REPORT_TYPE.
  2. Narrow with TRAP_JOB, TRAP_SOURCE_IP, _HOSTNAME, TRAP_NAME, TRAP_OID, TRAP_CATEGORY, or TRAP_SEVERITY.
  3. Use TRAP_VAR_* only after you know that the selected trap type emits that varbind.
  4. Inspect TRAP_JSON or TRAP_ENRICHMENT only when the indexed fields do not answer the question.

For examples, see Usage and output and Journal and querying.

Sensitive-data cautions

Treat trap logs as operational event data. They can contain sensitive inventory, network, security, and user context.

DataWhat Netdata doesOperator caution
SNMPv1/v2c community varbindsnmpTrapCommunity is omitted from TRAP_VAR_*, TRAP_JSON, and OTLP varbind payloads.Do not paste real community strings from configs, packet captures, or device CLIs into examples or tickets.
SNMPv3 auth and privacy valuesAuth keys and privacy keys are configuration secrets and are not emitted as trap log fields.Use Netdata secret references in configuration. Do not include resolved values in logs, docs, SIEM examples, or support artifacts.
TRAP_JSONStores structured payloads and audit details. Sensitive community varbinds are skipped, but other varbinds can still contain usernames, interface descriptions, MACs, public IPs, asset tags, locations, or vendor text.Prefer specific TRAP_VAR_* fields for rules. Review and minimize before forwarding, indexing, or sharing full payloads.
TRAP_VAR_*Exposes query-friendly event varbinds.Treat values as device-provided payload. Do not assume they are safe for public examples.
TRAP_ENRICHMENTRecords source and enrichment decisions.Can include hostnames, source addresses, interface names, neighbor names, and applied fields. Use for debugging, not broad faceting.
TRAP_ENGINE_IDExposes SNMPv3 engine ID when safely extracted from decode-error packets.Not a password, but it is an inventory identifier. Avoid public examples with real values.
Binary valuesTRAP_JSON encodes byte values as hex strings; journal fields can be binary-encoded when needed.Do not display or forward binary payloads without reviewing data classification.
OTLP headersHeader values can use Netdata secret references in configuration.Header values are transport credentials, not trap fields. Protect them like secrets.

OTLP mapping notes

When otlp.enabled is true, Netdata exports traps as OTLP LogRecords. OTLP uses attribute names, not journal field names.

Journal conceptOTLP locationNotes
Listener jobResource attribute service.instance.id; resource service.name is netdata-snmptrap.Use service.instance.id as the OTLP equivalent of TRAP_JOB.
MessageLog body.Equivalent to MESSAGE.
Report typeAttribute snmp.trap.report_type.Values match TRAP_REPORT_TYPE.
Event nameLogRecord event name.Normal traps use snmp.trap.<category>. Dedup summaries use snmp.trap.deduplication_summary. Decode errors use snmp.trap.decode_error.
SeverityOTLP severity number/text and attribute snmp.trap.severity.The attribute carries the Netdata severity slug.
Source IPAttribute snmp.source.ip.Equivalent to selected TRAP_SOURCE_IP; OTLP falls back to the UDP peer when the selected source IP is empty.
UDP peerAttribute network.peer.address.Similar to TRAP_SOURCE_UDP_PEER, but OTLP falls back to the selected source IP when the UDP peer is empty.
UDP source portAttribute network.peer.port.Decode-error rows only.
Trap OID and nameAttributes snmp.trap.oid and snmp.trap.name.Normal trap rows only.
Category and PDU typeAttributes snmp.trap.category and snmp.trap.pdu_type.Normal trap rows; decode errors may carry category.
SNMP versionAttribute snmp.version.Normal trap rows and decode-error rows when known.
Device identity and enrichmentAttributes snmp.device.hostname, snmp.device.vendor, netdata.nidl.node, netdata.topology.interface, netdata.topology.neighbors, and snmp.source.reverse_dns.Populated only when the matching journal enrichment field is available.
Profile tagsAttributes named trap.<lowercase key>.Equivalent to TRAP_TAG_*.
Varbind payloadAttribute snmp.varbinds.OTLP does not export separate TRAP_VAR_* fields. For normal traps, this is the structured varbind list. For decode-error rows, it contains decode diagnostic details. For dedup-summary rows, it contains summary counters. Sensitive community varbinds are omitted.
Dedup summaryAttributes snmp.trap.suppressed_count, snmp.trap.suppressed_fingerprints, and snmp.trap.report_period_sec; summary details in snmp.varbinds.Equivalent to dedup summary journal fields.
Decode error and packet auditAttributes snmp.trap.decode_error.kind, snmp.trap.decode_error.message, snmp.trap.packet_size, snmp.trap.packet_sha256, netdata.trap.listener, and snmp.engine_id; details also in snmp.varbinds.Equivalent to decode-error and packet audit journal fields.

When forwarding to a SIEM, decide whether the SIEM ingests direct-journal fields or OTLP attributes. Build rules against the field names that actually arrive in that system. See Forwarding to SIEM.

What's next


Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.