What is Docker?

Docker is an open-source technology that packages an application with all its dependencies into software containers. It make workloads more portable by running software as microservices in a seemingly independent, lightweight system on top of the host OS. Docker is used to build, test, run, and deploy apps quickly, reliably, and consistently regardless of environment: cloud, VM, or bare metal.  

Sending Docker Metrics

Use collectd with the collectd-docker plugin to capture metrics about CPU, memory, network, and disk using Docker’s stats API. SignalFx provides built-in Docker monitoring dashboards to display the most useful production metrics. Add dimensions to the metadata to aggregate, filter, and group metrics by property.

Docker

Docker Monitoring

The adoption of Docker containers and the associated desire to build microservices has changed the requirements of monitoring tools. There are three sources of challenges associated with Docker monitoring in production environments: diversity of cluster managers, increased pace of change, agent configuration.

Optionality for Cluster Managers: The ecosystem of operational tools for Docker is evolving rapidly. Cluster manager tools like Marathon, Kubernetes, Aurora, and Swarm provide many options to orchestrate, cluster, and manage containers based on specific use case and needs. This also requires teams to be aware of the challenges associated with each underlying component.

Complexities at Scale: Containers make it easy to deploy and reverse updates in isolation, meaning the life of a container could last as little as an hour. With containers constantly moving in and out of the environment, it becomes increasingly difficult to react to the volume and velocity of data streaming from all the containers in production.

No Set Service Discovery or Registration: Service discovery allows Docker containers to register themselves to the tools in their current environment without requiring administrator intervention. Docker monitoring requires upfront configuration of the agent, either inside the container (straightforward, but with two distinct processes and policies for the agent and app) or alongside in a separate container (streamlined, but requires a persistent link between the app and monitoring container).

The SignalFx Difference

Docker Monitoring at All Levels: Monitor Docker from host to container to application in a single dashboard. Start with an aggregate view of containers across all hosts, containers per host, and aggregate infrastructure metrics like CPU utilization. Easily drill down into hosts to view infrastructure metrics by container, and compare performance of an individual host to the population. Correlate performance metrics down to the specific container, and evaluate whether the application is impacted at the service level.

Automatic Configuration: Docker monitoring relies on the endurance of your configurations without constant maintenance and interruption, even as containers come and go. With SignalFx, Docker hosts report any new containers without manual intervention. Metrics flowing from an application in the container are also automatically captured.

Curating Metrics and Getting Visibility: SignalFx’s built-in Docker monitoring dashboards provide a running start to operating your modern infrastructure. SignalFx also curates data from the other applications and cloud services in your environment, enabling you to embed your own best practices for monitoring and alerting across services important to your specific use case.

Docker Metrics

Asynchronous Block 
I/O Volume
Read Volume from 
Block Devices 
Synchronous Block 
I/O Volumne
Total Block 
I/O Volume
Write Volume to 
Block Devices
Asynchronous Block 
I/O Requests 
Read Requests from 
Block Devices
Synchronous Block 
I/O Requests
Write Requests 
to Block Devices 
Block I/O Volume 
Per-Core CPU Usage 
Kernel CPU Usage
System CPU Usage
CPU Usage Total 
User CPU Usage
Memory Limit 
Maximum Memory Usage
Memory Usage
Network Bytes 
Received
Outbound Network 
Packets Dropped
Network Reception 
Errors
Network Packets
Received
Network
Transmission Errors
Outbound Network
Packets Dropped
Network Bytes Sent
Network Packets Sent
 

Start Your Docker Monitoring Trial

Try SignalFx for 14 days. No credit card required.