![Page 1: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/1.jpg)
Monitoring Drupal in an Monitoring Drupal in an IAC AgeIAC Age
DrupalCon Prague 2013
Kris Buytaert
![Page 2: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/2.jpg)
Kris BuytaertKris Buytaert● I used to be a Dev,I used to be a Dev,● Then Became an OpThen Became an Op● Chief Trolling Officer and Open Source Chief Trolling Officer and Open Source
Consultant @inuits.euConsultant @inuits.eu● Everything is an effing DNS ProblemEverything is an effing DNS Problem● Building Clouds since before the bookstoreBuilding Clouds since before the bookstore● Some books, some papers, some blogsSome books, some papers, some blogs● Evangelizing devopsEvangelizing devops
![Page 3: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/3.jpg)
devops = clamsdevops = clams● CultureCulture
● (Lean)(Lean)
● Automate all the things ... Automate all the things ...
• Build Automation Build Automation
• Test Automation Test Automation
• IACIAC
● Monitoring , Metrics ... Monitoring , Metrics ...
● SharingSharing
![Page 4: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/4.jpg)
For years we've tolerated humans to to make For years we've tolerated humans to to make structural manual changes to the infrastructure structural manual changes to the infrastructure our critical applications are running on.our critical applications are running on.
Whilst at the same time demanding those critical Whilst at the same time demanding those critical applications to go trough rigid test scenarios.applications to go trough rigid test scenarios.
Who let this happen ?Who let this happen ?
![Page 5: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/5.jpg)
Infrastructure as CodeInfrastructure as Code● Model our infrastructure Model our infrastructure
● A fast reproducable platformA fast reproducable platform
● Disaster discovery for “free”Disaster discovery for “free”
![Page 6: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/6.jpg)
Infrastructure as CodeInfrastructure as Code● Code = Code Code = Code
● Version Control Version Control
● Quality ChecksQuality Checks
● TestingTesting
● Continuous IntegrationContinuous Integration
● Continous DeliveryContinous Delivery
![Page 7: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/7.jpg)
Infrastructure as CodeInfrastructure as Code● Core Infrastructure Core Infrastructure
● Middleware deployment and Middleware deployment and integrationintegration
● Automated continuous application Automated continuous application deploymentdeployment
● Integrated Security enforcementIntegrated Security enforcement
● Host, Service and Application Host, Service and Application Monitoring configuredMonitoring configured
![Page 8: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/8.jpg)
#monitoringsucks#monitoringsucks● John Vincent (@lusis)John Vincent (@lusis)
● A sub movement A sub movement
● https://github.com/monitoringsucks/https://github.com/monitoringsucks/
![Page 9: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/9.jpg)
Why #monitoringsucksWhy #monitoringsucks● Manual config (gui)Manual config (gui)
● Not in sync with realityNot in sync with reality
● Hosts onlyHosts only
● Services sometimesServices sometimes
● Appliccation neverAppliccation never
● ChaosChaos
![Page 10: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/10.jpg)
#monitoringlove#monitoringlove• #monitoringlove hacksessions#monitoringlove hacksessions
• #monitorama#monitorama
![Page 11: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/11.jpg)
Let's forget aboutLet's forget about● Tools with no (stable) APITools with no (stable) API
● Tools with strong focus on GUITools with strong focus on GUI
● Unless you are an SME with < 100 nodesUnless you are an SME with < 100 nodes
● Zabixx, Zenoss, Hyperic, GroundWork, ....Zabixx, Zenoss, Hyperic, GroundWork, ....
![Page 12: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/12.jpg)
Where to monitor ?Where to monitor ?● Dev Dev
● AcceptanceAcceptance
● ProdProd
![Page 13: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/13.jpg)
What we wantWhat we want
● Small , wel suited componentsSmall , wel suited components
• CollectCollect
• Transport / MangleTransport / Mangle
• Analyse / ActAnalyse / Act
• VisualizeVisualize
![Page 14: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/14.jpg)
Monitoring BaselineMonitoring Baseline● Deploy a host,Deploy a host,
● Add it to the monitoringAdd it to the monitoring
● Add collection toolsAdd collection tools
● Add check definitionsAdd check definitions
● Update the monitoring tool configUpdate the monitoring tool config
![Page 15: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/15.jpg)
![Page 16: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/16.jpg)
Puppet Apache Example:Puppet Apache Example:
![Page 17: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/17.jpg)
E.g. Puppet Stored ConfigsE.g. Puppet Stored Configs
![Page 18: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/18.jpg)
Collection and ExportCollection and Export
Export :Export :
@@resource { @@resource {
... }... }
Collect:Collect:
Resource <<| Resource <<| query |>>query |>>
Clean out nodes that dissapearClean out nodes that dissapear
puppet node clean puppet node clean
![Page 19: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/19.jpg)
Exporting and Collecting Exporting and Collecting
![Page 20: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/20.jpg)
Monitoring a VhostMonitoring a Vhost
![Page 21: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/21.jpg)
Checking Drupal HealthChecking Drupal Health● Nagios PluginNagios Plugin
• Check updates Check updates
• Check cronjobsCheck cronjobs
![Page 22: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/22.jpg)
Monitoring a service vs Monitoring a ServiceMonitoring a service vs Monitoring a Service
![Page 23: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/23.jpg)
Definition of Done:Definition of Done:
monitored and in productionmonitored and in production
![Page 24: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/24.jpg)
A software project is not done A software project is not done untill your last end user is deaduntill your last end user is dead
![Page 25: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/25.jpg)
Exit DODExit DOD
Measure Application UsageMeasure Application Usage
![Page 26: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/26.jpg)
But , err how do I ? But , err how do I ?
![Page 27: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/27.jpg)
Culture, Culture,
Automation,Automation,
Measurement :Measurement :
measure all the thingsmeasure all the thingsSharingSharing
![Page 28: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/28.jpg)
Deploy StatisticsDeploy Statistics● Time To DeployTime To Deploy
● Deploy Deploy FrequencyFrequency
● Lifecycle Lifecycle frequencyfrequency
● Map to Map to
![Page 29: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/29.jpg)
Application MetricsApplication Metrics● Number of current usersNumber of current users
● Number of sign upsNumber of sign ups
● Response timesResponse times
● Troughput Troughput
● XYZ UsageXYZ Usage
● # restarts# restarts
● Insert your specific valuable stuff Insert your specific valuable stuff here.here.
![Page 30: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/30.jpg)
Self Service MetricsSelf Service Metrics
● Being able to add new metrics Being able to add new metrics
● Build your own dashboardsBuild your own dashboards
● Look at metrics / logs on all Look at metrics / logs on all platformsplatforms
● Learn from the platformLearn from the platform
![Page 31: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/31.jpg)
● Collect from Collect from anywhereanywhere
● FilterFilter
● Send anywhereSend anywhere
● QueingQueing
![Page 32: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/32.jpg)
![Page 33: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/33.jpg)
StatsdStatsd
● A network daemon that runs on a A network daemon that runs on a zillion platform and listens for zillion platform and listens for statistics, like counters and timers, statistics, like counters and timers, sent over UDP and sends aggregates sent over UDP and sends aggregates to one or more pluggable backend to one or more pluggable backend services (e.g., Graphite).services (e.g., Graphite).
![Page 34: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/34.jpg)
Graphite APIGraphite API
![Page 35: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/35.jpg)
![Page 36: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/36.jpg)
Math 101Math 101
● f(x)f(x)
● f'(x)f'(x)
● f''(x)f''(x)
● ... statistics 101... statistics 101
![Page 37: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/37.jpg)
Triggers on GraphsTriggers on Graphs
![Page 38: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/38.jpg)
Triggers on GraphsTriggers on Graphs
![Page 39: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/39.jpg)
Self ServiceSelf ServiceGdash based pipelinesGdash based pipelines
![Page 40: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/40.jpg)
Up Next: Up Next:
• Creating Information out of this data Creating Information out of this data
• Big dataBig data
• Machine LearningMachine Learning
![Page 41: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/41.jpg)
Culture, Culture,
Automation, Automation,
Measurement,Measurement,
SharingSharing
![Page 42: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/42.jpg)
Visualize Business MetricsVisualize Business Metrics
● $revenue$revenue
● #sales#sales
● signups signups
● conversionsconversions
● Api callsApi calls
● Application useApplication use
![Page 43: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/43.jpg)
DashboardsDashboards
![Page 44: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/44.jpg)
THANK YOU!
WHAT DID YOU THINK?
Locate this session at the DrupalCon Prague website:http://prague2013.drupal.org/schedule
Click the “Take the survey” link
![Page 45: Monitoring Drupal In an Infrastructure as Code Age](https://reader033.vdocument.in/reader033/viewer/2022060107/5549b5a3b4c905bc6d8b4b51/html5/thumbnails/45.jpg)
[email protected]@inuits.eu
Further ReadingFurther Reading@krisbuytaert @krisbuytaert http://www.krisbuytaert.be/blog/http://www.krisbuytaert.be/blog/http://www.inuits.eu/http://www.inuits.eu/
InuitsInuits
Duboistraat 50Duboistraat 502060 Antwerpen2060 AntwerpenBelgiumBelgium891.514.231891.514.231
+32 475 961221+32 475 961221