SlideShare a Scribd company logo
Monitoring and
Log Management for
Docker Swarm and Kubernetes
Stefan Thies Sematext Group, Inc.
Sematext & I
Logsene
SPM
log
s
metric
s
Docker Agent
#nodejs
Agenda
•What is
• Centralized Log Management + Performance Monitoring
• Kubernetes / Swarm
•Container Logs
•Container Metrics
•Example: #Swarm3k Monitoring
•Summary
Centralized Log Management
Logagen
t
Logagen
t
Centralized Monitoring
Expose
Metrics
Collect
Metrics
Ship Metrics
Store
Metrics
Aggregate
Metrics
Visualize
Metrics
• Correlation
with Logs
Anomaly
Detection
Alerting
Server +
App /
Container
Configuration
Monitoring
Agents
Time
Series
Database
Dashboard
Tools,
Alerting Tools,
ChatOps Tools
https://sematext.com/blog/2016/07/19/open-source-docker-monitoring-loggi
ng/
Orchestration
Container
POD
Node Node 1
POD 1
Namespace
ns1
Kibana Elasticsearch
POD 2
Namespace
ns2
Redis
Services (proxy)
Replication
Controllers
DaemonSets
3
HorizontalPod
Autoscaler
Kubernetes Dashboard / Heapster
•Current status
•Shows basic resource usage
for workloads (Pod)
•Simple logs view
•Heapster is required for
autoscaling features
Orchestration
Container
Stacks
Nodes Node 1
ELK
(compose, app
bundle)
Kibana 1 Elasticsearch 1
Redis
(service)
redis1
3
Node 2
ELK
Elasticsearch
2
Elasticsearch
3
Kubernetes != Swarm
•Common base is Docker
• Docker Logs & Metrics
• Docker API
Container Logs
Docker Logging Drivers
Docker
json-file (default) Files
journald (CoreOS) System journal
Syslog
TCP
UDP
Fluentd TCP
$plunk TCP
Gelf
Centralized
Log Management
Local Log Shipper
Docker logs
Containers (should) log to stdout/stderr !!!
docker logs container_id
docker logs container_name
Docker
API
Docker
client
Container
logs
Fun with Docker logging drivers
$ docker run --log-driver=syslog
--log-opt syslog-address=udp://$HOSTNAME:514
--log-opt tag=„{{.ImageName}}#{{.Name}}#{{.ID}}"
-p 9003:80 –name nginx1 -d nginx
$ docker logs nginx 1
"logs" command is supported only for "json-file"
and "journald" logging drivers (got: syslog)
Add
Context!
More fun with TCP logging drivers!
docker run --log-driver=syslog --log-opt
syslog-address=tcp://127.0.0.1:514 --log-opt
tag="{{.ImageName}}#{{.Name}}#{{.ID}}" -p
9004:80 -d nginx
docker: Error response from daemon: Failed to
initialize logging driver: dial tcp
127.0.0.1:514: getsockopt: connection refused.
Fix it – run syslog server first!
docker run -d -p 514:514 factorish/syslog -t tcp
docker run –logging-driver=syslog … nginx
curl localhost:9004
docker logs syslog
==> syslog listening on tcp
<30>Nov 17 18:23:43
nginx#nginx1#afebdfff0eed[1710]: 172.17.0.1 - -
[17/Nov/2016:18:23:43 +0000] "GET / HTTP/1.1" 200
612 "-" "curl/7.49.1" "-"
Is UDP
better?
Alternatives?
Docker
Log files
json-file or
journald
API
Agent
Remote
Log Storage
Disk
Buffer
Docker API
provides
the most complete
information!
Reliable networks and
backend services?
Better buffer & retransmit
in case of failure!
Attach metadata
to logs/metrics or
route data to
different servers
or indices?
“docker logs”
works & logs are
stored on local
disk!
Centralize search,
analytics, alerts,
access permissions
Parse logs
Automatic tagging of logs, metrics, events
• Automatic tagging of log / metrics with
• Docker
• Container Name / ID
• Image Name / ID
• Labels / Environment
• Hostname / IP
• Kubernetes
• Namespace, Pod Name , UID
• Swarm
• Swarm Service Name , ID, Compose Project, Container # (scale)
• Single collector for logs, metrics, events, metadata
• Base for correlation and visualisation
Container Metrics Collection
Collection
Metric collection via Docker API
Smart monitoring agent - all in one
Docker
API
Agent
Remote
Storage
Disk
Buffer
Docker API
provides
Labels, Metrics,
Logs, Events …
Reliable networks and
backend services?
Better buffer & retransmit
in case of failure!
Auto-tagging
using container
labels.
Discovery of
services Centralize logs, metrics,
analytics, alerts, access
permissions
Metrics,
Logs,
Events
Integrate application monitoring in the stack
-Custom images
- add/remove
app with all req. options
-Start monitoring,
reading config from etcd
App
Config to expose
metrics
App Monitor
Configured for App
Container
Service Discovery
etcd
consul
Auto Discovery via Docker API and Labels?
App Container
config to expose
metrics
App MonitorDocker Monitor
run
discovery
Docker
Automatic
run
Key Container Metrics
Node Storage
•Good kids clean up their rooms. Good Docker ops clean up their
disks by removing unused containers & images.
Number of containers per host
•Verify deployment strategies
CPU quota per container
Container memory and OOM counter
Docker Events
Swarm Task Status
Limit container resources for your apps!
•Set CPU quotas cpu-quota=6000
•Limit Memory and configure App in container to the same limits!
m 512mb
•Disable Swap: memory-swap=0
•To limit a Docker container from eating all your disk IO use
e.g. device-write-bps /dev/sda:1mb
Automatic Deployment of monitoring agents
• One command to run a service
on each node joining the cluster
• Kubernetes:
• DaemonSet creates a pod per
node
kubectl create -f
sematext-agent.yml
• Swarm:
• Global Service docker
service create –mode
global ...
Swarm3k Monitoring
Swarm3k Requirements
•Monitoring
• Host metrics
• Container metrics
• Docker Events
• Task Monitoring
•Collect Container Logs: Task Errors only
•3000+ Nodes (actual: 4.7k)
•150.000 (actual: 60k)
•Duration 8 hours – 28 GB data collected
•Public/shared Dashboard for the community
Pre-flight test with 500 nodes
•60.000 containers deployed in less than 5 minutes!
Swarm3k in one picture
Limits in visualisation
Missing Labels to
group hosts or
containers
Summary
•Setup of Monitoring & Logging is complex in dynamic environments
•Kubernetes != Swarm (yet). Common base: Docker Containers
•Smart Agents to collect, analyze, aggregate metrics, events and logs
• Auto discovery of containers for data collection
• Use metadata tag metrics & logs as base for correlation and visualization
• Integrate monitoring in application stacks for app specific metrics
• Auto Discovery of services and automatic configuration for application level
monitoring
We are engineers!
We develop DevOps tools!
We are DevOps people!
We do fun stuff ;)
join us
http://sematext.com/jobs
is hiring!
Thank you for listening! Get in touch!
Stefan Thies
stefan.thies@sematext.com
@seti321
http://sematext.com
@sematext
join us
http://sematext.com/jobs
Come talk to us
at the booth

