3. 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 Fest
DevOpsDay LA
DevOpsDay Silicon Valley
Ilan Rabinovitch
Datadog
4. Quick Overview of Datadog
Datadog gathers performance data from all your application and infrastructure components.
• Monitoring for modern applications
1. Dynamic Infrastructure
2. 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)
14. 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
15. So what does that mean for
monitoring and management?
16.
17. Fact 7: Docker Hosts Often Run Four Containers at a Time
29. 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.
30. 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.
31. 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.
33. 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.
34. 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)
35. 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)
36.
37. Collecting Docker Metrics: Summary
CPU METRICS
MEMORY
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