1. ;
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Julien PivottoJulien Pivotto
Build a cloud Day AmsterdamBuild a cloud Day Amsterdam
June 13th, 2013June 13th, 2013
2. ;
Introduction
Around monitoring
Tools
Conclusion
Table of contents
1 Introduction
DevOps
monitoringsucks
monitoringsucks
2 Around monitoring
The cloud
The past
Environment
Challenges
Infrastructure as code
3 Tools
Collectd
Logstash
Statsd
Graphite
Icinga
4 Conclusion
They work together
Sharing
There are solutions
Julien Pivotto Monitoring at Cloud Scale
3. ;
Introduction
Around monitoring
Tools
Conclusion
Julien PivottoJulien Pivotto
• sysadmin @ inuitssysadmin @ inuits
• open-source defender for 7+ yearsopen-source defender for 7+ years
• devops believerdevops believer
• @roidelapluie on twitter/github@roidelapluie on twitter/github
Julien Pivotto Monitoring at Cloud Scale
6. ;
Introduction
Around monitoring
Tools
Conclusion
DevOps
monitoringsucks
monitoringsucks
#monitoringlove
• then it turned into #monitoringlovethen it turned into #monitoringlove
• relevant tools existrelevant tools exist
• they just need to be usedthey just need to be used
• following the unix philosophyfollowing the unix philosophy
we are going to explore some of themwe are going to explore some of them
Julien Pivotto Monitoring at Cloud Scale
7. ;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
What is different in the cloud?
• ScaleScale
• VelocityVelocity
• More changes, more oftenMore changes, more often
Julien Pivotto Monitoring at Cloud Scale
9. ;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
time for retirement
• forget all-in-one toolsforget all-in-one tools
• forget auto-discovery toolsforget auto-discovery tools
• forget non-scalable toolsforget non-scalable tools
• forget tools you can not automateforget tools you can not automate
Julien Pivotto Monitoring at Cloud Scale
24. ;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
Automation
• One source of trust: puppet, chef, . . .One source of trust: puppet, chef, . . .
• Exported resourceExported resource
• Monitor in the same location you deployMonitor in the same location you deploy
• Infrastructure-as-CodeInfrastructure-as-Code
• no autodiscovery toolsno autodiscovery tools
Julien Pivotto Monitoring at Cloud Scale
25. ;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
Automation
If it is not automated || not monitoredIf it is not automated || not monitored
then it does not exist!then it does not exist!
Julien Pivotto Monitoring at Cloud Scale
26. ;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
Example in puppet
• Create a definition for your applicationCreate a definition for your application
• In that definition, add the configuration, the vhosts. . .In that definition, add the configuration, the vhosts. . .
• Then export the monitoring (@@icinga_service)Then export the monitoring (@@icinga_service)
• In bonus you can export DB configuration, etc. . .In bonus you can export DB configuration, etc. . .
• Use only the "meta" definitionUse only the "meta" definition
• Collect the exported ressources (Nagios_service <||>)Collect the exported ressources (Nagios_service <||>)
Julien Pivotto Monitoring at Cloud Scale
40. ;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
Toolchain from apache to nagios
• Apache ships logs to rsyslogApache ships logs to rsyslog
• Rsyslog ships logs to logstashRsyslog ships logs to logstash
• Logstash ships metrics to statsdLogstash ships metrics to statsd
• Statsd ships metrics to GraphiteStatsd ships metrics to Graphite
• Icinga query metric from graphiteIcinga query metric from graphite
• https://github.com/etsy/nagios_toolshttps://github.com/etsy/nagios_tools
Julien Pivotto Monitoring at Cloud Scale
41. ;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
Reusing Icinga/Nagios perfdata
• Icinga performs various checksIcinga performs various checks
• Icinga sends perfdata to graphiteIcinga sends perfdata to graphite
• Graphite stores the dataGraphite stores the data
• Gdash serves them inside dashboardsGdash serves them inside dashboards
• https://github.com/roidelapluie/icinga-to-graphitehttps://github.com/roidelapluie/icinga-to-graphite
Julien Pivotto Monitoring at Cloud Scale
42. ;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
The metrics
• Everything can become a metricEverything can become a metric
• Performance metricsPerformance metrics
• Usage metricsUsage metrics
• Business-valuable metricsBusiness-valuable metrics
• People metricsPeople metrics
• Metrics are knowledgeMetrics are knowledge
Julien Pivotto Monitoring at Cloud Scale
44. ;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
What have we seen?
• We have seen only open-source softwareWe have seen only open-source software
• Small, pluggable daemonsSmall, pluggable daemons
• Robust solutionsRobust solutions
• Nice & user-friendly outputNice & user-friendly output
• They play togetherThey play together
Julien Pivotto Monitoring at Cloud Scale
45. ;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
Homework
• SensuSensu
• RiemannRiemann
• dashingdashing
• ExtreMonExtreMon
• EsperEsper
• SkylineSkyline
• OculusOculus
Julien Pivotto Monitoring at Cloud Scale
46. ;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
Try them yourself
https://github.com/KrisBuytaert/vagrant-graphitehttps://github.com/KrisBuytaert/vagrant-graphite
https://github.com/KrisBuytaert/vagrant-puppet-logstashhttps://github.com/KrisBuytaert/vagrant-puppet-logstash
Julien Pivotto Monitoring at Cloud Scale
47. ;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
Contact
Julien PivottoJulien Pivotto
julien@inuits.eujulien@inuits.eu
@roidelapluie@roidelapluie
INUITS bvbaINUITS bvba
Duboisstraat 50Duboisstraat 50
2060 Antwerp2060 Antwerp
BelgiumBelgium
+32 473 441 636+32 473 441 636
https://inuits.euhttps://inuits.eu
Julien Pivotto Monitoring at Cloud Scale