Skip to main content
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

Supported Signals

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)

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.
  • 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)

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.
  • 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)
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.
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

Alerting Examples

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

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

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

Gerbil metrics

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

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.