SlideShare a Scribd company logo
1 of 36
Beyond VM deployment
   Monitoring your VM's at scale
           Kris Buytaert
Kris Buytaert
●   I used to be a Dev,
●   Then Became an Op
●   Chief Trolling Officer and Open Source
    Consultant @inuits.eu
●   Everything is an effing DNS Problem
●   Building Clouds since before the bookstore
●   Some books, some papers, some blogs
●   Evangelizing devops
●   But mostly, trying to be good at my job
What's different in the cloud ?
●   Scale
●   Velocity
●   Change
Challenges
●   Reproducability
●   Speed
●   Auditing
●   Keeping stuff in sync
    •   Monitoring
    •   Security
Case :
Using a configuration management
tool to configure, update and keep
your cloudscale monitoring and metric
infrastructure sane and manageable.
Tools
●   Puppet            ●   Chef Cfengine
                      ●   Ganglia
●   Collectd
                      ●   Sensu
●   Graphite
●   Nagios / Icinga
Not quite a Muppet.

●   Puppet is...

●   OSS

●   A DSL language

●   Written in Ruby

●   Client/server oriented

●   Contains abstraction layers

●   Repeatable processes
Master of Puppets
●   Puppet master
    •   CA authority

    •   Hosts Modules

    •   Hosts Node descriptions

    •   Compare, compile, apply

●   Master is not a requirement !
Puppet Clients
●   daemon

●   Cron jobs

●   External orchestration:

    •   for i in $hosts; do ssh $i “puppetd --test”; done

    •   mCollective, Func, …

●   Get catalogs, play them,

●   reporting
Puppet Environments
●   Different code bases on 1 master

●   Dev, Uat, Prod

●   Only break one environment at once :)

●   What about testing your Puppetmaster ?
Node definitions
●   Nodes.pp

    class defaults {
         $search = "inuits.be"
         $nameservers = ['208.67.220.220', '208.67.222.222']

         include dns::resolv
         include ssh::keys
         include ssh::server
    }

    node "ns1.dev.inuits.be" {
        include defaults
        include dns::powerdns::server
        include dns::powerdns::resolver
    }

    node “web1.dev.inuits.be” {
        include defaults
        include apache2
        include mysql
    }
External Node Classifier
●   Fixed hostname ?

●   How many nodes

●   Naming schemas solve some issues



●   External script that sends back yaml class descriptions

    •   Custom writtten

    •   Foreman

    •   ...
Classes vs Modules
●   Module :
          ●
              Abstract definition on configuring a service
          ●
              Reusable
●   Class :
          ●
              Specific implementation of your use case of
              such a module

•e.g usernames / passwords / hosts do not belong in
modules
Modules
●   Files

●   Templates

●   Manifests
    •   DSL

    •   Classes

    •   Elements
Parametrized
  Classes
Stored Configs
Use Cases:
●   Ssh keys
●   Reverse proxy configs


●   Monitoring resources
●   Measuring resources
Collection and Export
 Export :           Collect:
 @@resource {       Resource <<|
                    query |>>
 ... }


Clean out nodes that dissapear
puppet node clean
Defining a Service
●   Local class that :
    •   Configures service using a standard
        module call with hiera based parameters
    •   Configures Backup
    •   Configures logrotation
    •   Configures logshipping
    •   Exports Monitoring Needs
●   Abuse modules for git ease
Apache Example:
#monitoringsucks
    Monitoring is AWESOME. Metrics are AWESOME. I love it. Here's what I don't love:

●   Having my hands tied with the model of host and service bindings.

●   Having to set up "fake" hosts just to group arbitrary metrics together

●   Having to either collect metrics twice - once for alerting and another for trending

●   Only being able to see my metrics in 5 minute intervals

●   Having to chose between shitty interface but great monitoring or shitty monitoring but
    great interface

●   Dealing with a monitoring system that thinks IT is the system of truth for my
    environment

●   Not actually having any real choices

               John Vincent (@lusis) on his blog http://lusislog.blogspot.com/2011/06/why-
#monitoringlove
●   Puppet
●   Nagios (Icinga)
●   Graphite
●   Collectd
●   Logstash
Graphite
●   Graphing at Scale
●   Graphing at Ease
●   Any metric is a graph


●   echo "somestring $somevalue
    $timestamp" | nc <%= graphitehost
    %> 2003
Graphite Composer

    x
Graphite API
Gdash In action
Puppet and Graphite
●   https://github.com/KrisBuytaert/vagrant-graphite/

