Monitoring at Cloud Scale

Julien Pivotto
Julien PivottoOpen Source Consultant at Inuits
;
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Julien PivottoJulien Pivotto
Build a cloud Day AmsterdamBuild a cloud Day Amsterdam
June 13th, 2013June 13th, 2013
;
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
;
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
;
Introduction
Around monitoring
Tools
Conclusion
DevOps
monitoringsucks
monitoringsucks
What is that DevOps stuff again?
• CultureCulture
• (Lean)(Lean)
• AutomationAutomation
• MeasurementMeasurement
• SharingSharing
Damon Edwards and John WillisDamon Edwards and John Willis
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
DevOps
monitoringsucks
monitoringsucks
#monitoringsucks
• https://github.com/monitoringsuckshttps://github.com/monitoringsucks
• a movement to find a solution to monitoringa movement to find a solution to monitoring
• the feeling that monitoring is stucked in the pastthe feeling that monitoring is stucked in the past
Julien Pivotto Monitoring at Cloud Scale
;
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
;
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
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
What do you need?
• scalabilityscalability
• automationautomation
Julien Pivotto Monitoring at Cloud Scale
;
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
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
ZabbixZabbix
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
CentreonCentreon
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
GroundWorkGroundWork
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
CactiCacti
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
HypericHyperic
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
BigBrotherBigBrother
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
MuninMunin
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
forget about. . .
http://www.flickr.com/photos/mourner/150844753/
ZenossZenoss
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
Your infrastructure today
http://www.flickr.com/photos/bjbrake/235217140/
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
Your infrastructure tomorrow
http://www.flickr.com/photos/bjbrake/235217140/
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
Your infrastructure in 6 months
http://www.flickr.com/photos/bjbrake/235217140/
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
Challenges
• ReproducabilityReproducability
• SpeedSpeed
• MetricsMetrics
• OrchestrationOrchestration
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
WANTED
http://www.flickr.com/photos/pagedooley/3124443099/
• Small toolsSmall tools
• Collect / MangleCollect / Mangle
• Analyse / ActAnalyse / Act
• VisualizeVisualize
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
The cloud
The past
Environment
Challenges
Infrastructure as code
WANTED
The UNIX philosophyThe UNIX philosophy
Julien Pivotto Monitoring at Cloud Scale
;
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
;
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
;
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
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Collectd
• Statistics collection daemonStatistics collection daemon
• A lot of plugins available. . .A lot of plugins available. . .
• Can send data to graphiteCan send data to graphite
• Simple configurationSimple configuration
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Collectd plugins
http://www.flickr.com/photos/juhansonin/3141561416/
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Collectd plugins
AMQP Apache APC_UPS Apple_Sensors Ascent Battery BIND CarbonAMQP Apache APC_UPS Apple_Sensors Ascent Battery BIND Carbon
ConnTrack ContextSwitch CPU CPUFreq CSV cURL cURL-JSON cURL-XMLConnTrack ContextSwitch CPU CPUFreq CSV cURL cURL-JSON cURL-XML
DBI DF Disk DNS E-Mail Entropy Exec FileCount FSCache GenericJMXDBI DF Disk DNS E-Mail Entropy Exec FileCount FSCache GenericJMX
gmond HDDTemp Interface IPMI IPTables IPVS IRQ Java libvirt Loadgmond HDDTemp Interface IPMI IPTables IPVS IRQ Java libvirt Load
LogFile LPAR MadWifi MBMon memcachec memcached Memory ModbusLogFile LPAR MadWifi MBMon memcachec memcached Memory Modbus
Monitorus Multimeter MySQL NetApp Netlink Network NFS nginxMonitorus Multimeter MySQL NetApp Netlink Network NFS nginx
Notify_Desktop Notify_Email NTPd NUT olsrd OneWire OpenVPN OpenVZNotify_Desktop Notify_Email NTPd NUT olsrd OneWire OpenVPN OpenVZ
Oracle Perl Pinba Ping PostgreSQL PowerDNS Processes Protocols PythonOracle Perl Pinba Ping PostgreSQL PowerDNS Processes Protocols Python
Redis RouterOS RRDCacheD RRDtool Sensors Serial SNMP Swap SysLogRedis RouterOS RRDCacheD RRDtool Sensors Serial SNMP Swap SysLog
Table Tail Tape TCPConns TeamSpeak2 TED thermal TokyoTyrant UnixSockTable Tail Tape TCPConns TeamSpeak2 TED thermal TokyoTyrant UnixSock
Uptime Users UUID Varnish vmem VServer Wireless XMMSUptime Users UUID Varnish vmem VServer Wireless XMMS
Write_Graphite Write_HTTP Write_MongoDBWrite_Graphite Write_HTTP Write_MongoDB
Write_Redis Write_Riemann ZFS_ARCWrite_Redis Write_Riemann ZFS_ARC
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Logstash
• Ship logs from any sourceShip logs from any source
• Filter themFilter them
• Index themIndex them
• Search themSearch them
• Backed with elasticsearchBacked with elasticsearch
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Kibana
http://kibana.org/images/screenshots/searchss.png
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Statsd
• Stats aggregationStats aggregation
• Simple countersSimple counters
• Flushes every XX seconds to graphiteFlushes every XX seconds to graphite
• Text over UDPText over UDP
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Statsd
echo "stats.sshd.login:1|c" | nc -u statsd.example.com 8125echo "stats.sshd.login:1|c" | nc -u statsd.example.com 8125
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Graphite
• Graphing made simpleGraphing made simple
• A lot of helpers functionsA lot of helpers functions
• Listening on UDP and TCPListening on UDP and TCP
• Text over UDP/TCPText over UDP/TCP
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Send data to graphite
echo "stats.sshd.login 1 $(date +%s)" | nc -u graphite.example.com 2003echo "stats.sshd.login 1 $(date +%s)" | nc -u graphite.example.com 2003
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Graphite API
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
gdash
https://github.com/ripienaar/gdash
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Icinga
• Fork of nagiosFork of nagios
• Large and vibrant communityLarge and vibrant community
• Configuration compatible with nagiosConfiguration compatible with nagios
• User-friendly interfaceUser-friendly interface
• Use Icinga Classic!Use Icinga Classic!
Julien Pivotto Monitoring at Cloud Scale
;
Introduction
Around monitoring
Tools
Conclusion
Collectd
Logstash
Statsd
Graphite
Icinga
Icinga
https://icinga.org
Julien Pivotto Monitoring at Cloud Scale
;
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
;
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
;
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
;
Introduction
Around monitoring
Tools
Conclusion
They work together
Sharing
There are solutions
Metrics that matter
http://codeascraft.com/2011/02/15/measure-anything-measure-everything/
Julien Pivotto Monitoring at Cloud Scale
;
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
;
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
;
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
;
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
1 of 47

