Monitor Containers, Server, and Storage on a Docker Server

Data Collection Setup

Metrics are collected via the cAdvisor API. CAdvisor must be deployed on each container server that requires monitoring.


Note: HTTP Only

cAdvisor only supports HTTP at this time.

Your primary reference for getting up-and-running with cAdvisor is the cAdvisor github repository.

Deployment of cAdvisor

The cAdvisor repo contains a Quick Start section, which shows you how to run cAdvisor in a Docker container. Make sure you're referencing the instructions specific to your OS. (See: Running cAdvisor.

For advanced runtime options for cAdvisor, see the cAdvisor Runtime Options documentation.


cAdvisor deployment for your OS Type

You must run the provided commands on each Docker host you want to monitor. The commands also should be adjusted for your particular orchestration system (e.g., Rancher, Kubernetes, Docker Swarm, etc.)

The following example command is referenced in the cAdvisor documentation. It should be run as root or via sudo, and we also recommend adding the --restart=always line as shown below:

docker run \
--restart=always  \
--privileged=true \
--volume=/cgroup:/cgroup:ro \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \

Testing cAdvisor

To ensure that your Docker Server is ready to gather metrics, connect to the cAdvisor system with: http://:8080


Example cAdvisor page

Network Requirements

Port: 8080 (TCP) HTTP connection to the cAdvisor container API

Supported Versions

cAdvisor (Container Advisor): 0.25.0+
Docker Enterprise and Community Editions: 17.x, 18.x

Connection Parameters

HostsRequiredComma-separated list of one or more Docker hosts to connect to. These hosts must be running cAdvisor
PortsRequiredComma-separated list of one or more ports for communication to Docker hosts. Default port: 8080
Collect EventsControls whether events are collected and returned.
Max EventsThe maximum number of events to collect.
Event Cutoff TimeEvents before this time will not be collected.
Maximum Concurrent HostsThe maximum number of Docker hosts to collect from at the same time.
Connection Timeout (seconds)The number of seconds to allow for connecting to the target.



Container NameContainer Name
Memory Usage (Kilobytes)Memory Used
Number Of CoresNumber of CPU Cores
Received Errors (Errors per Second)Receiving Errors
Received Throughput (Kilobytes per Second)Data Received
Resource AliasThe alias of the Container resource.
Sent Errors (Errors per Second)Total Transmission Errors
Sent Throughput (Kilobytes per Second)Data Transmitted
System CPU Usage (%)Kernel CPU Usage
Total CPU Usage (%)Total CPU Usage
User CPU Usage (%)User CPU Usage
Working Set (Kilobytes)Working Set

Container Host

Boot IDBoot ID
cAdvisor VersionCAdvisor Version
Cloud ProviderCloud Provider
Container OS VersionContainer OS Version
CPU Frequency (Gigahertz)CPU Frequency
Instance IDCloud Instance ID
Instance TypeCloud Instance Type
IP AddressHost IP Address
Kernel VersionKernel Version
Memory Capacity (Kilobytes)Size
Memory Usage (Kilobytes)Current usage, this includes all memory regardless of when it was accessed
Memory Working Set (Kilobytes)This includes recently accessed memory, dirty memory, and kernel memory
Number of CoresNumber of Cores
System CPU Usage (%)Kernel usage on the container host
System UUIDSystem UUID
Total CPU Usage (%)Total Usage for the Container Host
User CPU Usage (%)User usage on the container host

Container Service

Docker VersionDocker Version
Memory Usage (Kilobytes)Memory Usage
Memory Working Set (Kilobytes)Memory Working Set
System CPU Usage (%)System CPU Usage
System UUIDSystem UUID
Total CPU Usage (%)CPU Usage
User CPU Usage (%)User CPU Usage


Available (Kilobytes)Amount of storage available in bytes
Device IDDevice ID
Storage Capacity (Kilobytes)Total size of storage in bytes
System UUIDSystem UUID
Usage (Kilobytes)Amount of storage used in bytes