Top Banner
Monitoring Docker Ilan Rabinovitch Director, Community - Datadog
37

DockerCon EU 2015: Monitoring Docker

Apr 16, 2017

Download

Technology

Docker, Inc.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: DockerCon EU 2015: Monitoring Docker

Monitoring Docker

Ilan RabinovitchDirector, Community - Datadog

Page 2: DockerCon EU 2015: Monitoring Docker

Agenda

• Monitoring 101 - Crash Course• Challenges in Monitoring Dynamic Infrastructure • Key Docker Metrics

Page 3: DockerCon EU 2015: Monitoring Docker

About Me • Long time Datadog user.

• Prior to Datadog built automation and monitoring tooling at Ooyala and Edmunds.com

• Community Event Organizer:SCALE and Texas Linux FestDevOpsDay LA DevOpsDay Silicon Valley

Ilan RabinovitchDatadog

Page 4: DockerCon EU 2015: Monitoring Docker

Quick Overview of Datadog Datadog gathers performance data from all your application and infrastructure components.

• Monitoring for modern applications1. Dynamic Infrastructure2. Containers (Docker, ECS, Mesos, k8s, and more…)3. Microservices

• Time series storage of metrics and events• Trending, alerting and anomaly detection.• We’re hiring! (Remote, NY, Boston, Paris)

Page 5: DockerCon EU 2015: Monitoring Docker

https://www.datadoghq.com/docker-adoption/

Page 6: DockerCon EU 2015: Monitoring Docker

Docker Adoption Growth We’ve see 5x increase of Docker adoption over the last year.

Page 7: DockerCon EU 2015: Monitoring Docker

Monitor Everything

Culture Automation Metrics Sharing

Damon Edwards and John WillisDevOpsDay LA

Page 8: DockerCon EU 2015: Monitoring Docker
Page 9: DockerCon EU 2015: Monitoring Docker
Page 10: DockerCon EU 2015: Monitoring Docker

Monitoring 101: Categorizing Your Metrics

More at: http://goo.gl/t1Rgcg

Page 11: DockerCon EU 2015: Monitoring Docker

Monitoring 101: Focus on symptoms

More at: http://goo.gl/t1Rgcg

Page 12: DockerCon EU 2015: Monitoring Docker

Recurse until you find root cause.

More at: http://goo.gl/t1Rgcg

Page 13: DockerCon EU 2015: Monitoring Docker
Page 14: DockerCon EU 2015: Monitoring Docker

Operational Complexity

• Average containers per host: N (N=4, 10/2015)• N-times as many “hosts” to manage• Affects

• provisioning: prep’ing & building containers• configuration: passing config to containers• orchestration: deciding where/when containers run• monitoring: making sure containers run properly

Page 15: DockerCon EU 2015: Monitoring Docker

So what does that mean for monitoring and management?

Page 16: DockerCon EU 2015: Monitoring Docker
Page 17: DockerCon EU 2015: Monitoring Docker

Fact 7: Docker Hosts Often Run Four Containers at a Time

Page 18: DockerCon EU 2015: Monitoring Docker
Page 19: DockerCon EU 2015: Monitoring Docker

Operational Complexity: Scale

100instances

400containers

Page 20: DockerCon EU 2015: Monitoring Docker

Operational Complexity: Scale

160metrics per host

640metrics per host

Assuming 4 containers per host

Page 21: DockerCon EU 2015: Monitoring Docker

Operational Complexity: Scale

100instances

64,000metrics

Assuming 4 containers per host

Page 22: DockerCon EU 2015: Monitoring Docker

Operational Complexity: Velocity

Page 23: DockerCon EU 2015: Monitoring Docker
Page 24: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains

• Avoid Static config files tracking dynamic infrastructure.

Page 25: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains: Static vs Dynamic

• Avoid Static config files tracking dynamic infrastructure. Configuration management is awesome, but….

Page 26: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains

• Avoid Static config files tracking dynamic infrastructure. • Avoid a host centric view. Focus on service level.

Page 27: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains: Host Centric vs Service Centric

Page 28: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains: Host Centric vs Service Centric

Page 29: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains

• Avoid Static config files tracking dynamic infrastructure. • Avoid a host centric view. Focus on service level. • Use tags, labels, etc on your hosts and metrics to form queries.

Page 30: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains: Query Based Monitoring

“Show me rate of HTTP 500 responses from nginx” “… in region us-east-1 across all availability zones” “… running my app version 2….”

• Use tags, labels, etc on your hosts and metrics to form queries. • Pull in labels from your infrastructure whether EC2, Docker or your

scheduler. • Ask questions that will ring true regardless of your scale that day.

Page 31: DockerCon EU 2015: Monitoring Docker

Monitoring Needs and Pains

• Avoid Static config files tracking dynamic infrastructure. • Avoid a host centric view. Focus on service level. • Use tags, labels, etc on your hosts and metrics to form queries. • Know your underlying tech. In this case Docker and how to pull

metrics from it.

Page 32: DockerCon EU 2015: Monitoring Docker

Collecting Docker Metrics

More at http://bit.ly/1j4QXek

Page 33: DockerCon EU 2015: Monitoring Docker

Collecting Docker Metrics: Pseudo Files

• Access via sysfs in /sys/fs/cgroup or /cgroup• By default do not require root access.• Fast and light weight• Limited I/O and Network metrics.

Page 34: DockerCon EU 2015: Monitoring Docker

Collecting Docker Metrics: stats

• Continuous live stream of basic CPU, memory, & network metrics.• Available via API in JSON (see unix:///var/run/docker.sock)• At least version 1.5.0 of Docker (released Feb 2015)

Page 35: DockerCon EU 2015: Monitoring Docker

Collecting Docker Metrics: stats api

• Similar to stats command provides a stream of metrics but more details.

• Data is returned in JSON (see unix:///var/run/docker.sock)

Page 36: DockerCon EU 2015: Monitoring Docker
Page 37: DockerCon EU 2015: Monitoring Docker

Collecting Docker Metrics: Summary

CPU METRICSMEMORY METRICS I/O METRICS

NETWORK METRICS

pseudo-files Yes Yes Some Yes, in 1.6.1+

stats command Basic Basic No Basic

API Yes Yes Some Yes