More Related Content

What's hot (20)

PDF
Fluentd and docker monitoring
Vinay Krishna
 
PDF
Setup 3 Node Kafka Cluster on AWS - Hands On
hkbhadraa
 
PDF
Wanting distributed volumes - Experiences with ceph-docker
Ewout Prangsma
 
PDF
Introduction to ZooKeeper - TriHUG May 22, 2012
mumrah
 
PPTX
Introducing Docker Swarm - the orchestration tool by Docker
Ramit Surana
 
PPTX
So we're running Apache ZooKeeper. Now What? By Camille Fournier
Hakka Labs
 
PDF
Running Solr at Memory Speed with Alluxio - Timothy Potter, Lucidworks
Lucidworks
 
PDF
ZooKeeper - wait free protocol for coordinating processes
Julia Proskurnia
 
PPTX
Docker 1.5
rajdeep
 
KEY
Handling Redis failover with ZooKeeper
ryanlecompte
 
PDF
Shipping python project by docker
Wei-Ting Kuo
 
PDF
Automation and Collaboration Across Multiple Swarms Using Docker Cloud - Marc...
Docker, Inc.
 
PDF
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
OpenStack Korea Community
 
PPTX
Docker, Mesos, Spark
Qiang Wang
 
PDF
Introduction openstack-meetup-nov-28
Sadique Puthen
 