●   Includes Graphite / Gdash / Jmxtrans / Logster / Collectd /
    Statsd / Tattle and more modules as submodules !




●   git clone

●   git submodule init

●   git submodule update

●   vagrant up
Collectd
●   Collects
●   Zillion Plugins
    •   Nginx,apache, mysql, disk
●   Graphite Carbon Plugin
●   Send metrics to graphite
Collectd & Graphite
Exporting and Collecting
Triggers on Graphs
●   Export Java Metrics   ●   Collect JMX Exports
                              on JMXTransNode
●   JMXTrans
                          ●   Graph Em
●   Export JMXConfigs
                              Collect Nagios
●   Configure NRPE            Configs on Nagios
    Check                     Server
●   Export NagiosCheck
Triggers on Graphs
Triggers on Graphs
Conclusion:
●   Reproducable monitoring setup
●   Dynamically generated monitoring
    config
●   Code is available at
    github.com/KrisBuytaert/snippets
Contact
Kris Buytaert
Kris.Buytaert@inuits.be

Further Reading
@krisbuytaert
http://www.krisbuytaert.be/blog/
http://www.inuits.be/




                             Inuits

                             Duboistraat 50
                             2060 Antwerpen
                             Belgium
                             891.514.231

                             +32 475 961221

More Related Content

What's hot

MySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixMySQL Monitoring with Zabbix
MySQL Monitoring with Zabbix
FromDual GmbH
 

What's hot (20)

Swarm: Native Docker Clustering
Swarm: Native Docker ClusteringSwarm: Native Docker Clustering
Swarm: Native Docker Clustering
 
2016-01-16 03 Денис Нелюбин. How to test a million
2016-01-16 03 Денис Нелюбин. How to test a million2016-01-16 03 Денис Нелюбин. How to test a million
2016-01-16 03 Денис Нелюбин. How to test a million
 
Multi-core Node.pdf
Multi-core Node.pdfMulti-core Node.pdf
Multi-core Node.pdf
 
OpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on TutorialOpenNebula 5.4 Hands-on Tutorial
OpenNebula 5.4 Hands-on Tutorial
 
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
OpenNebula Conf 2014 | Building Hybrid Cloud Federated Environments with Open...
 
TechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
TechDay - Cambridge 2016 - OpenNebula at Harvard UniverityTechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
TechDay - Cambridge 2016 - OpenNebula at Harvard Univerity
 
