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

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
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
 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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)
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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...
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

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