SlideShare a Scribd company logo
1 of 48
Download to read offline
Monitoring in the Cloud
          with Puppet
    PuppetCamp Ghent 2013
         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
Do you know what your children do at 5 am
            in the morning ?
●   Sleeping ?
●   Crashing a Party ?
●   Why are the cops at your front door ?
●   What happened ?
●   How long have they been gone ?
devops
●   Culture
●   (Lean)
●   Automation
●   Measurement
●   Sharing
              Damon Edwards and John Willis
                                  Gene Kim
Monitoring is usually an
aftertought
                ENOBUDGET, ENOTIME
A sub movement
●   #monitoringsucks trending
●   https://github.com/monitoringsucks/
●   2008 Study :Nagios + Friends
●   2011 Conclusion : Nagios/Icinga are
    the only automatable alternatives
#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-
                                                                      monitoring-sucks.html
Let's forget about
●   GroundWork   ●   Cacti
●   Zenoss       ●   Munin
●   Zabbix       ●   BigBrother
●   Hyperic
What's different in the cloud ?
●   Scale
●   Velocity
●   Change
Challenges
●   Reproducability
●   Speed
●   Auditing
●   Keeping stuff in sync
Thank god Luke for Puppet
And Mark for Cfengine
}
#monitoringsucks   2013
What we want
●   Small , wel suited components
    •   Collect
    •   Transport / Mangle
    •   Analyse / Act
    •   Visualize
Collectd
●   Collects
●   Zillion Plugins
    •   Nginx,apache, mysql, disk
●   Graphite Carbon Plugin
●   Send metrics to graphite
●   https://github.com/KrisBuytaert/pupp
    et-collectd
●   Collect from
    anywhere
●   Filter
●   Send anywhere
Puppet and Logstash
●   https://github.com/KrisBuytaert/vagrant-puppet-logstash

●   Includes Logstash / Kibana / Grok / ES modules as
    submodules !

    git clone

●   git submodule init

●   git submodule update

●   vagrant up
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 & Graphite
Configuring a Service
●   Package
●   Config
●   Service
     <- we pray status is correct
Apache Example:
Definition of Done:


  Done means : being monitored
Icinga ?
•   Isn't nagios dead ?
•   Vibrant Community
•   Throw great parties in Nurnberg
•   Nobody can pronounce it anyhow
•   https://github.com/Inuits/puppet-icinga/
Monitoring Baseline
●   Deploy a host,
●   Add it to the monitoring
●   Add collection tools
●   Add check definitions
●   Update the monitoring tool config
Stored Configs
Collection and Export
 Export :           Collect:
 @@resource {       Resource <<|
                    query |>>
 ... }


Clean out nodes that dissapear
puppet node clean
Exporting and Collecting
Monitoring a Vhost
It is not in production if it is not
             monitored
Triggers on Graphs
●   Export Java Metrics    ●   Collect JMX Exports on
                               JMXTransNode
●   JMXTrans
                           ●   Graph Em
●   Export JMXConfigs
                               Collect Nagios Configs
●   Configure NRPE Check       on Nagios 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
But,
(pronounced in Ozzy dialect)
http://www.kartar.net/2013/01/monitoring-sucks---a-rant/
#monitoringlove
Homework
Sensu        Riemann
Extrememon   Esper
...
Contact
Kris.Buytaert@inuits.eu

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




                             Inuits

                             Duboistraat 50
                             2060 Antwerpen
                             Belgium
                             891.514.231

                             +32 475 961221
http://loadays.org

More Related Content

What's hot

Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremKris Buytaert
 
Migrating to Puppet 5
Migrating to Puppet 5Migrating to Puppet 5
Migrating to Puppet 5Kris Buytaert
 
Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureKasun Kodagoda
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub ActionsNilesh Gule
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsKumar Shìvam
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mablBertold Kolics
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabFilipa Lacerda
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsCasey Lee
 
Extending GWT
Extending GWTExtending GWT
Extending GWTisurusndr
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in actionOleksii Holub
 
How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product Invotra
 
Languages don't matter anymore!
Languages don't matter anymore!Languages don't matter anymore!
Languages don't matter anymore!Soluto
 
Hashi talk israel
Hashi talk  israelHashi talk  israel
Hashi talk israelItaiTieger
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipsterJulien Dubois
 

What's hot (20)

Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Migrating to Puppet 5
Migrating to Puppet 5Migrating to Puppet 5
Migrating to Puppet 5
 
Using GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to AzureUsing GitHub Actions to Deploy your Workloads to Azure
Using GitHub Actions to Deploy your Workloads to Azure
 
Stripe con 2021 UI stack
Stripe con 2021 UI stackStripe con 2021 UI stack
Stripe con 2021 UI stack
 
