Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#Perform2017
with Heapster, Grafana, Fluentd, Elastic Stack, Jolokia and OpenTracing
Martin Etmajer @metmajer
Dynatrace, T...
Wolfgang Amadeus Mozart
1756 – 1791
The „Jay Z“ of classical music
Mike Grabner
Schwarzenegger
Schnitzel
#Perform2017
Monitoring
with Kubernetes Dashboard, Heapster, influxdb & Grafana
$ git clone https://github.com/kubernetes/dashboard.git
$ kubectl create –f src/deploy/kubernetes-dashboard.yaml
Example: ...
We metrics!♥
collects resources usage, etc.
collects resources usage, etc.
exposed
via REST
Heapster runs in a Pod
Heapster
source
Kubernetes
REST client
sinks
influxdb
GCL
kafkaelasticsearch
GCM
graphite
Kubernetes
Dashboard
via built-i...
Example: Heapster (standalone)
source
Kubernetes
REST client
Kubernetes
Dashboard
via built-in client
Example: Deploy Heapster (standalone)
$ git clone https://github.com/kubernetes/heapster.git
$ kubectl create –f heapster/...
Example: Heapster (with influxdb and Grafana)
source
Kubernetes
sinks
influxdb grafana
query
Example: Deploy Heapster (with influxdb and Grafana)
$ git clone https://github.com/kubernetes/heapster.git
$ kubectl crea...
#Perform2017
Logging
with Fluentd and Elastic Stack
continuous stream of log data for each container
unified logging
Fluentd
runs on
each host
Example: Fluentd (for container logs to elasticsearch)
watch container logs
elasticsearch kibana
queryingest
via configura...
Example: Deploy Fluentd (for container logs to elasticsearch)
$ git clone https://github.com/kubernetes/kubernetes.git
$ k...
#Perform2017
Monitoring
with Jolokia
remote access to JMX MBeans
remote access to JMX MBeans
exposed via REST
Java Management Extensions (JMX)
to manage and monitor applications
Source: https://en.wikipedia.org/wiki/Java_Management_...
Example: Jolokia (get list of accessible MBeans)
$ curl http://localhost:8080/jolokia/list
includes memory, threading, gc,...
Example: Jolokia (read memory usage data)
$ curl http://localhost:8080/jolokia/read/java.lang:type=Memory
name of MBean
Example: Jolokia (read threading data)
$ curl http://localhost:8080/jolokia/read/java.lang:type=Threading
name of MBean
#Perform2017
Tracing
with OpenTracing
a formally specified standard API for reporting
with various API implementations
design
goals
Why distributed (end-to-end) tracing?
Source: https://research.google.com/pubs/pub36356.html
initiator
services
remote cal...
Why distributed (end-to-end) tracing?
Source: https://research.google.com/pubs/pub36356.html
initiator
services
remote cal...
Why distributed (end-to-end) tracing?
Source: https://research.google.com/pubs/pub36356.html
initiator
services
remote cal...
Why distributed (end-to-end) tracing?
Source: https://research.google.com/pubs/pub36356.html
initiator
services
remote cal...
Why distributed (end-to-end) tracing?
Source: https://research.google.com/pubs/pub36356.html
initiator
services
remote cal...
#Perform2017
...and else?
Thank you.
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Monitoring, Logging and Tracing on Kubernetes
Upcoming SlideShare
Loading in …5
×

Monitoring, Logging and Tracing on Kubernetes

5,347 views

Published on

In this presentation, I'll describe a variety of tools, like the Kubernetes Dashboard, Heapster, Grafana, Fluentd, Elasticsearch, Kibana, Jolokia and OpenTracing to bring Monitoring, Logging and Tracing to the Kubernetes container platform.

Published in: Technology
  • Be the first to comment

