Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.pangolin.net/llms.txt

Use this file to discover all available pages before exploring further.

Try free on Pangolin Cloud

Fastest way to get started with Pangolin using the hosted control plane. No credit card required.
Pangolin exposes observability signals across multiple components, but not every component provides the same telemetry surface. This page explains which metrics, traces, logs, and profiling endpoints are available today, how they are exposed, and which collection patterns are recommended for production deployments. Newt provides the broadest native observability support with Prometheus metrics, OTLP metrics, OTLP traces, health checks, and optional pprof. Gerbil supports metrics through either a Prometheus backend or an OTLP backend. The Pangolin Kubernetes Controller exposes a Prometheus-compatible scrape endpoint and includes additional OTel-backed metric instruments on that endpoint.
This page focuses on Pangolin-native observability. For a community walkthrough that collects Traefik metrics with Prometheus and Grafana, see the community metrics guide.All currently documented component metrics are listed in the Full Metric Reference.

Capability Matrix

Compare metrics, traces, logs, and profiling support across Pangolin components.

Newt

Native Prometheus metrics, OTLP metrics, OTLP traces, health checks, and optional pprof.

Gerbil

Metrics-only observability using either a Prometheus or OTLP backend.

Kubernetes Controller

Prometheus scraping, health probes, ServiceMonitor examples, and optional pprof.

Observability Capability Matrix

ComponentMetricsTracesLogsProfiling
newtPrometheus, OTLPOTLPstdoutpprof optional
gerbilPrometheus or OTLPstdout
pangolin-kube-controllerPrometheus scrapestdoutpprof optional

Supported Signals

SignalWhat it means
Prometheus scrape metricsPull-based metrics served over HTTP on /metrics
OTLP metricsPush-based OpenTelemetry metrics sent to an OTel Collector or compatible backend
OTLP tracesDistributed traces sent to an OTel Collector or trace backend
Application logsstdout, file logs, audit logs, or platform logs
ProfilingDebug endpoints such as pprof

Collection Patterns

Use one or more of the following patterns depending on your deployment model. Prometheus scrape mode is the simplest option for local or Kubernetes monitoring. OTLP is useful when you already operate an OpenTelemetry Collector or want to forward telemetry to a managed backend such as Grafana Cloud, Mimir, or Tempo.
prometheus.yml (fragment)
scrape_configs:
  - job_name: newt
    static_configs:
      - targets: ["newt:2112"]

  - job_name: gerbil
    metrics_path: /metrics
    static_configs:
      - targets: ["gerbil:3003"]

  - job_name: pangolin-kube-controller
    static_configs:
      - targets: ["pangolin-kube-controller:9090"]

Newt