More Related Content

What's hot(20)

Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemd
Julien Pivotto8.6K views
Postgresql 9.0 HA at RMLL 2012Postgresql 9.0 HA at RMLL 2012
Postgresql 9.0 HA at RMLL 2012
Julien Pivotto4K views
Managing a R&D Lab with ForemanManaging a R&D Lab with Foreman
Managing a R&D Lab with Foreman
Julien Pivotto1.6K views
Dive into Puppet 4Dive into Puppet 4
Dive into Puppet 4
Julien Pivotto2.7K views
Managing a R&D Lab with ForemanManaging a R&D Lab with Foreman
Managing a R&D Lab with Foreman
Julien Pivotto1K views
DNSSecDNSSec
DNSSec
Julien Pivotto1.9K views
Logstash and friendsLogstash and friends
Logstash and friends
Julien Pivotto13.1K views
Linux HA anno 2014Linux HA anno 2014
Linux HA anno 2014
Julien Pivotto6.3K views
An introduction to the Pulp projectAn introduction to the Pulp project
An introduction to the Pulp project
Julien Pivotto9.6K views
Dependency Management With PintoDependency Management With Pinto
Dependency Management With Pinto
Jeffrey Ryan Thalhammer2.2K views
Habitat Service DiscoveryHabitat Service Discovery
Habitat Service Discovery
Nell Shamrell-Harrington465 views
20120524 english lt2_pythontoolsfortesting20120524 english lt2_pythontoolsfortesting
20120524 english lt2_pythontoolsfortesting
Kazuhiro Oinuma1.2K views
Making Py Pi Sux Less KeyMaking Py Pi Sux Less Key
Making Py Pi Sux Less Key
Andreas Jung1.8K views
VCS for Teamwork - GIT WorkshopVCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT Workshop
Anis Ahmad176 views

Viewers also liked(7)

Bacd zenossBacd zenoss
Bacd zenoss
ke4qqq685 views
InfluxdbInfluxdb
Influxdb
Nguyen Ngoc Lieu280 views
collectd & PostgreSQLcollectd & PostgreSQL
collectd & PostgreSQL
Mark Wong13.8K views
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computing
Rkrishna Mishra387.3K views

More from Julien Pivotto(20)

The O11y ToolkitThe O11y Toolkit
The O11y Toolkit
Julien Pivotto35 views
What's new in Prometheus?What's new in Prometheus?
What's new in Prometheus?
Julien Pivotto15 views
Introduction to Grafana LokiIntroduction to Grafana Loki
Introduction to Grafana Loki
Julien Pivotto186 views
Why you should revisit mgmtWhy you should revisit mgmt
Why you should revisit mgmt
Julien Pivotto10 views
Prometheus and TLS - an IntroductionPrometheus and TLS - an Introduction
Prometheus and TLS - an Introduction
Julien Pivotto15 views
Powerful graphs in GrafanaPowerful graphs in Grafana
Powerful graphs in Grafana
Julien Pivotto11 views
YAML MagicYAML Magic
YAML Magic
Julien Pivotto4.3K views
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress Controller
Julien Pivotto2.8K views
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
Julien Pivotto10K views
Incident Resolution as CodeIncident Resolution as Code
Incident Resolution as Code
Julien Pivotto818 views
An introduction to AnsibleAn introduction to Ansible
An introduction to Ansible
Julien Pivotto581 views

Recently uploaded(20)

Liqid: Composable CXL PreviewLiqid: Composable CXL Preview
Liqid: Composable CXL Preview
CXL Forum118 views
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman152 views
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)
CSUC - Consorci de Serveis Universitaris de Catalunya51 views
CXL at OCPCXL at OCP
CXL at OCP
CXL Forum183 views

Monitoring at Cloud Scale