SlideShare a Scribd company logo
Monitoring, done differently.
Monitoring Docker Environments with
Outlyer
Todd Radel
Director, Customer Success
About Me
2
● 20 years’ software development experience
● Java, .NET, Python, Perl, C++
● APM industry veteran
4 years at AppDynamics
tradel
http://lnked.in/tradel
todd.radel@outlyer.com
@tradel
Agenda
• How Outlyer works with Docker
• Installing Outlyer agents on Docker
• How to use Host View to visualize your environment
• How plugins and packs work with containers
• Open house for Q&A
3
How Outlyer works with Docker
4
“Docker is hard.”
5
Colin Hemmings
CTO, Outlyer
Challenges in the Docker world
• Many versions of Docker, Kubernetes, Swarm, Rancher, etc.
• Breaking API changes between versions
• Evolving and releasing rapidly
• Networking model causes gaps in visibility
6
Comparing Outlyer to other solutions
Basic metrics only
(CPU/memory)
Over 500 metrics from base plugin
(CPU, memory, network, I/O, load
average, etc)
Difficult installation Installation with single command
No service monitoring Most plugins work in Docker
7
A note about labels and tags
• Docker uses “labels” to attach metadata to containers
• Kubernetes/Swarm/Rancher add many of their own labels
• Outlyer agent automatically imports Docker labels as Outlyer tags
(but only label names, not values (yet))
8
Outlyer
TAGS
Docker
LABELS
Installing Outlyer Agent on Docker
9
The “hard” way
DATALOOP_AGENT_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DATALOOP_NAME=docker_container_name
docker run -d --net host 
-e "DATALOOP_AGENT_KEY=${DATALOOP_AGENT_KEY}" 
-e "DATALOOP_NAME=${DATALOOP_NAME}" 
-v /var/run/docker.sock:/var/run/docker.sock:ro 
-v /proc:/rootfs/proc:ro 
-v /sys/fs/cgroup:/rootfs/sys/fs/cgroup:ro 
outlyer/agent:latest
10
The hard way
DATALOOP_AGENT_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DATALOOP_NAME=docker_container_name
docker run -d --net host 
-e "DATALOOP_AGENT_KEY=${DATALOOP_AGENT_KEY}" 
-e "DATALOOP_NAME=${DATALOOP_NAME}" 
-v /var/run/docker.sock:/var/run/docker.sock:ro 
-v /proc:/rootfs/proc:ro 
-v /sys/fs/cgroup:/rootfs/sys/fs/cgroup:ro 
outlyer/agent:latest
11
Needed to allow the agent to
gather host metrics
Automatically uses the latest
version - or check tags at
https://hub.docker.com/r/outlyer
/agent/ for specific versions
Using Docker Compose
wget https://rawgit.com/outlyerapp/docker-alpine/master/agent/docker-compose.yaml
vim docker-compose.yaml
docker-compose -f docker-compose.yaml up
12
Using Docker Compose
version: '2'
services:
dataloop-docker:
image: outlyer/agent:latest
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:rw
- /sys/fs/cgroup:/rootfs/sys/fs/cgroup:ro
- /var/lib/docker/:/var/lib/docker:ro
- /proc:/rootfs/proc:ro
environment:
- DATALOOP_NAME=outlyer-agent
- DATALOOP_AGENT_KEY=<your dataloop agent key>
13
Kubernetes Deployment
wget https://rawgit.com/outlyerapp/docker-alpine/master/agent/kubernetes_daemonset.yaml
kubectl apply -f kubernetes_daemonset.yaml
• Deploys one container on every host in cluster (masters and workers)
• Lights up your entire cluster with a single command
14
Swarm and Rancher Deployment
• Swarm does not currently support host networking
Use manual method for now
• Deploy on Rancher through Rancher UI
Config files will be available soon
15
Using Host View to visualize your cluster
16
What is Host View?
• Displays health of every container
and host
• Sort, group, and filter by tags
or Docker labels
• Visualize health by
CPU/memory/presence
• Show links between containers
and hosts
• Container status at a glance
17
How plugins and packs work in Docker
18
The problem
• Most plugins (and Nagios scripts) want to access “localhost” for ports,
files, etc.
HOST = 'localhost'
PORT = 27017
• But the agent runs in a different container from the app you want to
monitor
19
The magic solution
• Docker compatibility layer
• Transparently intercepts common API calls to localhost
• Replaced with calls to target container
20
The magic solution
Most plugins and packs work the same inside and outside of Docker!
21
Adapting your own plugins
• See if the client library is already covered by plugin-helper.
(Requests, MongoClient, Psycopg2, Socket, Subprocess, others)
• If so: no code changes necessary!
• If not: use the plugin-helper to find the target container.
22
Using the plugin helper library
try:
from outlyer.plugin_helper.container import is_container, get_container_ip
if is_container():
container_ip = get_container_ip()
except ImportError:
print(“Plugin helper library is not available!”)
print(“Please upgrade your Outlyer agent to the latest version.”)
23
Coming Soon!
24
New features in Fall 2017 release
• Full support for key/value labels
• Host View becomes the default view
• “Scoped” dashboards with label selectors
25
Questions & Answers
26
Resources
27
Resources
• Monitoring Docker environments with Outlyer
(product documentation)
• Plugin Helper library
(for adapting your plugins to Docker)
• Support Slack
(sign up and ask questions)
28
Thank You!
29