DevOps with GitHub Actions
DevOps with GitHub ActionsDevOps with GitHub Actions
DevOps with GitHub Actions
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
GitHub Actions demo with mabl
GitHub Actions demo with mablGitHub Actions demo with mabl
GitHub Actions demo with mabl
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at Gitlab
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub Actions
 
Extending GWT
Extending GWTExtending GWT
Extending GWT
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in action
 
Github in Action
Github in ActionGithub in Action
Github in Action
 
1 git-overview
1 git-overview1 git-overview
1 git-overview
 
How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product
 
Languages don't matter anymore!
Languages don't matter anymore!Languages don't matter anymore!
Languages don't matter anymore!
 
Hashi talk israel
Hashi talk  israelHashi talk  israel
Hashi talk israel
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 

Similar to Monitoring in the cloud with Puppet

Monitoring your VM's at Scale
Monitoring your VM's at ScaleMonitoring your VM's at Scale
Monitoring your VM's at ScaleKris Buytaert
 
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris Buytaert
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris BuytaertOSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris Buytaert
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris BuytaertNETWAYS
 
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris BuytaertOSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris BuytaertNETWAYS
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at FrosconKris Buytaert
 
Devops at Startup Weekend BXL
Devops at Startup Weekend BXLDevops at Startup Weekend BXL
Devops at Startup Weekend BXLKris Buytaert
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with PuppetKris Buytaert
 
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 devoopsKris Buytaert
 
OSDC 2012 | Devops and Open Source by Kris Buyaert
OSDC 2012 | Devops and Open Source by Kris BuyaertOSDC 2012 | Devops and Open Source by Kris Buyaert
OSDC 2012 | Devops and Open Source by Kris BuyaertNETWAYS
 
OSDC 2012 | Devops and Open Source by Kris Buytaert
OSDC 2012 | Devops and Open Source by Kris BuytaertOSDC 2012 | Devops and Open Source by Kris Buytaert
OSDC 2012 | Devops and Open Source by Kris BuytaertNETWAYS
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stackKris Buytaert
 
Aws uk ug #8 not everything that happens in vegas stay in vegas
Aws uk ug #8   not everything that happens in vegas stay in vegasAws uk ug #8   not everything that happens in vegas stay in vegas
Aws uk ug #8 not everything that happens in vegas stay in vegasPeter Mounce
 
Buytaert kris tools
Buytaert kris toolsBuytaert kris tools
Buytaert kris toolskuchinskaya
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineElasTest Project
 
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriDemi Ben-Ari
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stackKris Buytaert
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Chandrapal Badshah
 

Similar to Monitoring in the cloud with Puppet (20)

Monitoring your VM's at Scale
Monitoring your VM's at ScaleMonitoring your VM's at Scale
Monitoring your VM's at Scale
 
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris Buytaert
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris BuytaertOSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris Buytaert
OSMC 2014 | From monitoringsucks to monitoringlove, and back by Kris Buytaert
 
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris BuytaertOSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
OSMC 2014: From monitoringsucks to monitoringlove (and back) | Kris Buytaert
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Devops at Startup Weekend BXL
Devops at Startup Weekend BXLDevops at Startup Weekend BXL
Devops at Startup Weekend BXL
 
Devops For Drupal
Devops  For DrupalDevops  For Drupal
Devops For Drupal
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 
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
 
OSDC 2012 | Devops and Open Source by Kris Buyaert
OSDC 2012 | Devops and Open Source by Kris BuyaertOSDC 2012 | Devops and Open Source by Kris Buyaert
OSDC 2012 | Devops and Open Source by Kris Buyaert
 
OSDC 2012 | Devops and Open Source by Kris Buytaert
OSDC 2012 | Devops and Open Source by Kris BuytaertOSDC 2012 | Devops and Open Source by Kris Buytaert
OSDC 2012 | Devops and Open Source by Kris Buytaert
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stack
 
Aws uk ug #8 not everything that happens in vegas stay in vegas
Aws uk ug #8   not everything that happens in vegas stay in vegasAws uk ug #8   not everything that happens in vegas stay in vegas
Aws uk ug #8 not everything that happens in vegas stay in vegas
 
Buytaert kris tools
Buytaert kris toolsBuytaert kris tools
Buytaert kris tools
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
 
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-AriThinking DevOps in the era of the Cloud - Demi Ben-Ari
Thinking DevOps in the era of the Cloud - Demi Ben-Ari
 
Git sourcecontrolpreso
Git sourcecontrolpresoGit sourcecontrolpreso
Git sourcecontrolpreso
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stack
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)
 

More from Kris Buytaert

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 ,IgniteKris Buytaert
 
Infrastructure as Code Patterns
Infrastructure as Code PatternsInfrastructure as Code Patterns
Infrastructure as Code PatternsKris Buytaert
 
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) learningKris Buytaert
 
