• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Monitoring Drupal In an Infrastructure as Code Age

Monitoring Drupal In an Infrastructure as Code Age



DrupalCon 2013 Prague Talk

DrupalCon 2013 Prague Talk



Total Views
Views on SlideShare
Embed Views



13 Embeds 5,349

http://www.krisbuytaert.be 5024
http://krisbuytaert.be 175
http://puppylabs.be 81
http://cloud.feedly.com 32
http://infra-talk.org 19
http://www.puppylabs.be 5
http://feedly.com 4
http://digg.com 3
http://translate.googleusercontent.com 2
http://newsblur.com 1
https://www.google.se 1
https://www.google.com 1
http://reader.aol.com 1



Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Monitoring Drupal In an Infrastructure as Code Age Monitoring Drupal In an Infrastructure as Code Age Presentation Transcript

    • Monitoring Drupal in anMonitoring Drupal in an IAC AgeIAC Age DrupalCon Prague 2013 Kris Buytaert
    • 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 SourceChief 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
    • devops = clamsdevops = clams ● CultureCulture ● (Lean)(Lean) ● Automate all the things ...Automate all the things ... • Build AutomationBuild Automation • Test AutomationTest Automation • IACIAC ● Monitoring , Metrics ...Monitoring , Metrics ... ● SharingSharing
    • For years we've tolerated humans to to makeFor years we've tolerated humans to to make structural manual changes to the infrastructurestructural manual changes to the infrastructure our critical applications are running on.our critical applications are running on. Whilst at the same time demanding those criticalWhilst 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 ?
    • Infrastructure as CodeInfrastructure as Code ● Model our infrastructureModel our infrastructure ● A fast reproducable platformA fast reproducable platform ● Disaster discovery for “free”Disaster discovery for “free”
    • Infrastructure as CodeInfrastructure as Code ● Code = CodeCode = Code ● Version ControlVersion Control ● Quality ChecksQuality Checks ● TestingTesting ● Continuous IntegrationContinuous Integration ● Continous DeliveryContinous Delivery
    • Infrastructure as CodeInfrastructure as Code ● Core InfrastructureCore Infrastructure ● Middleware deployment andMiddleware deployment and integrationintegration ● Automated continuous applicationAutomated continuous application deploymentdeployment ● Integrated Security enforcementIntegrated Security enforcement ● Host, Service and ApplicationHost, Service and Application Monitoring configuredMonitoring configured
    • #monitoringsucks#monitoringsucks ● John Vincent (@lusis)John Vincent (@lusis) ● A sub movementA sub movement ● https://github.com/monitoringsucks/https://github.com/monitoringsucks/
    • 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
    • #monitoringlove#monitoringlove • #monitoringlove hacksessions#monitoringlove hacksessions • #monitorama#monitorama
    • 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, ....
    • Where to monitor ?Where to monitor ? ● DevDev ● AcceptanceAcceptance ● ProdProd
    • What we wantWhat we want ● Small , wel suited componentsSmall , wel suited components • CollectCollect • Transport / MangleTransport / Mangle • Analyse / ActAnalyse / Act • VisualizeVisualize
    • 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
    • Puppet Apache Example:Puppet Apache Example:
    • E.g. Puppet Stored ConfigsE.g. Puppet Stored Configs
    • 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 cleanpuppet node clean
    • Exporting and CollectingExporting and Collecting
    • Monitoring a VhostMonitoring a Vhost
    • Checking Drupal HealthChecking Drupal Health ● Nagios PluginNagios Plugin • Check updatesCheck updates • Check cronjobsCheck cronjobs
    • Monitoring a service vs Monitoring a ServiceMonitoring a service vs Monitoring a Service
    • Definition of Done:Definition of Done: monitored and in productionmonitored and in production
    • A software project is not doneA software project is not done untill your last end user is deaduntill your last end user is dead
    • Exit DODExit DOD Measure Application UsageMeasure Application Usage
    • But , err how do I ?But , err how do I ?
    • Culture,Culture, Automation,Automation, Measurement :Measurement : measure all the thingsmeasure all the things SharingSharing
    • Deploy StatisticsDeploy Statistics ● Time To DeployTime To Deploy ● DeployDeploy FrequencyFrequency ● LifecycleLifecycle frequencyfrequency ● Map toMap to
    • Application MetricsApplication Metrics ● Number of current usersNumber of current users ● Number of sign upsNumber of sign ups ● Response timesResponse times ● TroughputTroughput ● XYZ UsageXYZ Usage ● # restarts# restarts ● Insert your specific valuable stuffInsert your specific valuable stuff
    • Self Service MetricsSelf Service Metrics ● Being able to add new metricsBeing able to add new metrics ● Build your own dashboardsBuild your own dashboards ● Look at metrics / logs on allLook at metrics / logs on all platformsplatforms ● Learn from the platformLearn from the platform
    • ● Collect fromCollect from anywhereanywhere ● FilterFilter ● Send anywhereSend anywhere
    • StatsdStatsd ● A network daemon that runs on aA network daemon that runs on a zillion platform and listens forzillion platform and listens for statistics, like counters and timers,statistics, like counters and timers, sent over UDP and sends aggregatessent over UDP and sends aggregates to one or more pluggable backendto one or more pluggable backend services (e.g., Graphite).services (e.g., Graphite).
    • Graphite APIGraphite API
    • Math 101Math 101 ● f(x)f(x) ● f'(x)f'(x) ● f''(x)f''(x) ● ... statistics 101... statistics 101
    • Triggers on GraphsTriggers on Graphs
    • Triggers on GraphsTriggers on Graphs
    • Self ServiceSelf Service Gdash based pipelinesGdash based pipelines
    • Up Next:Up Next: • Creating Information out of this dataCreating Information out of this data • Big dataBig data • Machine LearningMachine Learning
    • Culture,Culture, Automation,Automation, Measurement,Measurement, SharingSharing
    • Visualize Business MetricsVisualize Business Metrics ● $revenue$revenue ● #sales#sales ● signupssignups ● conversionsconversions ● Api callsApi calls ● Application useApplication use
    • DashboardsDashboards
    • 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
    • ContactContact Kris.Buytaert@inuits.euKris.Buytaert@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 50 2060 Antwerpen2060 Antwerpen BelgiumBelgium 891.514.231891.514.231 +32 475 961221+32 475 961221