Nuxeo World Session: Scaling Nuxeo Applications
Nuxeo World Session: Scaling Nuxeo ApplicationsNuxeo World Session: Scaling Nuxeo Applications
Nuxeo World Session: Scaling Nuxeo Applications
 
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes][HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
 
Automating complex infrastructures with Puppet
Automating complex infrastructures with PuppetAutomating complex infrastructures with Puppet
Automating complex infrastructures with Puppet
 
Running Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic BeanstalkRunning Containerized Node.js Services on AWS Elastic Beanstalk
Running Containerized Node.js Services on AWS Elastic Beanstalk
 
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier FontanOpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
OpenNebula Conf 2014 | OpenNebula as Open Replacement of vCloud by Javier Fontan
 
Qt Application Programming with C++ - Part 2
Qt Application Programming with C++ - Part 2Qt Application Programming with C++ - Part 2
Qt Application Programming with C++ - Part 2
 
Architectural caching patterns for kubernetes
Architectural caching patterns for kubernetesArchitectural caching patterns for kubernetes
Architectural caching patterns for kubernetes
 
Automating Monitoring with Puppet
Automating Monitoring with PuppetAutomating Monitoring with Puppet
Automating Monitoring with Puppet
 
Kubernetes and OpenStack at Scale
Kubernetes and OpenStack at ScaleKubernetes and OpenStack at Scale
Kubernetes and OpenStack at Scale
 
OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7OpenNebula - OpenNebula and tips for CentOS 7
OpenNebula - OpenNebula and tips for CentOS 7
 
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebulaOpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
OpenNebulaConf 2016 - Storage Hands-on Workshop by Javier Fontán, OpenNebula
 
Manuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4octManuel Hurtado. Couchbase paradigma4oct
Manuel Hurtado. Couchbase paradigma4oct
 
MySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixMySQL Monitoring with Zabbix
MySQL Monitoring with Zabbix
 
How Can OpenNebula Fit Your Needs: A European Project Feedback
How Can OpenNebula Fit Your Needs: A European Project FeedbackHow Can OpenNebula Fit Your Needs: A European Project Feedback
How Can OpenNebula Fit Your Needs: A European Project Feedback
 

Viewers also liked

El uso del tiempo de en la clase
El uso del tiempo de en la claseEl uso del tiempo de en la clase
El uso del tiempo de en la clase
florglo
 
Lima 2015 Plan
Lima 2015 PlanLima 2015 Plan
Lima 2015 Plan
polo
 
Providing Global Gateways to success!
Providing Global Gateways to success!Providing Global Gateways to success!
Providing Global Gateways to success!
guest28a0624
 
cover letter and update cv.Septadi N
cover letter and update cv.Septadi Ncover letter and update cv.Septadi N
cover letter and update cv.Septadi N
Septadi Nurbain
 
SashaV_Capabilities (1)
SashaV_Capabilities (1)SashaV_Capabilities (1)
SashaV_Capabilities (1)
Sasha Flynn
 

Viewers also liked (20)

ZabbixによるOpenStack監視のご紹介
ZabbixによるOpenStack監視のご紹介ZabbixによるOpenStack監視のご紹介
ZabbixによるOpenStack監視のご紹介
 
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
“Sensu and Sensibility” - The Story of a Journey From #monitoringsucks to #mo...
 
El uso del tiempo de en la clase
El uso del tiempo de en la claseEl uso del tiempo de en la clase
El uso del tiempo de en la clase
 
Fisica para-el-blog-eaea
Fisica para-el-blog-eaeaFisica para-el-blog-eaea
Fisica para-el-blog-eaea
 
Dress code art deco
Dress code art decoDress code art deco
Dress code art deco
 
Roxana Vanessa - Book
Roxana Vanessa - BookRoxana Vanessa - Book
Roxana Vanessa - Book
 
MASTER MBA en Logística. ESTEMA Escuela de Negocios.
MASTER MBA en Logística. ESTEMA Escuela de Negocios.MASTER MBA en Logística. ESTEMA Escuela de Negocios.
MASTER MBA en Logística. ESTEMA Escuela de Negocios.
 
Sistema de Gestión de Formación Online: Moodle
Sistema de Gestión de Formación Online: MoodleSistema de Gestión de Formación Online: Moodle
Sistema de Gestión de Formación Online: Moodle
 
Hle 1 del mito al logos
Hle 1 del mito al logosHle 1 del mito al logos
Hle 1 del mito al logos
 
2013-07-16-06-59-04-asfalum
 2013-07-16-06-59-04-asfalum 2013-07-16-06-59-04-asfalum
2013-07-16-06-59-04-asfalum
 
Lima 2015 Plan
Lima 2015 PlanLima 2015 Plan
Lima 2015 Plan
 
Integrated Earth Data Applications: Enhancing Reliable Data Services Through ...
Integrated Earth Data Applications: Enhancing Reliable Data Services Through ...Integrated Earth Data Applications: Enhancing Reliable Data Services Through ...
Integrated Earth Data Applications: Enhancing Reliable Data Services Through ...
 
CV Diseñador de paginas web
CV Diseñador de paginas webCV Diseñador de paginas web
CV Diseñador de paginas web
 
Providing Global Gateways to success!
Providing Global Gateways to success!Providing Global Gateways to success!
Providing Global Gateways to success!
 
INFORME EXTENSO
INFORME EXTENSOINFORME EXTENSO
INFORME EXTENSO
 
cover letter and update cv.Septadi N
cover letter and update cv.Septadi Ncover letter and update cv.Septadi N
cover letter and update cv.Septadi N
 
Proyecto "No puc esperar!" - 20 de diciembre de 2014.
Proyecto "No puc esperar!" - 20 de diciembre de 2014.Proyecto "No puc esperar!" - 20 de diciembre de 2014.
Proyecto "No puc esperar!" - 20 de diciembre de 2014.
 
Aqua Terra CP # 051 Hacienda El Limon
Aqua Terra CP # 051 Hacienda El Limon Aqua Terra CP # 051 Hacienda El Limon
Aqua Terra CP # 051 Hacienda El Limon
 
SashaV_Capabilities (1)
SashaV_Capabilities (1)SashaV_Capabilities (1)
SashaV_Capabilities (1)
 
Ackermans & van Haaren - 2013 annual results
Ackermans & van Haaren - 2013 annual resultsAckermans & van Haaren - 2013 annual results
Ackermans & van Haaren - 2013 annual results
 

Similar to Monitoring your VM's at Scale

Behat Workshop at WeLovePHP
Behat Workshop at WeLovePHPBehat Workshop at WeLovePHP
Behat Workshop at WeLovePHP
Marcos Quesada
 

Similar to Monitoring your VM's at Scale (20)

Monitoring in the cloud with Puppet
Monitoring in the cloud with PuppetMonitoring in the cloud with Puppet
Monitoring in the cloud with Puppet
 
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
Puppet Camp Silicon Valley 2015: How TubeMogul reached 10,000 Puppet Deployme...
 
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
Nagios Conference 2014 - Mike Merideth - The Art and Zen of Managing Nagios w...
 
The Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With PuppetThe Art and Zen of Managing Nagios With Puppet
The Art and Zen of Managing Nagios With Puppet
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
Continuous delivery of Windows micro services in the cloud
Continuous delivery of Windows micro services in the cloud Continuous delivery of Windows micro services in the cloud
Continuous delivery of Windows micro services in the cloud
 
Eko10 Workshop Opensource Database Auditing
Eko10  Workshop Opensource Database AuditingEko10  Workshop Opensource Database Auditing
Eko10 Workshop Opensource Database Auditing
 
Behat Workshop at WeLovePHP
Behat Workshop at WeLovePHPBehat Workshop at WeLovePHP
Behat Workshop at WeLovePHP
 
Puppet Camp Denver 2015: Nagios Management With Puppet
Puppet Camp Denver 2015: Nagios Management With PuppetPuppet Camp Denver 2015: Nagios Management With Puppet
Puppet Camp Denver 2015: Nagios Management With Puppet
 
ContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven InfrastructureContainerCon - Test Driven Infrastructure
ContainerCon - Test Driven Infrastructure
 
Scaling Magento
Scaling MagentoScaling Magento
Scaling Magento
 
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
Eko10 workshop - OPEN SOURCE DATABASE MONITORINGEko10 workshop - OPEN SOURCE DATABASE MONITORING
Eko10 workshop - OPEN SOURCE DATABASE MONITORING
 
The Art & Zen of Managing Nagios with Puppet
The Art & Zen of Managing Nagios with PuppetThe Art & Zen of Managing Nagios with Puppet
The Art & Zen of Managing Nagios with Puppet
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with Puppet
 
The Accidental DBA
The Accidental DBAThe Accidental DBA
The Accidental DBA
 
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Puppet Camp Portland: Nagios Management With Puppet (Beginner)Puppet Camp Portland: Nagios Management With Puppet (Beginner)
Puppet Camp Portland: Nagios Management With Puppet (Beginner)
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
nebulaconf
nebulaconfnebulaconf
nebulaconf
 
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012
Hands on Virtualization with Ganeti (part 1)  - LinuxCon 2012Hands on Virtualization with Ganeti (part 1)  - LinuxCon 2012
Hands on Virtualization with Ganeti (part 1) - LinuxCon 2012
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 

More from Kris Buytaert

More from Kris Buytaert (20)

Years of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoopsYears of (not) learning , from devops to devoops
Years of (not) learning , from devops to devoops
 
Observability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,IgniteObservability will not fix your Broken Monitoring ,Ignite
Observability will not fix your Broken Monitoring ,Ignite
 
Infrastructure as Code Patterns
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code Patterns
 
From devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learningFrom devoops to devops 13 years of (not) learning
From devoops to devops 13 years of (not) learning
 
Pipeline all the Dashboards as Code
Pipeline all the Dashboards as CodePipeline all the Dashboards as Code
Pipeline all the Dashboards as Code
 
Help , My Datacenter is on fire
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fire
 
GitOps , done Right
GitOps , done RightGitOps , done Right
GitOps , done Right
 
Devops is Dead, Long live Devops
Devops is Dead, Long live DevopsDevops is Dead, Long live Devops
Devops is Dead, Long live Devops
 
10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ? 10 years of #devopsdays, but what have we really learned ?
10 years of #devopsdays, but what have we really learned ?
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ?
 
10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness
 
ADDO 2019: Looking back at over 10 years of Devops
ADDO 2019:    Looking back at over 10 years of DevopsADDO 2019:    Looking back at over 10 years of Devops
ADDO 2019: Looking back at over 10 years of Devops
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite Edition
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019
 
Migrating to Puppet 5
Migrating to Puppet 5Migrating to Puppet 5
Migrating to Puppet 5
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as Code
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security Requirement
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Monitoring your VM's at Scale

  • 1. Beyond VM deployment Monitoring your VM's at scale Kris Buytaert
  • 2. Kris Buytaert ● I used to be a Dev, ● Then Became an Op ● Chief Trolling Officer and Open Source Consultant @inuits.eu ● Everything is an effing DNS Problem ● Building Clouds since before the bookstore ● Some books, some papers, some blogs ● Evangelizing devops ● But mostly, trying to be good at my job
  • 3. What's different in the cloud ? ● Scale ● Velocity ● Change
  • 4. Challenges ● Reproducability ● Speed ● Auditing ● Keeping stuff in sync • Monitoring • Security
  • 5. Case : Using a configuration management tool to configure, update and keep your cloudscale monitoring and metric infrastructure sane and manageable.
  • 6. Tools ● Puppet ● Chef Cfengine ● Ganglia ● Collectd ● Sensu ● Graphite ● Nagios / Icinga
  • 7. Not quite a Muppet. ● Puppet is... ● OSS ● A DSL language ● Written in Ruby ● Client/server oriented ● Contains abstraction layers ● Repeatable processes
  • 8. Master of Puppets ● Puppet master • CA authority • Hosts Modules • Hosts Node descriptions • Compare, compile, apply ● Master is not a requirement !
  • 9. Puppet Clients ● daemon ● Cron jobs ● External orchestration: • for i in $hosts; do ssh $i “puppetd --test”; done • mCollective, Func, … ● Get catalogs, play them, ● reporting
  • 10. Puppet Environments ● Different code bases on 1 master ● Dev, Uat, Prod ● Only break one environment at once :) ● What about testing your Puppetmaster ?
  • 11. Node definitions ● Nodes.pp class defaults { $search = "inuits.be" $nameservers = ['208.67.220.220', '208.67.222.222'] include dns::resolv include ssh::keys include ssh::server } node "ns1.dev.inuits.be" { include defaults include dns::powerdns::server include dns::powerdns::resolver } node “web1.dev.inuits.be” { include defaults include apache2 include mysql }
  • 12. External Node Classifier ● Fixed hostname ? ● How many nodes ● Naming schemas solve some issues ● External script that sends back yaml class descriptions • Custom writtten • Foreman • ...
  • 13. Classes vs Modules ● Module : ● Abstract definition on configuring a service ● Reusable ● Class : ● Specific implementation of your use case of such a module •e.g usernames / passwords / hosts do not belong in modules
  • 14. Modules ● Files ● Templates ● Manifests • DSL • Classes • Elements
  • 17. Use Cases: ● Ssh keys ● Reverse proxy configs ● Monitoring resources ● Measuring resources
  • 18. Collection and Export Export : Collect: @@resource { Resource <<| query |>> ... } Clean out nodes that dissapear puppet node clean
  • 19. Defining a Service ● Local class that : • Configures service using a standard module call with hiera based parameters • Configures Backup • Configures logrotation • Configures logshipping • Exports Monitoring Needs ● Abuse modules for git ease
  • 21. #monitoringsucks Monitoring is AWESOME. Metrics are AWESOME. I love it. Here's what I don't love: ● Having my hands tied with the model of host and service bindings. ● Having to set up "fake" hosts just to group arbitrary metrics together ● Having to either collect metrics twice - once for alerting and another for trending ● Only being able to see my metrics in 5 minute intervals ● Having to chose between shitty interface but great monitoring or shitty monitoring but great interface ● Dealing with a monitoring system that thinks IT is the system of truth for my environment ● Not actually having any real choices John Vincent (@lusis) on his blog http://lusislog.blogspot.com/2011/06/why-
  • 22.
  • 23. #monitoringlove ● Puppet ● Nagios (Icinga) ● Graphite ● Collectd ● Logstash
  • 24. Graphite ● Graphing at Scale ● Graphing at Ease ● Any metric is a graph ● echo "somestring $somevalue $timestamp" | nc <%= graphitehost %> 2003
  • 28. Puppet and Graphite ● https://github.com/KrisBuytaert/vagrant-graphite/ ● Includes Graphite / Gdash / Jmxtrans / Logster / Collectd / Statsd / Tattle and more modules as submodules ! ● git clone ● git submodule init ● git submodule update ● vagrant up
  • 29. Collectd ● Collects ● Zillion Plugins • Nginx,apache, mysql, disk ● Graphite Carbon Plugin ● Send metrics to graphite
  • 32. Triggers on Graphs ● Export Java Metrics ● Collect JMX Exports on JMXTransNode ● JMXTrans ● Graph Em ● Export JMXConfigs Collect Nagios ● Configure NRPE Configs on Nagios Check Server ● Export NagiosCheck
  • 35. Conclusion: ● Reproducable monitoring setup ● Dynamically generated monitoring config ● Code is available at github.com/KrisBuytaert/snippets