Devops is Dead, Long live Devops
Devops is Dead, Long live DevopsDevops is Dead, Long live Devops
Devops is Dead, Long live DevopsKris Buytaert
 
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 ? Kris Buytaert
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ? Kris Buytaert
 
10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdness10 Years of #devopsdays weirdness
10 Years of #devopsdays weirdnessKris Buytaert
 
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 DevopsKris Buytaert
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?Kris Buytaert
 
Continuous Infrastructure First Ignite Edition
Continuous Infrastructure First  Ignite EditionContinuous Infrastructure First  Ignite Edition
Continuous Infrastructure First Ignite EditionKris Buytaert
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
Repositories as Code
Repositories as CodeRepositories as Code
Repositories as CodeKris Buytaert
 
Devops is a Security Requirement
Devops is a Security RequirementDevops is a Security Requirement
Devops is a Security RequirementKris Buytaert
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?Kris Buytaert
 
Looking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcampLooking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcampKris Buytaert
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerKris Buytaert
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops effortsKris Buytaert
 

More from Kris Buytaert (20)

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
 
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
 
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
 
Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
 
Looking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcampLooking back at 5 years of #cfgmgmtcamp
Looking back at 5 years of #cfgmgmtcamp
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
The Return of the Dull Stack Engineer
The Return of the Dull Stack EngineerThe Return of the Dull Stack Engineer
The Return of the Dull Stack Engineer
 
Moby is killing your devops efforts
Moby is killing your devops effortsMoby is killing your devops efforts
Moby is killing your devops efforts
 
Pipeline as Code
Pipeline as CodePipeline as Code
Pipeline as Code
 

Monitoring in the cloud with Puppet

  • 1. Monitoring in the Cloud with Puppet PuppetCamp Ghent 2013 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
  • 3. Do you know what your children do at 5 am in the morning ? ● Sleeping ? ● Crashing a Party ? ● Why are the cops at your front door ? ● What happened ? ● How long have they been gone ?
  • 4. devops ● Culture ● (Lean) ● Automation ● Measurement ● Sharing Damon Edwards and John Willis Gene Kim
  • 5. Monitoring is usually an aftertought ENOBUDGET, ENOTIME
  • 6. A sub movement ● #monitoringsucks trending ● https://github.com/monitoringsucks/ ● 2008 Study :Nagios + Friends ● 2011 Conclusion : Nagios/Icinga are the only automatable alternatives
  • 7. #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- monitoring-sucks.html
  • 8.
  • 9. Let's forget about ● GroundWork ● Cacti ● Zenoss ● Munin ● Zabbix ● BigBrother ● Hyperic
  • 10. What's different in the cloud ? ● Scale ● Velocity ● Change
  • 11.
  • 12.
  • 13.
  • 14. Challenges ● Reproducability ● Speed ● Auditing ● Keeping stuff in sync
  • 15. Thank god Luke for Puppet
  • 16. And Mark for Cfengine
  • 18. What we want ● Small , wel suited components • Collect • Transport / Mangle • Analyse / Act • Visualize
  • 19.
  • 20. Collectd ● Collects ● Zillion Plugins • Nginx,apache, mysql, disk ● Graphite Carbon Plugin ● Send metrics to graphite ● https://github.com/KrisBuytaert/pupp et-collectd
  • 21. Collect from anywhere ● Filter ● Send anywhere
  • 22. Puppet and Logstash ● https://github.com/KrisBuytaert/vagrant-puppet-logstash ● Includes Logstash / Kibana / Grok / ES modules as submodules ! git clone ● git submodule init ● git submodule update ● vagrant up
  • 23. Graphite ● Graphing at Scale ● Graphing at Ease ● Any metric is a graph ● echo "somestring $somevalue $timestamp" | nc <%= graphitehost %> 2003
  • 27. 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. Configuring a Service ● Package ● Config ● Service <- we pray status is correct
  • 31. Definition of Done: Done means : being monitored
  • 32. Icinga ? • Isn't nagios dead ? • Vibrant Community • Throw great parties in Nurnberg • Nobody can pronounce it anyhow • https://github.com/Inuits/puppet-icinga/
  • 33. Monitoring Baseline ● Deploy a host, ● Add it to the monitoring ● Add collection tools ● Add check definitions ● Update the monitoring tool config
  • 35. Collection and Export Export : Collect: @@resource { Resource <<| query |>> ... } Clean out nodes that dissapear puppet node clean
  • 38. It is not in production if it is not monitored
  • 39. Triggers on Graphs ● Export Java Metrics ● Collect JMX Exports on JMXTransNode ● JMXTrans ● Graph Em ● Export JMXConfigs Collect Nagios Configs ● Configure NRPE Check on Nagios Server ● Export NagiosCheck
  • 42. Conclusion: ● Reproducable monitoring setup ● Dynamically generated monitoring config ● Code is available at github.com/KrisBuytaert/snippets
  • 46. Homework Sensu Riemann Extrememon Esper ...