Menu
Grafana Cloud

Docker integration for Grafana Cloud

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly.

The Docker integration for Grafana Cloud focuses on showing overall utilization of containers running in Docker, using cAdvisor. The integration installs pre-built dashboards and alerts that are specifically designed to monitor Docker containers. This integration also supports logs monitoring for Docker containers.

Before you begin

The integration collects Docker container metrics through embedded cAdvisor in Grafana agent

This integration uses the Docker service discovery feature of Grafana Agent to identify and collect logs. The agent must have access to the Docker daemon in order to identify and collect logs. To give the agent access to the Docker daemon, you need to add the grafana-agent user to the docker group with the following command: sudo usermod -a -G docker grafana-agent

Elevated privileges are required to run cAdvisor in Grafana Agent in standalone mode, See cAdvisor documentation. After installing the Grafana agent, you can give the agent elevated permissions by changing the user of the Grafana agent installed service by editing the systemctl unit file with the following commands:

sudo systemctl edit --full grafana-agent.service

Change User=grafana-agent to User=root and save the file. Then reload systemctl changes:

sudo systemctl daemon-reload

Then restart the Grafana agent:

sudo systemctl restart grafana-agent.service

Install the Docker integration for Grafana Cloud

  1. In your Grafana instance, click Integrations and Connections (lightning bolt icon), then click on the Docker tile to install the integration.

  2. Once the integration is installed, follow the steps on the Configuration Details page to configure Grafana Agent to automatically scrape and send Docker metrics to your Grafana Cloud instance.

Post-install configuration for the Docker integration

This integration supports metrics and logs for Docker containers. In order to see those signals correlated on the same dashboard, job and instance labels must match for cadvisor(metrics) and logs in the agent configuration file:

The following agent configuration enables the embedded cAdvisor in Grafana agent:

Note: The agent must be configured to collect logs from Docker in the logs config stanza of the agent configuration file using Docker Service Discovery as shown in the example configuration below.

integrations:
  cadvisor:
    enabled: true
    docker_only: true
    instance: localhost:9090
    relabel_configs:
      - action: replace
        replacement: integrations/docker
        target_label: job
logs:
  configs:
    - name: agent
      clients:
        - url: http://loki:3100/api/prom/push
      positions:
        filename: /tmp/positions.yaml
      target_config:
        sync_period: 10s
      scrape_configs:
        - job_name: integrations/docker
          docker_sd_configs:
            - host: unix:///var/run/docker.sock
              refresh_interval: 5s
          relabel_configs:
            - action: replace
              replacement: integrations/docker
              source_labels:
                - __meta_docker_container_id
              target_label: job
            - source_labels:
                - __meta_docker_container_name
              regex: '/(.*)'
              target_label: container
            - source_labels:
                - __meta_docker_container_log_stream
              target_label: stream

Dashboards

After you have successfully configured the Docker integration, two prebuilt dashboards will be installed in your Grafana instance to help you monitor your Docker metrics and logs.

Docker overview dashboard

This dashboard gives a general overview of the Docker containers based on the metrics exposed by cAdvisor. The dashboard can show aggregated statistics of all containers and it can also show statistics of individual containers based on the selected job, instance, and container

Docker overview dashboard example 1

Docker overview dashboard example 2

Docker logs dashboard

This dashboard contains statistics of the logs collected by Grafana Agent through Docker Service Discovery. It also contains panels that show errors, warnings, and complete log files in separate views.

Docker logs dashboard example

Metrics captured by Docker for Grafana Cloud

Refer to the cAdvisor storage documentation for a list of metrics that are automatically written to your Grafana Cloud instance when you connect your Docker instance through this integration.

Cost

By connecting your Docker instance to Grafana Cloud you might incur charges. To view information on the number of active series that your Grafana Cloud account uses for metrics included in each Cloud tier, see Active series and dpm usage and Cloud tier pricing.