Contributors netapp-alavoie dgracenetapp

Cloud Insights uses this data collector to gather metrics from Docker.

This topic is considered Preview documentation and is subject to change.

Installation

  1. From Admin > Data Collectors, click +Data Collector. Under Services, choose Docker.

    If you haven’t configured an Agent for collection, you are prompted to install an agent in your environment.

    If you have an agent already configured, select the appropriate Operating System or Platform and click Continue.

  2. Follow the instructions in the Docker Configuration screen to configure the data collector. The instructions vary depending on the type of Operating System or Platform you are using to collect data.

Docker configuration

Setup

The Telegraf input plugin for Docker collects metrics through a specified UNIX socket or a TCP endpoint.

Compatibility

Configuration was developed against Docker version 1.12.6.

Setting Up

Accessing Docker through a UNIX socket

If the Telegraf agent is running on baremetal, add the telegraf Unix user to the docker Unix group by running the following:

sudo usermod -aG docker telegraf

If the Telegraf agent is running within a Kubernetes pod, expose the Docker Unix socket by mapping the socket into the pod as a volume and then mounting that volume to /var/run/docker.sock. For example, add the following to the PodSpec:

volumes:
...
- name: docker-sock
hostPath:
path: /var/run/docker.sock
type: File

Then, add the following to the Container:

volumeMounts:
...
- name: docker-sock
mountPath: /var/run/docker.sock

Note that the Cloud Insights installer provided for the Kubernetes platform takes care of this mapping automatically.

Access Docker through a TCP endpoint

By default, Docker uses port 2375 for unencrypted access and port 2376 for encrypted access.

Objects and Counters

The following objects and their counters are collected:

Object: Identifiers: Attributes: Datapoints:

Docker Engine

Namespace
Docker Engine

Node Name
Node IP
Node UUID
Node OS
Kubernetes Cluster
Docker Version
Unit

Memory
Containers
Containers Paused
Containers Running
Containers Stopped
CPUs
Go Routines
Images
Listener Events
Used File Descriptors
Data Available
Data Total
Data Used
Metadata Available
Metadata Total
Metadata Used
Pool Blocksize

Docker Container

Namespace
Container Name
Docker Engine

Kubernetes Container Hash
Kubernetes Container Ports
Kubernetes Container Restart Count
Kubernetes Container Termination Message Path
Kubernetes Container Termination Message Policy
Kubernetes Pod Termination Grace Period
Container Image
Container Status
Container Version
Node Name
Kubernetes Container Log Path
Kubernetes Container Name
Kubernetes Docker Type
Kubernetes Pod Name
Kubernetes Pod Namespace
Kubernetes Pod UID
Kubernetes Sandbox ID
Node IP
Node UUID
Docker Version
Kubernetes IO Config Seen
Kubernetes IO Config Source
OpenShift IO SCC
Kubernetes Description
Kubernetes Display Name
OpenShift Tags
Kompose Service
Pod Template Hash
Controller Revision Hash
Pod Template Generation
License
Schema Build Date
Schema License
Schema Name
Schema URL
Schema VCS URL
Schema Vendor
Schema Version
Schema Schema Version
Maintainer
Customer Pod
Kubernetes StatefulSet Pod Name
Tenant
Webconsole
Architecture
Authoritative Source URL
Build Date
RH Build Host
RH Component
Distribution Scope
Install
Release
Run
Summary
Uninstall
VCS Ref
VCS Type
Vendor
Version
Health Status
Container ID

Memory Active Anonymous
Memory Active File
Memory Cache
Memory Hierarchical Limit
Memory Inactive Anonymous
Memory Inactive File
Memory Limit
Memory Mapped File
Memory Max Usage
Memory Page Fault
Memory Page Major Fault
Memory Paged In
Memory Paged Out
Memory Resident Set Size
Memory Resident Set Size Huge
Memory Total Active Anonymous
Memory Total Active File
Memory Total Cache
Memory Total Inactive Anonymous
Memory Total Inactive File
Memory Total Mapped File
Memory Total Page Fault
Memory Total Page Major Fault
Memory Total Paged In
Memory Total Paged Out
Memory Total Resident Set Size
Memory Total Resident Set Size Huge
Memory Total Unevictable
Memory Unevictable
Memory Usage
Memory Usage Percent
Exit Code
OOM Killed
PID
Started At
Failing Streak

Docker Container Block IO