PDF
Move Over, Rsync
All Things Open
 
PPTX
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
thelabdude
 
PDF
Proactive ops for container orchestration environments
Docker, Inc.
 
PPTX
Meetup on Apache Zookeeper
Anshul Patel
 
PDF
Stateful Containers: Flocker on CoreOS
Stephen Nguyen
 
Fluentd and docker monitoring
Vinay Krishna
 
Setup 3 Node Kafka Cluster on AWS - Hands On
hkbhadraa
 
Wanting distributed volumes - Experiences with ceph-docker
Ewout Prangsma
 
Introduction to ZooKeeper - TriHUG May 22, 2012
mumrah
 
Introducing Docker Swarm - the orchestration tool by Docker
Ramit Surana
 
So we're running Apache ZooKeeper. Now What? By Camille Fournier
Hakka Labs
 
Running Solr at Memory Speed with Alluxio - Timothy Potter, Lucidworks
Lucidworks
 
ZooKeeper - wait free protocol for coordinating processes
Julia Proskurnia
 
Docker 1.5
rajdeep
 
Handling Redis failover with ZooKeeper
ryanlecompte
 
Shipping python project by docker
Wei-Ting Kuo
 
Automation and Collaboration Across Multiple Swarms Using Docker Cloud - Marc...
Docker, Inc.
 
[OpenInfra Days Korea 2018] Day 1 - T4-7: "Ceph 스토리지, PaaS로 서비스 운영하기"
OpenStack Korea Community
 
Docker, Mesos, Spark
Qiang Wang
 
Introduction openstack-meetup-nov-28
Sadique Puthen
 
Move Over, Rsync
All Things Open
 
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
thelabdude
 
Proactive ops for container orchestration environments
Docker, Inc.
 
Meetup on Apache Zookeeper
Anshul Patel
 
Stateful Containers: Flocker on CoreOS
Stephen Nguyen
 

Similar to Monitoring and Log Management for (20)

PPTX
DOD 2016 - Stefan Thies - Monitoring and Log Management for Docker Swarm and...
PROIDEA
 
PDF
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Anthony Dahanne
 
PPTX
Centralizing Kubernetes and Container Operations
Kublr
 
PDF
Nex clipper 1905_summary_eng
Jinyong Kim
 
PPTX
Re:invent 2016 Container Scheduling, Execution and AWS Integration
aspyker
 
PDF
Running & Monitoring Docker at Scale
Datadog
 
PPTX
Monitoring cloud applications and hyperconverged infrastructure
ManageEngine, Zoho Corporation
 
PPTX
Netflix0SS Services on Docker
Docker, Inc.
 
PPTX
Ibm cloud nativenetflixossfinal
aspyker
 
PDF
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
CodeOps Technologies LLP
 
PDF
Why kubernetes for Serverless (FaaS)
Krishna-Kumar
 
PPTX
Introducing Kubernetes
VikRam S
 
PPTX
Private Cloud with Open Stack, Docker
Davinder Kohli
 
PDF
Docker Usage Patterns - Meetup Docker Paris - November, 10th 2015
Datadog
 
PDF
How to accelerate docker adoption with a simple and powerful user experience
Docker, Inc.
 
PDF
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
SolarWinds Loggly
 
PPTX
Introduction to Kubernetes
rajdeep
 
PPTX
Docker Enterprise Workshop - Technical
Patrick Chanezon
 