Monitoring, Logging and Tracing on Kubernetes

  1. 1. #Perform2017 with Heapster, Grafana, Fluentd, Elastic Stack, Jolokia and OpenTracing Martin Etmajer @metmajer Dynatrace, Technology Lead Monitoring, Logging and Tracing on Kubernetes
  2. 2. Wolfgang Amadeus Mozart 1756 – 1791
  3. 3. The „Jay Z“ of classical music
  4. 4. Mike Grabner
  5. 5. Schwarzenegger
  6. 6. Schnitzel
  7. 7. #Perform2017 Monitoring with Kubernetes Dashboard, Heapster, influxdb & Grafana
  8. 8. $ git clone https://github.com/kubernetes/dashboard.git $ kubectl create –f src/deploy/kubernetes-dashboard.yaml Example: Deploy Kubernetes Dashboard likely to be present in your kube-system already
  9. 9. We metrics!♥
  10. 10. collects resources usage, etc.
  11. 11. collects resources usage, etc. exposed via REST
  12. 12. Heapster runs in a Pod
  13. 13. Heapster source Kubernetes REST client sinks influxdb GCL kafkaelasticsearch GCM graphite Kubernetes Dashboard via built-in client
  14. 14. Example: Heapster (standalone) source Kubernetes REST client Kubernetes Dashboard via built-in client
  15. 15. Example: Deploy Heapster (standalone) $ git clone https://github.com/kubernetes/heapster.git $ kubectl create –f heapster/deploy/kube-config/standalone/
  16. 16. Example: Heapster (with influxdb and Grafana) source Kubernetes sinks influxdb grafana query
  17. 17. Example: Deploy Heapster (with influxdb and Grafana) $ git clone https://github.com/kubernetes/heapster.git $ kubectl create –f heapster/deploy/kube-config/influxdb/
  18. 18. #Perform2017 Logging with Fluentd and Elastic Stack
  19. 19. continuous stream of log data for each container
  20. 20. unified logging
  21. 21. Fluentd runs on each host
  22. 22. Example: Fluentd (for container logs to elasticsearch) watch container logs elasticsearch kibana queryingest via configuration
  23. 23. Example: Deploy Fluentd (for container logs to elasticsearch) $ git clone https://github.com/kubernetes/kubernetes.git $ kubectl create –f kubernetes/cluster/addons/fluentd-elasticsearch/
  24. 24. #Perform2017 Monitoring with Jolokia
  25. 25. remote access to JMX MBeans
  26. 26. remote access to JMX MBeans exposed via REST
  27. 27. Java Management Extensions (JMX) to manage and monitor applications Source: https://en.wikipedia.org/wiki/Java_Management_Extensions Dynamic MBean MXBean Standard MBean Instrumentation Level instrument resources MBeanServerAgent Level agent for registered MBeans Connectors Adaptors Remote Management Level provides access to MBeanServerRMI, HTTP/SOAP HTML, SNMP
  28. 28. Example: Jolokia (get list of accessible MBeans) $ curl http://localhost:8080/jolokia/list includes memory, threading, gc, etc.
  29. 29. Example: Jolokia (read memory usage data) $ curl http://localhost:8080/jolokia/read/java.lang:type=Memory name of MBean
  30. 30. Example: Jolokia (read threading data) $ curl http://localhost:8080/jolokia/read/java.lang:type=Threading name of MBean
  31. 31. #Perform2017 Tracing with OpenTracing
  32. 32. a formally specified standard API for reporting with various API implementations
  33. 33. design goals
  34. 34. Why distributed (end-to-end) tracing? Source: https://research.google.com/pubs/pub36356.html initiator services remote calls
  35. 35. Why distributed (end-to-end) tracing? Source: https://research.google.com/pubs/pub36356.html initiator services remote calls What does the architecture look like?What does the architecture look like?
  36. 36. Why distributed (end-to-end) tracing? Source: https://research.google.com/pubs/pub36356.html initiator services remote calls Where is most of the time spent?
  37. 37. Why distributed (end-to-end) tracing? Source: https://research.google.com/pubs/pub36356.html initiator services remote calls How are services invoked?
  38. 38. Why distributed (end-to-end) tracing? Source: https://research.google.com/pubs/pub36356.html initiator services remote calls Which services aren’t invoked?
  39. 39. #Perform2017 ...and else?
  40. 40. Thank you.

×