Newt metrics are not typically enabled in default deployments. Turn them on explicitly and expose the admin address only where you intend to scrape or profile. Available metrics are listed in Newt metrics.
NEWT_METRICS_PROMETHEUS_ENABLED=true
NEWT_METRICS_OTLP_ENABLED=true
NEWT_ADMIN_ADDR=:2112
OTEL_EXPORTER_OTLP_ENDPOINT=otel-collector:4317
OTEL_EXPORTER_OTLP_INSECURE=true
OTEL_METRIC_EXPORT_INTERVAL=15s
NEWT_PPROF_ENABLED=false
  • Prometheus scrape endpoint: /metrics on NEWT_ADMIN_ADDR
  • Health endpoint: /healthz on the same admin server
  • OTLP metrics: enabled with NEWT_METRICS_OTLP_ENABLED=true or --otlp=true
  • OTLP traces: initialized when OTLP export is enabled
  • Profiling: /debug/pprof/* when NEWT_PPROF_ENABLED=true
The Newt OTLP switch enables the OTLP telemetry pipeline. The current environment variable name contains METRICS, but the implementation also initializes OTLP tracing when OTLP is enabled.
Newt’s admin server defaults to a loopback bind address. In containers or Kubernetes, set NEWT_ADMIN_ADDR=:2112 or another non-loopback address only when you intentionally want Prometheus, pprof, or health checks to reach it.
prometheus.yml (fragment)
scrape_configs:
  - job_name: newt
    static_configs:
      - targets: ["newt:2112"]

Gerbil

Gerbil supports metrics only. Choose either a native Prometheus backend or an OTLP metrics backend at runtime. Those backends are mutually exclusive. Available metrics are listed in Gerbil metrics.
METRICS_ENABLED=true
METRICS_BACKEND=prometheus
METRICS_PATH=/metrics
LISTEN=:3003

# OTel mode
OTEL_METRICS_PROTOCOL=grpc
OTEL_METRICS_ENDPOINT=otel-collector:4317
OTEL_METRICS_INSECURE=true
OTEL_METRICS_EXPORT_INTERVAL=60s
OTEL_METRICS_TIMEOUT=10s
  • Prometheus metrics endpoint: METRICS_PATH, default /metrics
  • Metrics are served on Gerbil’s configured HTTP listen address
  • The Docker Compose metrics example commonly scrapes gerbil:3003
  • Health endpoint: /healthz
  • OTLP metrics: enabled when METRICS_BACKEND=otel
  • Traces: not supported yet
  • Profiling: not supported yet
prometheus.yml (fragment)
scrape_configs:
  - job_name: gerbil
    metrics_path: /metrics
    static_configs:
      - targets: ["gerbil:3003"]
Replace gerbil:3003 with the actual Gerbil HTTP listen address in your deployment.

Pangolin Kubernetes Controller

The controller exposes a Prometheus-compatible /metrics endpoint and standard health probes. It also registers additional OpenTelemetry metric instruments, but those instruments are exported on the same scrape endpoint rather than pushed through OTLP. Available metrics are listed in Controller metrics.
pprof is available only when explicitly enabled via ENABLE_PPROF=true.
METRICS_ADDR=:9090
DISABLE_LIVEZ=false
ENABLE_PPROF=false
Expose the controller metrics endpoint only inside trusted networks or through Kubernetes-native monitoring resources. If TLS or auth is required, terminate it with a Service mesh, Ingress, sidecar, or platform-specific monitoring gateway unless native TLS support is verified.
  • /metrics on METRICS_ADDR
  • /healthz and /readyz for readiness
  • /livez and /health/live for liveness unless DISABLE_LIVEZ=true
  • /debug/pprof/* when ENABLE_PPROF=true
service-and-servicemonitor.yaml
apiVersion: v1
kind: Service
metadata:
  name: pangolin-kube-controller
  labels:
    app: pangolin-kube-controller
spec:
  selector:
    app: pangolin-kube-controller
  ports:
    - name: http-metrics
      port: 9090
      targetPort: 9090
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: pangolin-kube-controller
spec:
  selector:
    matchLabels:
      app: pangolin-kube-controller
  endpoints:
    - port: http-metrics
      path: /metrics
      interval: 30s

Alerting Examples

increase(newt_connection_errors_total[5m]) > 10
histogram_quantile(
  0.95,
  sum(rate(newt_tunnel_latency_seconds_bucket[5m])) by (le)
) > 1
increase(newt_tunnel_reconnects_total[10m]) > 20

Community Metrics Guide

Traefik and metrics collection with Prometheus and Grafana.

Newt Kubernetes Monitoring

Verified Newt chart values for metrics, Services, and ServiceMonitor resources.

Controller Monitoring Values

Verified chart values for controller Services, ServiceMonitor, PodMonitor, and PrometheusRule resources.

Versions

ComponentSignalSince version
NewtPrometheus scrape metricsv1.6.0
NewtOTLP metricsv1.6.0
NewtOTLP tracesv1.6.0
Newtpprofv1.10.4
GerbilPrometheus scrape metricsv1.4.0
GerbilOTLP metricsv1.4.0
Pangolin Kubernetes ControllerPrometheus scrape metricsv0.1.0-alpha.1

Full Metric Reference

The full reference below is grouped by component.
  • Newt: Prometheus metrics, OTLP metrics, OTLP traces
  • Gerbil: Prometheus or OTLP metrics
  • Pangolin Kubernetes Controller: Prometheus-native metrics and additional OTel-backed scrape metrics
Metric names, labels, and defaults can change between component releases.

Newt metrics

newt
OpenTelemetry metric instruments exposed by Newt. Expand each section to see individual metrics with labels, units, emission points, and examples.

Gerbil metrics

gerbil
OpenTelemetry metric instruments exposed by Gerbil. Gerbil supports exactly one metrics backend at runtime: prometheus, otel, or none.
In otel mode, Gerbil pushes metrics to an OTLP collector. The /metrics endpoint is not exposed in this mode.

Pangolin Kubernetes Controller metrics

pangolin-kube-controller
Additional OpenTelemetry metric instruments exposed by the Pangolin Kubernetes Controller.
The controller exposes Prometheus-native metrics and additional OTel-backed metrics on the same /metrics endpoint. The OTel-backed series use the pangolin_controller_* prefix.

References

Have improvements or a missing metric? Open an issue or PR referencing this page.