PPTX
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev Conference
 
PDF
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
Docker, Inc.
 
DOD 2016 - Stefan Thies - Monitoring and Log Management for Docker Swarm and...
PROIDEA
 
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Anthony Dahanne
 
Centralizing Kubernetes and Container Operations
Kublr
 
Nex clipper 1905_summary_eng
Jinyong Kim
 
Re:invent 2016 Container Scheduling, Execution and AWS Integration
aspyker
 
Running & Monitoring Docker at Scale
Datadog
 
Monitoring cloud applications and hyperconverged infrastructure
ManageEngine, Zoho Corporation
 
Netflix0SS Services on Docker
Docker, Inc.
 
Ibm cloud nativenetflixossfinal
aspyker
 
Kubernetes for Serverless - Serverless Summit 2017 - Krishna Kumar
CodeOps Technologies LLP
 
Why kubernetes for Serverless (FaaS)
Krishna-Kumar
 
Introducing Kubernetes
VikRam S
 
Private Cloud with Open Stack, Docker
Davinder Kohli
 
Docker Usage Patterns - Meetup Docker Paris - November, 10th 2015
Datadog
 
How to accelerate docker adoption with a simple and powerful user experience
Docker, Inc.
 
AWS re:Invent presentation: Unmeltable Infrastructure at Scale by Loggly
SolarWinds Loggly
 
Introduction to Kubernetes
rajdeep
 
Docker Enterprise Workshop - Technical
Patrick Chanezon
 
PlovDev 2016: Оркестрация на контейнери с Kubernetes - Мартин Владев
PlovDev Conference
 
DockerCon SF 2015 : Reliably shipping containers in a resource rich world usi...
Docker, Inc.
 
Ad

More from Sematext Group, Inc. (20)

PDF
Tweaking the Base Score: Lucene/Solr Similarities Explained
Sematext Group, Inc.
 
PDF
OOPs, OOMs, oh my! Containerizing JVM apps
Sematext Group, Inc.
 
PPTX
Is observability good for your brain?
Sematext Group, Inc.
 
PDF
Introducing log analysis to your organization
Sematext Group, Inc.
 
PPTX
Solr Search Engine: Optimize Is (Not) Bad for You
Sematext Group, Inc.
 
PDF
Solr on Docker - the Good, the Bad and the Ugly
Sematext Group, Inc.
 
PDF
Introduction to solr
Sematext Group, Inc.
 
PDF
Building Resilient Log Aggregation Pipeline with Elasticsearch & Kafka
Sematext Group, Inc.
 
PDF
Elasticsearch for Logs & Metrics - a deep dive
Sematext Group, Inc.
 
PDF
Tuning Solr & Pipeline for Logs
Sematext Group, Inc.
 
PPTX
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Sematext Group, Inc.
 
PDF
Top Node.js Metrics to Watch
Sematext Group, Inc.
 
PPT
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Sematext Group, Inc.
 
PDF
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
Sematext Group, Inc.
 