More Related Content

What's hot

DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
dotCloud
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
Patrick Chanezon
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
Samuel Terburg
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog Artifactory
Stephen Chin
 
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
OpenShift Origin
 
Continuous Delivery leveraging on Docker CaaS by Adrien Blind
Continuous Delivery leveraging on Docker CaaS by Adrien BlindContinuous Delivery leveraging on Docker CaaS by Adrien Blind
Continuous Delivery leveraging on Docker CaaS by Adrien Blind
Docker, Inc.
 
Practical Approaches to Cloud Native Security
Practical Approaches to Cloud Native SecurityPractical Approaches to Cloud Native Security
Practical Approaches to Cloud Native Security
Karthik Gaekwad
 
Your Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan TufeckiYour Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan Tufecki
Docker, Inc.
 
OSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolution
Docker, Inc.
 
The Docker Ecosystem
The Docker EcosystemThe Docker Ecosystem
The Docker Ecosystem
Dmitry Skaredov
 
Building a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOSBuilding a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOS
Ross Kukulinski
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2
Docker, Inc.
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made Easy
All Things Open
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifeidotCloud
 
Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
dotCloud
 
WebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflowsWebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflows
enpit GmbH & Co. KG
 
Docker in a big company
Docker in a big companyDocker in a big company
Docker in a big company
Docker, Inc.
 
Neues aus dem Docker-Universum
Neues aus dem Docker-UniversumNeues aus dem Docker-Universum
Neues aus dem Docker-Universum
Nicholas Dille
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
Docker, Inc.
 
Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2
dotCloud
 

What's hot (20)

DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
 
Docker SF Meetup January 2016
Docker SF Meetup January 2016Docker SF Meetup January 2016
Docker SF Meetup January 2016
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 
Repository Management with JFrog Artifactory
Repository Management with JFrog ArtifactoryRepository Management with JFrog Artifactory
Repository Management with JFrog Artifactory
 
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
How to Launch a Public PaaS with OpenSource: The GetUpCloud & OpenShift Orgin...
 
Continuous Delivery leveraging on Docker CaaS by Adrien Blind
Continuous Delivery leveraging on Docker CaaS by Adrien BlindContinuous Delivery leveraging on Docker CaaS by Adrien Blind
Continuous Delivery leveraging on Docker CaaS by Adrien Blind
 
Practical Approaches to Cloud Native Security
Practical Approaches to Cloud Native SecurityPractical Approaches to Cloud Native Security
Practical Approaches to Cloud Native Security
 
Your Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan TufeckiYour Auto-Scaling Bot - Volkan Tufecki
Your Auto-Scaling Bot - Volkan Tufecki
 
OSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolutionOSCON: Unikernels and Docker: From revolution to evolution
OSCON: Unikernels and Docker: From revolution to evolution
 
