githubEdit

Export to Your Observability Backend

Mermin exports Flow Traces via the OpenTelemetry Protocol (OTLP), compatible with any OTLP-enabled observability backend or collector.

What You Need

To receive Flow Traces from Mermin, you need one of:

  1. OTLP-Enabled Collector: OpenTelemetry Collector that receives OTLP and forwards to your backend(s)

  2. OTLP Data Platform: An observability platform with native OTLP ingestion

The OpenTelemetry Collector provides the most flexibility:

  • Receives OTLP from Mermin via gRPC or HTTP

  • Processes, batches, and transforms telemetry data

  • Exports to multiple backends simultaneously

  • Provides buffering and retry logic

Example Configuration: See Mermin with OpenTelemetry Collector for a complete setup with OpenTelemetry Collector, including Mermin configuration and collector pipeline.

Basic Mermin Configuration

export "traces" {
  otlp = {
    endpoint = "http://otel-collector:4317"  # Collector's OTLP gRPC endpoint
    protocol = "grpc" # Optional; Mermin defaults to "grpc".
  }
}

OTLP-Compatible Data Platforms

Flow Traces work with any platform supporting OTLP trace ingestion:

Elastic Stack

Elasticsearch with APM Server or OpenTelemetry Collector ingests OTLP traces.

Use Case: Full-text search, complex aggregations, APM integration, machine learning

How to Connect:

  • Point Mermin → OpenTelemetry Collector → Elasticsearch exporter

  • Or point Mermin → Elastic APM Server (OTLP endpoint)

Example: See docs/deployment/examples/netobserv-os-simple-svc/ for OpenSearch (Elastic-compatible) deployment

OpenSearch

Open-source alternative to Elasticsearch with native OTLP support via OpenTelemetry Collector.

Use Case: Open-source search and analytics, cost-effective storage

Examples:

Greptime Ingestion

Greptime is a database designed for high-cardinality time series data that supports OTLP ingestion.

Example: docs/deployment/examples/greptime_simple_svc

Grafana Cloud, Datadog, New Relic, Honeycomb, etc

Most commercial observability platforms support OTLP ingestion.

How to Connect:

  1. Obtain your platform's OTLP endpoint URL

  2. Configure authentication (usually API key or bearer token)

  3. Point Mermin to the endpoint with auth

Examples: Coming soon...

Flow Trace Data Model

Each Flow Trace is an OpenTelemetry span containing:

Span Attributes:

  • Network 5-tuple: source/dest IPs, ports, protocol

  • Bidirectional counters: bytes sent/received, packets sent/received

  • TCP state: flags (SYN, FIN, RST), connection state

  • Kubernetes metadata: pod, service, deployment, namespace, labels

  • Community IDarrow-up-right for flow correlation across monitoring points

Resource Attributes:

  • Kubernetes cluster name

  • Node name

  • Mermin version

Query Flow Traces using native backend query languages (TraceQL, KQL, Lucene).

Testing with Stdout

For local development and testing, output Flow Traces to stdout instead of OTLP:

View traces in Mermin logs:

Next Steps

  1. Configure OTLP Export: Set up endpoints, authentication, and TLS

  2. Review Example Configurations: Complete deployment examples with backends

Need Help?

Last updated