PDF
From Zero to Production Hero: Log Analysis with Elasticsearch (from Velocity ...
Sematext Group, Inc.
 
PDF
Docker Logging Webinar
Sematext Group, Inc.
 
PDF
Docker Monitoring Webinar
Sematext Group, Inc.
 
PDF
Metrics, Logs, Transaction Traces, Anomaly Detection at Scale
Sematext Group, Inc.
 
PDF
Side by Side with Elasticsearch & Solr, Part 2
Sematext Group, Inc.
 
PPTX
Tuning Elasticsearch Indexing Pipeline for Logs
Sematext Group, Inc.
 
Tweaking the Base Score: Lucene/Solr Similarities Explained
Sematext Group, Inc.
 
OOPs, OOMs, oh my! Containerizing JVM apps
Sematext Group, Inc.
 
Is observability good for your brain?
Sematext Group, Inc.
 
Introducing log analysis to your organization
Sematext Group, Inc.
 
Solr Search Engine: Optimize Is (Not) Bad for You
Sematext Group, Inc.
 
Solr on Docker - the Good, the Bad and the Ugly
Sematext Group, Inc.
 
Introduction to solr
Sematext Group, Inc.
 
Building Resilient Log Aggregation Pipeline with Elasticsearch & Kafka
Sematext Group, Inc.
 
Elasticsearch for Logs & Metrics - a deep dive
Sematext Group, Inc.
 
Tuning Solr & Pipeline for Logs
Sematext Group, Inc.
 
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Sematext Group, Inc.
 
Top Node.js Metrics to Watch
Sematext Group, Inc.
 
Running High Performance and Fault Tolerant Elasticsearch Clusters on Docker
Sematext Group, Inc.
 
Large Scale Log Analytics with Solr (from Lucene Revolution 2015)
Sematext Group, Inc.
 
From Zero to Production Hero: Log Analysis with Elasticsearch (from Velocity ...
Sematext Group, Inc.
 
Docker Logging Webinar
Sematext Group, Inc.
 
Docker Monitoring Webinar
Sematext Group, Inc.
 
Metrics, Logs, Transaction Traces, Anomaly Detection at Scale
Sematext Group, Inc.
 
Side by Side with Elasticsearch & Solr, Part 2
Sematext Group, Inc.
 
Tuning Elasticsearch Indexing Pipeline for Logs
Sematext Group, Inc.
 
Ad

Recently uploaded (20)

PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
Biography of Daniel Podor.pdf
Daniel Podor
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 

Monitoring and Log Management for

  • 1. Monitoring and Log Management for Docker Swarm and Kubernetes Stefan Thies Sematext Group, Inc.
  • 3. Agenda •What is • Centralized Log Management + Performance Monitoring • Kubernetes / Swarm •Container Logs •Container Metrics •Example: #Swarm3k Monitoring •Summary
  • 5. Centralized Monitoring Expose Metrics Collect Metrics Ship Metrics Store Metrics Aggregate Metrics Visualize Metrics • Correlation with Logs Anomaly Detection Alerting Server + App / Container Configuration Monitoring Agents Time Series Database Dashboard Tools, Alerting Tools, ChatOps Tools
  • 7. Orchestration Container POD Node Node 1 POD 1 Namespace ns1 Kibana Elasticsearch POD 2 Namespace ns2 Redis Services (proxy) Replication Controllers DaemonSets 3 HorizontalPod Autoscaler
  • 8. Kubernetes Dashboard / Heapster •Current status •Shows basic resource usage for workloads (Pod) •Simple logs view •Heapster is required for autoscaling features
  • 9. Orchestration Container Stacks Nodes Node 1 ELK (compose, app bundle) Kibana 1 Elasticsearch 1 Redis (service) redis1 3 Node 2 ELK Elasticsearch 2 Elasticsearch 3
  • 10. Kubernetes != Swarm •Common base is Docker • Docker Logs & Metrics • Docker API
  • 12. Docker Logging Drivers Docker json-file (default) Files journald (CoreOS) System journal Syslog TCP UDP Fluentd TCP $plunk TCP Gelf Centralized Log Management Local Log Shipper
  • 13. Docker logs Containers (should) log to stdout/stderr !!! docker logs container_id docker logs container_name Docker API Docker client Container logs
  • 14. Fun with Docker logging drivers $ docker run --log-driver=syslog --log-opt syslog-address=udp://$HOSTNAME:514 --log-opt tag=„{{.ImageName}}#{{.Name}}#{{.ID}}" -p 9003:80 –name nginx1 -d nginx $ docker logs nginx 1 "logs" command is supported only for "json-file" and "journald" logging drivers (got: syslog) Add Context!
  • 15. More fun with TCP logging drivers! docker run --log-driver=syslog --log-opt syslog-address=tcp://127.0.0.1:514 --log-opt tag="{{.ImageName}}#{{.Name}}#{{.ID}}" -p 9004:80 -d nginx docker: Error response from daemon: Failed to initialize logging driver: dial tcp 127.0.0.1:514: getsockopt: connection refused.
  • 16. Fix it – run syslog server first! docker run -d -p 514:514 factorish/syslog -t tcp docker run –logging-driver=syslog … nginx curl localhost:9004 docker logs syslog ==> syslog listening on tcp <30>Nov 17 18:23:43 nginx#nginx1#afebdfff0eed[1710]: 172.17.0.1 - - [17/Nov/2016:18:23:43 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.49.1" "-"
  • 18. Alternatives? Docker Log files json-file or journald API Agent Remote Log Storage Disk Buffer Docker API provides the most complete information! Reliable networks and backend services? Better buffer & retransmit in case of failure! Attach metadata to logs/metrics or route data to different servers or indices? “docker logs” works & logs are stored on local disk! Centralize search, analytics, alerts, access permissions Parse logs
  • 19. Automatic tagging of logs, metrics, events • Automatic tagging of log / metrics with • Docker • Container Name / ID • Image Name / ID • Labels / Environment • Hostname / IP • Kubernetes • Namespace, Pod Name , UID • Swarm • Swarm Service Name , ID, Compose Project, Container # (scale) • Single collector for logs, metrics, events, metadata • Base for correlation and visualisation
  • 22. Metric collection via Docker API
  • 23. Smart monitoring agent - all in one Docker API Agent Remote Storage Disk Buffer Docker API provides Labels, Metrics, Logs, Events … Reliable networks and backend services? Better buffer & retransmit in case of failure! Auto-tagging using container labels. Discovery of services Centralize logs, metrics, analytics, alerts, access permissions Metrics, Logs, Events
  • 24. Integrate application monitoring in the stack -Custom images - add/remove app with all req. options -Start monitoring, reading config from etcd App Config to expose metrics App Monitor Configured for App Container Service Discovery etcd consul
  • 25. Auto Discovery via Docker API and Labels? App Container config to expose metrics App MonitorDocker Monitor run discovery Docker Automatic run
  • 27. Node Storage •Good kids clean up their rooms. Good Docker ops clean up their disks by removing unused containers & images.
  • 28. Number of containers per host •Verify deployment strategies
  • 29. CPU quota per container
  • 30. Container memory and OOM counter
  • 33. Limit container resources for your apps! •Set CPU quotas cpu-quota=6000 •Limit Memory and configure App in container to the same limits! m 512mb •Disable Swap: memory-swap=0 •To limit a Docker container from eating all your disk IO use e.g. device-write-bps /dev/sda:1mb
  • 34. Automatic Deployment of monitoring agents • One command to run a service on each node joining the cluster • Kubernetes: • DaemonSet creates a pod per node kubectl create -f sematext-agent.yml • Swarm: • Global Service docker service create –mode global ...
  • 36. Swarm3k Requirements •Monitoring • Host metrics • Container metrics • Docker Events • Task Monitoring •Collect Container Logs: Task Errors only •3000+ Nodes (actual: 4.7k) •150.000 (actual: 60k) •Duration 8 hours – 28 GB data collected •Public/shared Dashboard for the community
  • 37. Pre-flight test with 500 nodes •60.000 containers deployed in less than 5 minutes!
  • 38. Swarm3k in one picture
  • 39. Limits in visualisation Missing Labels to group hosts or containers
  • 40. Summary •Setup of Monitoring & Logging is complex in dynamic environments •Kubernetes != Swarm (yet). Common base: Docker Containers •Smart Agents to collect, analyze, aggregate metrics, events and logs • Auto discovery of containers for data collection • Use metadata tag metrics & logs as base for correlation and visualization • Integrate monitoring in application stacks for app specific metrics • Auto Discovery of services and automatic configuration for application level monitoring
  • 41. We are engineers! We develop DevOps tools! We are DevOps people! We do fun stuff ;) join us http://sematext.com/jobs is hiring!
  • 42. Thank you for listening! Get in touch! Stefan Thies [email protected] @seti321 http://sematext.com @sematext join us http://sematext.com/jobs Come talk to us at the booth