The Docker Ecosystem
The Docker EcosystemThe Docker Ecosystem
The Docker Ecosystem
 
Building a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOSBuilding a SaaS with Nodejs, Docker, and CoreOS
Building a SaaS with Nodejs, Docker, and CoreOS
 
Docker Registry V2
Docker Registry V2Docker Registry V2
Docker Registry V2
 
Provisioning Servers Made Easy
Provisioning Servers Made EasyProvisioning Servers Made Easy
Provisioning Servers Made Easy
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
 
WebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflowsWebCenter Portal - Integrate Custom taskflows
WebCenter Portal - Integrate Custom taskflows
 
Docker in a big company
Docker in a big companyDocker in a big company
Docker in a big company
 
Neues aus dem Docker-Universum
Neues aus dem Docker-UniversumNeues aus dem Docker-Universum
Neues aus dem Docker-Universum
 
DockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times NewsroomDockerCon SF 2015: Docker in the New York Times Newsroom
DockerCon SF 2015: Docker in the New York Times Newsroom
 
Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2
 

Similar to Monitoring Docker Environments with Outlyer

Devoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsDevoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and Bolts
Patrick Chanezon
 
Docker
DockerDocker
Docker for dev
Docker for devDocker for dev
Docker for dev
Erik Talboom
 
Why to docker
Why to dockerWhy to docker
Why to docker
Karthik Gaekwad
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013dotCloud
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOps
Zohar Elkayam
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
damovsky
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewChris Ciborowski
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
Docker, Inc.
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
Guatemala User Group
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
Lino Telera
 
5 Ways to Secure Your Containers for Docker and Beyond
5 Ways to Secure Your Containers for Docker and Beyond5 Ways to Secure Your Containers for Docker and Beyond
5 Ways to Secure Your Containers for Docker and Beyond
Black Duck by Synopsys
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
RightScale
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.
 
Intro to Docker October 2013
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013Docker, Inc.
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
Oracle Developers
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
Karthik Gaekwad
 

Similar to Monitoring Docker Environments with Outlyer (20)

Devoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and BoltsDevoxx 2016 - Docker Nuts and Bolts
Devoxx 2016 - Docker Nuts and Bolts
 
Docker
DockerDocker
Docker
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Docker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOpsDocker Concepts for Oracle/MySQL DBAs and DevOps
Docker Concepts for Oracle/MySQL DBAs and DevOps
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
Docker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - OverviewDocker Birthday #3 Slides - Overview
Docker Birthday #3 Slides - Overview
 
Docker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker SlidesDocker Birthday #3 - Intro to Docker Slides
Docker Birthday #3 - Intro to Docker Slides
 
Oracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
 
5 Ways to Secure Your Containers for Docker and Beyond
5 Ways to Secure Your Containers for Docker and Beyond5 Ways to Secure Your Containers for Docker and Beyond
5 Ways to Secure Your Containers for Docker and Beyond
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
 
Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
 
Intro to Docker October 2013
Intro to Docker October 2013Intro to Docker October 2013
Intro to Docker October 2013
 
Containers and Microservices for Realists
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
 
Containers and microservices for realists
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 

