Dash0 Logo
Infrastructure MonitoringLog ManagementApplication Performance ManagementDistributed TracingKubernetes MonitoringWebsite MonitoringSynthetic MonitoringDashboardsAlertingService MapIntegrationsTransparent CostObservability as Code
PricingDocs
GuidesBlogKnowledgeComparisonsPodcastNewsletterIntegerationsChangelog
Contact usMeet our TeamCareersSecurity
  • Book A Demo
  • Sign In
  • Start Free Trial
Book a demoSign in
Start Free Trial

Resources

  • Pricing
  • Blog
  • Guides
  • Knowledge
  • Comparisons
  • Integrations
  • Documentation
  • Glossary
  • OTelBin.io
  • Sitemap

Company

  • Our Team
  • Careers
  • Trust Center
  • Security

Compare

  • Datadog
  • Grafana
  • Dynatrace
  • New Relic
  • Elastic
  • Honeycomb
  • Sentry

Contact

  • Contact us
  • GitHub
  • LinkedIn
  • X
  • YouTube
  • Dash0 Newsletter
  • Terms and Conditions
  • Privacy Policy
  • Data Processing Agreement
  • Vulnerability Disclosure

©2025 Dash0 Inc.

Hub/Contour

Technology

Contour

Monitor Contour ingress controller performance, request routing, and traffic patterns with OpenTelemetry metrics and distributed tracing.

Dashboards

Contour Overview

Monitor Contour service request rates, latency percentiles, HTTP status codes, active connections, and Envoy resource usage

[contour]
[envoy]
[gateway]
Contour Overview
In this section
    TechnologyOverviewUse CasesSetupOverviewConfigurePrerequisitesCollecting TelemetryDashboards

Overview

Overview

Contour is a modern, high-performance ingress controller for Kubernetes that uses Envoy Proxy as its data plane. Contour offers advanced traffic management capabilities including load balancing, TLS termination, and request routing.

This integration provides complete observability for Contour deployments using OpenTelemetry-native instrumentation for distributed tracing, plus Prometheus metrics and structured JSON access logs collected via the OpenTelemetry Collector.

For more information, visit the Contour Documentation.

Use Cases

Gain comprehensive visibility into your Contour setup and optimize performance with the following observability features:

  • Monitor Request Flows with Tracing: Visualize the full lifecycle of requests across services. Powered by Envoy's OpenTelemetry support, Contour's distributed tracing provides insight into latency, headers, and spans—ideal for debugging and performance tuning.
  • Track System and Traffic Metrics: Collect real-time performance data such as request counts, durations, retries, open connections, and cluster health from both Contour and Envoy components.
  • Audit and Analyze Traffic with Access Logs: Record detailed information about incoming requests, including IPs, headers, duration, response status, and trace context. Export structured JSON logs via the OpenTelemetry Collector for centralized analysis in Dash0.
  • Monitor Resource Usage: Track Envoy memory usage, connection states, and upstream cluster health to ensure optimal performance and capacity planning.

Use this integration to streamline monitoring of your edge traffic, debug routing issues, and ensure your platform services are operating efficiently.

Setup

Overview

Contour includes built-in support for observability via OpenTelemetry distributed tracing, Prometheus metrics, and structured access logs. This integration uses the recommended pattern of deploying an OpenTelemetry Collector in your cluster to collect telemetry from Contour and Envoy and forward it to Dash0.

For more details, refer to the Contour Tracing Documentation and Envoy Metrics Documentation.

Configure

Prerequisites

You'll need an OpenTelemetry Collector deployed in your cluster to collect telemetry from Contour and forward it to Dash0.

For production environments, consider using one of these deployment methods:

  • Dash0 operator for Kubernetes
  • OpenTelemetry Operator for Kubernetes
  • Helm Chart for The OpenTelemetry Collector

For a complete working example with collector configuration, see the Dash0 Contour Example.

Collecting Telemetry

Step 1: Configure OpenTelemetry Collector

The OpenTelemetry Collector needs specific configuration to collect all three signals from Contour:

Prometheus Receiver for Metrics

Configure the Collector to scrape metrics from both Contour and Envoy using the prometheus receiver:

Filelog Receiver for Access Logs

Configure the Collector to collect Envoy access logs from container logs using the filelog receiver:

OTTL Transform for Trace Context

Use OpenTelemetry Transformation Language (OTTL) to extract trace and span IDs from the traceparent header in access logs:

Note: Envoy doesn't expose trace_id and span_id tokens directly. The OTTL transformation extracts these from the traceparent header and sets trace_id.string and span_id.string, which Dash0 accepts for correlation.

Complete Collector Configuration

For a complete collector configuration example, see the Dash0 Contour Example which includes:

  • DaemonSet mode: For log collection using filelog receiver with OTTL transforms
  • Deployment mode: For centralized metrics scraping and trace collection
  • Kubernetes enrichment: Adding pod, namespace, and cluster metadata
  • Dash0 exporter: Authentication and endpoint configuration

Step 2: Configure ExtensionService

Create an ExtensionService that points to your configured OpenTelemetry Collector:

Step 3: Configure Contour Tracing and Logging

Create a ContourConfiguration to enable distributed tracing and structured access logs:

Step 4: Deploy Contour with Configuration

Install Contour using the Bitnami Helm chart (since the official chart isn't published yet):

For more details, refer to the Contour Tracing, Envoy Metrics, and Contour Metrics documentation.

For a complete working example with Contour, OpenTelemetry Collector, and demo applications, see the Dash0 Contour Example.