Docker
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 \
gcr.io/google-containers/cadvisor:latest
Testing cAdvisor
To ensure that your Docker Server is ready to gather metrics, connect to the cAdvisor system with: http://:8080
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
Name | Required? | Description |
---|---|---|
Hosts | Required | Comma-separated list of one or more Docker hosts to connect to. These hosts must be running cAdvisor |
Ports | Required | Comma-separated list of one or more ports for communication to Docker hosts. Default port: 8080 |
Collect Events | Controls whether events are collected and returned. | |
Max Events | The maximum number of events to collect. | |
Event Cutoff Time | Events before this time will not be collected. | |
Maximum Concurrent Hosts | The 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. |
Metrics
Container
Name | Description |
---|---|
Container Name | Container Name |
Memory Usage (Kilobytes) | Memory Used |
Number Of Cores | Number of CPU Cores |
Received Errors (Errors per Second) | Receiving Errors |
Received Throughput (Kilobytes per Second) | Data Received |
Resource Alias | The 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
Name | Description |
---|---|
Boot ID | Boot ID |
cAdvisor Version | CAdvisor Version |
Cloud Provider | Cloud Provider |
Container OS Version | Container OS Version |
CPU Frequency (Gigahertz) | CPU Frequency |
Hostname | Hostname |
Instance ID | Cloud Instance ID |
Instance Type | Cloud Instance Type |
IP Address | Host IP Address |
Kernel Version | Kernel 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 Cores | Number of Cores |
Port | Port |
System CPU Usage (%) | Kernel usage on the container host |
System UUID | System UUID |
Total CPU Usage (%) | Total Usage for the Container Host |
User CPU Usage (%) | User usage on the container host |
Container Service
Name | Description |
---|---|
Docker Version | Docker Version |
Memory Usage (Kilobytes) | Memory Usage |
Memory Working Set (Kilobytes) | Memory Working Set |
System CPU Usage (%) | System CPU Usage |
System UUID | System UUID |
Total CPU Usage (%) | CPU Usage |
User CPU Usage (%) | User CPU Usage |
Filesystem
Name | Description |
---|---|
Available (Kilobytes) | Amount of storage available in bytes |
Device ID | Device ID |
Storage Capacity (Kilobytes) | Total size of storage in bytes |
System UUID | System UUID |
Usage (Kilobytes) | Amount of storage used in bytes |
Updated almost 5 years ago