Monitoring Docker Environments with Outlyer

  • 1. Monitoring, done differently. Monitoring Docker Environments with Outlyer Todd Radel Director, Customer Success
  • 2. About Me 2 ● 20 years’ software development experience ● Java, .NET, Python, Perl, C++ ● APM industry veteran 4 years at AppDynamics tradel http://lnked.in/tradel todd.radel@outlyer.com @tradel
  • 3. Agenda • How Outlyer works with Docker • Installing Outlyer agents on Docker • How to use Host View to visualize your environment • How plugins and packs work with containers • Open house for Q&A 3
  • 4. How Outlyer works with Docker 4
  • 5. “Docker is hard.” 5 Colin Hemmings CTO, Outlyer
  • 6. Challenges in the Docker world • Many versions of Docker, Kubernetes, Swarm, Rancher, etc. • Breaking API changes between versions • Evolving and releasing rapidly • Networking model causes gaps in visibility 6
  • 7. Comparing Outlyer to other solutions Basic metrics only (CPU/memory) Over 500 metrics from base plugin (CPU, memory, network, I/O, load average, etc) Difficult installation Installation with single command No service monitoring Most plugins work in Docker 7
  • 8. A note about labels and tags • Docker uses “labels” to attach metadata to containers • Kubernetes/Swarm/Rancher add many of their own labels • Outlyer agent automatically imports Docker labels as Outlyer tags (but only label names, not values (yet)) 8 Outlyer TAGS Docker LABELS
  • 10. The “hard” way DATALOOP_AGENT_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DATALOOP_NAME=docker_container_name docker run -d --net host -e "DATALOOP_AGENT_KEY=${DATALOOP_AGENT_KEY}" -e "DATALOOP_NAME=${DATALOOP_NAME}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc:/rootfs/proc:ro -v /sys/fs/cgroup:/rootfs/sys/fs/cgroup:ro outlyer/agent:latest 10
  • 11. The hard way DATALOOP_AGENT_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DATALOOP_NAME=docker_container_name docker run -d --net host -e "DATALOOP_AGENT_KEY=${DATALOOP_AGENT_KEY}" -e "DATALOOP_NAME=${DATALOOP_NAME}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc:/rootfs/proc:ro -v /sys/fs/cgroup:/rootfs/sys/fs/cgroup:ro outlyer/agent:latest 11 Needed to allow the agent to gather host metrics Automatically uses the latest version - or check tags at https://hub.docker.com/r/outlyer /agent/ for specific versions
  • 12. Using Docker Compose wget https://rawgit.com/outlyerapp/docker-alpine/master/agent/docker-compose.yaml vim docker-compose.yaml docker-compose -f docker-compose.yaml up 12
  • 13. Using Docker Compose version: '2' services: dataloop-docker: image: outlyer/agent:latest network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:rw - /sys/fs/cgroup:/rootfs/sys/fs/cgroup:ro - /var/lib/docker/:/var/lib/docker:ro - /proc:/rootfs/proc:ro environment: - DATALOOP_NAME=outlyer-agent - DATALOOP_AGENT_KEY=<your dataloop agent key> 13
  • 14. Kubernetes Deployment wget https://rawgit.com/outlyerapp/docker-alpine/master/agent/kubernetes_daemonset.yaml kubectl apply -f kubernetes_daemonset.yaml • Deploys one container on every host in cluster (masters and workers) • Lights up your entire cluster with a single command 14
  • 15. Swarm and Rancher Deployment • Swarm does not currently support host networking Use manual method for now • Deploy on Rancher through Rancher UI Config files will be available soon 15
  • 16. Using Host View to visualize your cluster 16
  • 17. What is Host View? • Displays health of every container and host • Sort, group, and filter by tags or Docker labels • Visualize health by CPU/memory/presence • Show links between containers and hosts • Container status at a glance 17
  • 18. How plugins and packs work in Docker 18
  • 19. The problem • Most plugins (and Nagios scripts) want to access “localhost” for ports, files, etc. HOST = 'localhost' PORT = 27017 • But the agent runs in a different container from the app you want to monitor 19
  • 20. The magic solution • Docker compatibility layer • Transparently intercepts common API calls to localhost • Replaced with calls to target container 20
  • 21. The magic solution Most plugins and packs work the same inside and outside of Docker! 21
  • 22. Adapting your own plugins • See if the client library is already covered by plugin-helper. (Requests, MongoClient, Psycopg2, Socket, Subprocess, others) • If so: no code changes necessary! • If not: use the plugin-helper to find the target container. 22
  • 23. Using the plugin helper library try: from outlyer.plugin_helper.container import is_container, get_container_ip if is_container(): container_ip = get_container_ip() except ImportError: print(“Plugin helper library is not available!”) print(“Please upgrade your Outlyer agent to the latest version.”) 23
  • 25. New features in Fall 2017 release • Full support for key/value labels • Host View becomes the default view • “Scoped” dashboards with label selectors 25
  • 28. Resources • Monitoring Docker environments with Outlyer (product documentation) • Plugin Helper library (for adapting your plugins to Docker) • Support Slack (sign up and ask questions) 28