FREEDOM251

Freedom251 › eBPF Observability Tools

Mermin

Paid LinuxSelf-hosted

Visit Mermin Alternatives

Mermin's own site

What Mermin is

Mermin is a free, open-source network traffic tool for Linux. It uses eBPF to aggregate packets into bidirectional flows with connection state tracking, then exports OpenTelemetry Flow Traces over OTLP. It does not record packet payloads and provides L3/L4 visibility, not L7 visibility. It supports TCP, UDP, and ICMP traffic, and lists VXLAN, Geneve, and WireGuard among common tunneling protocols. Operators can deploy it as a Kubernetes DaemonSet with one pod per node, or as a privileged container on bare metal. Flow records can include Kubernetes Pod, Service, Deployment, and label metadata; configurable filters control what is captured and exported. Listed observability destinations include Elastic, Grafana Tempo, and Jaeger. Mermin captures traffic without application changes, sidecars, or a service mesh. It requires Linux kernel 5.14 or newer with eBPF and BTF support; Kubernetes deployments require Kubernetes 1.20 or newer. Privileged mode is needed to load eBPF programs and access network interfaces. The documentation identifies a gap for tunneled or encapsulated traffic on physical interfaces.

Who it suits

Mermin suits Linux and Kubernetes operators who need network flow visibility without changing applications or adding sidecars. It is not intended for L7 visibility or packet payload capture.

What it does well

  • Exports OpenTelemetry Flow Traces over OTLP
  • Captures traffic without application changes or sidecars
  • Adds Kubernetes metadata to flows
  • Configurable filters control captured and exported flows
  • Runs as a DaemonSet or privileged bare-metal container

What to know first

  • Requires Linux kernel 5.14 or newer
  • Kubernetes deployment requires Kubernetes 1.20 or newer
  • Requires privileged mode
  • Does not provide L7 visibility

Verdict

Mermin offers configurable L3/L4 flow collection for Linux, with Kubernetes metadata and OTLP export. Its kernel, Kubernetes, and privilege requirements—and the physical-interface tunneling gap—are worth checking against your environment.

Facts from Mermin's own pages

Bare metal
Mermin can run as a privileged container on bare metal. · github.com, 8 Oct 2026
Code changes
Mermin captures traffic without application changes, sidecars, or a service mesh. · docs.mermin.dev, 8 Oct 2026
Data detail
Mermin aggregates packets into bidirectional flows with connection state tracking and does not capture packet payloads. · docs.mermin.dev, 8 Oct 2026
Deployment
Mermin runs as a Kubernetes DaemonSet with one pod per node, or as a privileged container on bare metal. · docs.mermin.dev, 8 Oct 2026
Export and integrations
Mermin exports through OTLP to observability backends including Elastic, Grafana Tempo, and Jaeger. · github.com, 8 Oct 2026
Filtering
Mermin supports configurable fine-grained filters to control which flows are captured and exported. · docs.mermin.dev, 8 Oct 2026
Integrations
Its native OTLP output can send Flow Traces to observability platforms such as Tempo, Jaeger, and Elastic. · docs.mermin.dev, 8 Oct 2026
Kubernetes enrichment
Flows can include Kubernetes Pod, Service, Deployment, and label metadata. · docs.mermin.dev, 8 Oct 2026
Layer coverage
The documentation describes Mermin as providing L3/L4 visibility, not L7 visibility. · docs.mermin.dev, 8 Oct 2026
License
Mermin is Apache 2.0 licensed except for its eBPF code, which is GPL-2.0 licensed. · github.com, 8 Oct 2026
Licensing
The repository says Mermin is distributed under Apache License 2.0 except for eBPF code, which is under GNU GPL version 2. · github.com, 8 Oct 2026
Maker
ElastiFlow says its project was created by Rob Cowart, who started it on GitHub in May 2017. · elastiflow.com, 8 Oct 2026
Maker history
ElastiFlow’s About page says founder Rob Cowart started the GitHub project in May 2017. · elastiflow.com, 8 Oct 2026
Metadata
Flows can include Kubernetes Pod, Service, Deployment, and label metadata. · docs.mermin.dev, 8 Oct 2026
Network layer limit
Mermin provides L3/L4 visibility rather than L7 visibility. · docs.mermin.dev, 8 Oct 2026
No application changes
Mermin captures traffic without sidecars, application modifications, or a service mesh. · docs.mermin.dev, 8 Oct 2026
Privileges
Mermin requires privileged mode to load eBPF programs and access network interfaces. · docs.mermin.dev, 8 Oct 2026
Protocols
Mermin supports TCP, UDP, and ICMP traffic and lists VXLAN, Geneve, and WireGuard as common tunneling protocols. · docs.mermin.dev, 8 Oct 2026
Purpose
Mermin captures network traffic with eBPF and exports network flows as OpenTelemetry Flow Traces. · github.com, 8 Oct 2026
Requirements
Mermin requires Linux kernel 5.14 or newer with eBPF and BTF support, and Kubernetes 1.20 or newer for Kubernetes deployments. · docs.mermin.dev, 8 Oct 2026
Support
Mermin directs users to GitHub Issues, GitHub Discussions, Slack, and its troubleshooting guide for help. · docs.mermin.dev, 8 Oct 2026
Traffic visibility limit
The documentation says Mermin currently lacks support for tunneled or encapsulated traffic on physical interfaces. · docs.mermin.dev, 8 Oct 2026

Where Mermin stands on Freedom251

Look at these too