Namespace
Container Name
Device
Docker Engine

Kubernetes Container Hash
Kubernetes Container Ports
Kubernetes Container Restart Count
Kubernetes Container Termination Message Path
Kubernetes Container Termination Message Policy
Kubernetes Pod Termination Grace Period
Container Image
Container Status
Container Version
Node Name
Kubernetes Container Log Path
Kubernetes Container Name
Kubernetes Docker Type
Kubernetes Pod Name
Kubernetes Pod Namespace
Kubernetes Pod UID
Kubernetes Sandbox ID
Node IP
Node UUID
Docker Version
Kubernetes Config Seen
Kubernetes Config Source
OpenShift SCC
Kubernetes Description
Kubernetes Display Name
OpenShift Tags
Schema Schema Version
Pod Template Hash
Controller Revision Hash
Pod Template Generation
Kompose Service
Schema Build Date
Schema License
Schema Name
Schema Vendor
Customer Pod
Kubernetes StatefulSet Pod Name
Tenant
Webconsole
Build Date
License
Vendor
Architecture
Authoritative Source URL
RH Build Host
RH Component
Distribution Scope
Install
Maintainer
Release
Run
Summary
Uninstall
VCS Ref
VCS Type
Version
Schema URL
Schema VCS URL
Schema Version
Container ID

IO Service Bytes Recursive Async
IO Service Bytes Recursive Read
IO Service Bytes Recursive Sync
IO Service Bytes Recursive Total
IO Service Bytes Recursive Write
IO Serviced Recursive Async
IO Serviced Recursive Read
IO Serviced Recursive Sync
IO Serviced Recursive Total
IO Serviced Recursive Write

Docker Container Network

Namespace
Container Name
Network
Docker Engine

Container Image
Container Status
Container Version
Node Name
Node IP
Node UUID
Node OS
K8s Cluster
Docker Version
Container ID

RX Dropped
RX Bytes
RX Errors
RX Packets
TX Dropped
TX Bytes
TX Errors
TX Packets

Docker Container CPU

Namespace
Container Name
CPU
Docker Engine

Kubernetes Container Hash
Kubernetes Container Ports
Kubernetes Container Restart Count
Kubernetes Container Termination Message Path
Kubernetes Container Termination Message Policy
Kubernetes Pod Termination Grace Period
Kubernetes Config Seen
Kubernetes Config Source
OpenShift SCC
Container Image
Container Status
Container Version
Node Name
Kubernetes Container Log Path
Kubernetes Container name
Kubernetes Docker Type
Kubernetes Pod Name
Kubernetes Pod Namespace
Kubernetes Pod UID
Kubernetes Sandbox ID
Node IP
Node UUID
Node OS
Kubernetes Cluster
Docker Version
Kubernetes Description
Kubernetes Display Name
OpenShift Tags
Schema Version
Pod Template Hash
Controller Revision Hash
Pod Template Generation
Kompose Service
Schema Build Date
Schema License
Schema Name
Schema Vendor
Customer Pod
Kubernetes StatefulSet Pod Name
Tenant
Webconsole
Build Date
License
Vendor
Architecture
Authoritative Source URL
RH Build Host
RH Component
Distribution Scope
Install
Maintainer
Release
Run
Summary
Uninstall
VCS Ref
VCS Type
Version
Schema URL
Schema VCS URL
Schema Version
Container ID

Throttling Periods
Throttling Throttled Periods
Throttling Throttled Time
Usage In Kernel Mode
Usage In User Mode
Usage Percent
Usage System
Usage Total

Kubernetes System Container

System Container
Kubernetes Node
Cluster

Node Name
Node IP
Node OS
Node UUID

CPU Usage Nanocores
CPU Usage Core Nanoseconds
Memory Major Page Faults
Memory Page Faults
Memory Resident Set Size (RSS)
Memory Usage
Memory Working Set
Root Filesystem Available
Root Filesystem Capacity
Logs Filesystem Available
Logs Filesystem Capacity

Troubleshooting

Problem: Try this:

I do not see my Docker metrics in Cloud Insights after following the instructions on the configuration page.

Check the Telegraf agent logs to see if it reports the following error:

E! Error in plugin [inputs.docker]: Got permission denied while trying to connect to the Docker daemon socket

If it does, take the necessary steps to provide the Telegraf agent access to the Docker Unix socket as specified above.

Additional information may be found from the Support page.