serban.pro

From noisy traps
to actionable signals.

An open-source Go daemon that sits between SNMP senders and receivers, reducing repeated alarms while preserving the original trap payload.

Explore the story
MY ROLECreator & sole developer
PRODUCT SCOPEGo daemon · Linux service · Observability
BUILT FORNetwork operations & monitoring platform teams
View source on GitHub
SNMP Trap RelayNETWORK OPERATIONS · OPEN SOURCE
SNMP senders
→
snmptrap-relayFILTER · DEDUP · FORWARD
→
SNMP receivers
configurable rulesSNMP v1 / v2c / v3Prometheus metricsIPv4 / IPv6
System flow at a glance01 / 03

01 / THE STARTING POINT

Alarm storms hide the events that need attention.

Network platforms can emit the same trap repeatedly during an incident. Passing every duplicate downstream adds load and noise, while blanket filtering can remove the clear event or context needed to understand what happened.

SNMP Trap Relay applies ordered filter rules and in-memory deduplication before forwarding. It can hold an alarm until its matching clear trap arrives, keep the payload unchanged and record what was filtered, suppressed, cleared or forwarded.

01

Preserve the signal

Forward accepted SNMP datagrams without rewriting their payload.

02

Control the noise

Use configurable filters, alarm keys and per-rule TTL windows for deduplication.

03

Operate with evidence

Expose logs, health checks and Prometheus metrics for the complete relay flow.

02 / PRODUCT STRUCTURE

A focused relay with an observable processing path.

01

Receive & parse

Accept SNMP v1, v2c and configured v3 traps over UDP on IPv4 or IPv6.

02

Filter & deduplicate

Evaluate ordered rules, alarm keys, TTL windows and embedded clear traps.

03

Forward & observe

Send accepted datagrams to one or more receivers and publish logs, metrics and health state.

GoSNMP v1 / v2c / v3UDPYAMLPrometheussystemdIPv4 / IPv6

03 / OPERATIONAL MODEL

Operational behavior is part of the product design.

The relay is configured in YAML, validates configuration before startup and supports reload on SIGHUP. Bounded queues, worker controls, memory limits and explicit overload counters make its behavior easier to understand in production.

04 / WHERE IT STANDS

Open source and ready for real environments.

The Apache-2.0 repository includes configuration examples, architecture and installation documentation, a systemd service, Prometheus-compatible metrics, a health endpoint and a local performance harness.

Explore the source

Reliable operations depend on seeing the right signal at the right time. The relay makes that path explicit, configurable and observable.

George Serban / Creator & sole developer
NEXT CASE STUDY

Infracheck

THE NEXT GOOD IDEA STARTS WITH A CONVERSATION

Let’s build
something that matters.

A product idea, a challenging platform, or a new team to build with. I’d like to hear about it.