New announcements for Serverless, Network, RUM, and more from Dash! New announcements from Dash!

Traefik

Agent Check Agent Check

Supported OS: Linux Mac OS Windows

Overview

This integration collects data from Traefik in order to check its health and monitor:

  • Errors logs (4xx codes, 5xx codes)
  • Number of requests
  • Number of bytes exchanged

Setup

Installation

If you are using Agent v6.8+ follow the instructions below to install the Traefik check on your host. See our dedicated Agent guide for installing community integrations to install checks with the Agent prior v6.8 or the Docker Agent:

  1. Install the developer toolkit.
  2. Clone the integrations-extras repository:

    git clone https://github.com/DataDog/integrations-extras.git.
    
  3. Update your ddev config with the integrations-extras/ path:

    ddev config set extras ./integrations-extras
    
  4. To build the traefik package, run:

    ddev -e release build traefik
    
  5. Download and launch the Datadog Agent.

  6. Run the following command to install the integrations wheel with the Agent:

    datadog-agent integration install -w <PATH_OF_TRAEFIK_ARTIFACT_>/<TRAEFIK_ARTIFACT_NAME>.whl
    
  7. Configure your integration like any other packaged integration.

Configuration

  1. Edit the traefik.d/conf.yaml file in the conf.d/ folder at the root of your Agent’s configuration directory to start collecting your Traefik metrics or logs. See the sample traefik.d/conf.yaml for all available configuration options.

  2. Restart the Agent

Metric Collection

Add this configuration setup to your traefik.yaml file to start gathering your metrics:

init_config:

instances:
  - host: 10.1.2.3
    port: "8080"
    path: "/health"

Configuration Options:

  • host: Traefik endpoint to query. Required
  • port: API listener of Traefik endpoint. Default value 8080. Optional
  • path: Path of Traefik health check endpoint. Default /health. Optional

Restart the Agent to begin sending Traefik metrics to Datadog.

Log Collection

Available for Agent >6.0

By default Traefik logs are sent to stdout. This should not be changed for containerized version, as the Datadog Agent is able to collect logs directly from container stdout/stderr.

To configure Traefik to log to a file, add the following in the Traefik configuration file:

[traefikLog]
  filePath = "/path/to/traefik.log"

The common Apache Access format is used by default and is supported by this integration.

  1. Collecting logs is disabled by default in the Datadog Agent. Enable it in your datadog.yaml file with:

      logs_enabled: true
  2. Add this configuration block to your traefik.d/conf.yaml file at the root of your Agent’s configuration directory to start collecting your Traefik logs:

      logs:
        - type: file
          path: /path/to/traefik.log
          source: traefik
          service: traefik
  • Change the path and service parameter values and configure them for your environment.

  • Restart the Agent

Validation

Run the Agent’s status subcommand and look for traefik under the Checks section.

Compatibility

The check is compatible with all major platforms.

Data Collected

Metrics

traefik.total_status_code_count
(gauge)
total count for each returned status code
traefik.total_count
(gauge)
count total number of requests

Events

The Traefik check does not include any events.

Service Checks

Query Traefik and expect 200 as return status code.

Development

Refer to the main documentation for more details about how to test and develop Agent based integrations.


Mistake in the docs? Feel free to contribute!