SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Messen mit PHP
PHP Usergroup München
10. Juli 2013
Über mich
● Sven Rautenberg
● Senior Developer bei Kabel Deutschland
● mit Vergangenheit bei SELFHTML
Motivation
„Ein Appetizer für
statsd,
Live-Dashboards,
Graphik,
Messungen“
Motivation
Etsy im Februar 2011
Prämisse
● Einfach messen
● Alles messen
● Und visualisieren
Dashboards
Let's try this at home!
Setup-Plan
Setup-Plan
Software
Software
Software
System
Setup-Plan
Software
Software
Software
System
Aggregator
statsd
Setup-Plan
Software
Software
Software
System
Aggregator
statsd
Storage
Carbon
Setup-Plan
Software
Software
Software
System
Aggregator
statsd
Storage
Carbon
Viewer
Graphite
Setup-Plan
Software
Software
Software
System
Aggregator
statsd
Storage
Carbon
Viewer
Graphite
Backend
es gibt reichlich Auswahl,
auch SaaS-Angebote
Setup-Plan
Software
Software
Software
System
Aggregator
statsd
Storage
Carbon
Viewer
Graphite
Implementiert in
node.js, Ruby,
Python, Erlang,
C, Scala, Clojure
Backend
es gibt reichlich Auswahl,
auch SaaS-Angebote
Installieren
● Graphite einigermaßen schwierig
– http://kaivanov.blogspot.de/2012/02/
how-to-install-and-use-graphite.html
● Django SECRET_KEY
– „settings.py“ der Graphite Webapp
Installieren
● statsd supereinfach
– apt-get install nodejs
– git clone https://github.com/etsy/statsd
– cd statsd
– cp exampleConfig.js yourConfig.js
– vi yourConfig.js
– node statsd.js ./yourConfig.js → läuft :)
Messen in PHP
Messen: Counter
foo.event:1|c
foo.event:-1|c
foo.event:20|c
Messen: Timer
foo.duration:123|ms
Messen: Gauges
foo.level:234|g
foo.level:+5|g
foo.level:-3|g
Messen: Sets
foo.ids:15675672|s
Counter vs. Gauges vs. Sets
● Counter: neu registrierte User pro Minute
● Gauge: Anzahl existenter User
● Set: Anzahl aktiver User
– aufgrund der UserId
– pro Zeit
Timer-Features
● Auto-Statistik
– lower
– upper
– mean
– median
– count...
Sampling
foo.bar:1|c|@0.1
PHP Clients
● packagist.org → statsd suchen
● in Code integrieren ;)
– $statsd->timing("foo.bar", 320);
– $statsd->increment("foo.bar");
Messwerte wiederfinden
● Namensaspekte
– http://matt.aimonetti.net/posts/2013/06/26/
practical-guide-to-graphite-monitoring/
● Antipattern
– https://github.com/lukevenediger/statsd.net/
blob/master/statsd.net/Documentation/
guidance/metric-anti-patterns.md
Erfahrungen aus 1 Tag rumspielen
● langweilig ohne Datenmengen
● statistisch ungenau
● Konfigurationsvielfalt
● Funktionsvielfalt in Graphite
Fragen?
Anmerkungen?
Kommentare?
Kontakt
● Slideshare:
http://www.slideshare.net/svenrtbg
● Twitter: @svenrtbg
● http://www.rtbg.de
Attribution
● Background: CC-BY
– http://www.freeimageslive.co.uk/free_stock_image/numbers-background-jpg
– http://www.freeimageslive.co.uk/users/gratuit

Contenu connexe

En vedette

Me, Myself, and Facebook
Me, Myself, and FacebookMe, Myself, and Facebook
Me, Myself, and FacebookCaitlin Leahy
 
Sentença do Tribunal da Itália sobre Pizzolato
Sentença do Tribunal da Itália sobre PizzolatoSentença do Tribunal da Itália sobre Pizzolato
Sentença do Tribunal da Itália sobre PizzolatoMiguel Rosario
 
Foundations for Future Offshore Wind
Foundations for Future Offshore WindFoundations for Future Offshore Wind
Foundations for Future Offshore Windgm330
 
All inclusive логистика для интернет магазина
All inclusive логистика для интернет магазинаAll inclusive логистика для интернет магазина
All inclusive логистика для интернет магазинаTOCHKA
 
Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...
Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...
Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...futureagricultures
 
Tugas Praktikum Basis Data
Tugas Praktikum Basis DataTugas Praktikum Basis Data
Tugas Praktikum Basis DataRobby Firmansyah
 
Scaling identity to internet proportions
Scaling identity to internet proportionsScaling identity to internet proportions
Scaling identity to internet proportionsOracleIDM
 

En vedette (17)

Students
StudentsStudents
Students
 
Me, Myself, and Facebook
Me, Myself, and FacebookMe, Myself, and Facebook
Me, Myself, and Facebook
 
Heart Attack
Heart AttackHeart Attack
Heart Attack
 
Sentença do Tribunal da Itália sobre Pizzolato
Sentença do Tribunal da Itália sobre PizzolatoSentença do Tribunal da Itália sobre Pizzolato
Sentença do Tribunal da Itália sobre Pizzolato
 
Foundations for Future Offshore Wind
Foundations for Future Offshore WindFoundations for Future Offshore Wind
Foundations for Future Offshore Wind
 
Doc1
Doc1Doc1
Doc1
 
All inclusive логистика для интернет магазина
All inclusive логистика для интернет магазинаAll inclusive логистика для интернет магазина
All inclusive логистика для интернет магазина
 
Globo
GloboGlobo
Globo
 
prehistoric/ancient
prehistoric/ancientprehistoric/ancient
prehistoric/ancient
 
Modul I/O by MRobbyF
Modul I/O by MRobbyFModul I/O by MRobbyF
Modul I/O by MRobbyF
 
Aef4 12
Aef4 12Aef4 12
Aef4 12
 
Ppt moodle sip
Ppt moodle sipPpt moodle sip
Ppt moodle sip
 
Notam 05 fev 15
Notam 05 fev 15Notam 05 fev 15
Notam 05 fev 15
 
Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...
Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...
Heike Hoeffler: Advisory Capacities for the Contemporary Agricultural Policy ...
 
Tugas Praktikum Basis Data
Tugas Praktikum Basis DataTugas Praktikum Basis Data
Tugas Praktikum Basis Data
 
Маркетинг план юст
Маркетинг план юстМаркетинг план юст
Маркетинг план юст
 
Scaling identity to internet proportions
Scaling identity to internet proportionsScaling identity to internet proportions
Scaling identity to internet proportions
 

Similaire à Messen mit PHP

Testing einer Angular App
Testing einer Angular AppTesting einer Angular App
Testing einer Angular AppFlorian Bader
 
Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development ToolsCadaxo GmbH
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...QAware GmbH
 
Man kann nicht nicht planen
Man kann nicht nicht planenMan kann nicht nicht planen
Man kann nicht nicht planenMarkus Unterauer
 
Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten 
Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten 
Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten Thomas Jenewein
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)NETWAYS
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!adesso AG
 
Moderne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGitModerne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGitChristian Günter
 
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickelnWJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickelnmguillem
 
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...inovex GmbH
 
Google Data Studio – Erklärung und Einführung
Google Data Studio – Erklärung und EinführungGoogle Data Studio – Erklärung und Einführung
Google Data Studio – Erklärung und EinführungSimon Flück
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickUdo Pracht
 
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...e-dialog GmbH
 
Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenSebastian Springer
 
Dv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationDv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationTorsten Glunde
 
Webinar - Boost your ABAP
Webinar - Boost your ABAPWebinar - Boost your ABAP
Webinar - Boost your ABAPCadaxo GmbH
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutterroskakori
 
Lasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On DemandLasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On DemandSOASTA
 

Similaire à Messen mit PHP (20)

Testing einer Angular App
Testing einer Angular AppTesting einer Angular App
Testing einer Angular App
 
Webinar - ABAP Development Tools
Webinar - ABAP Development ToolsWebinar - ABAP Development Tools
Webinar - ABAP Development Tools
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Man kann nicht nicht planen
Man kann nicht nicht planenMan kann nicht nicht planen
Man kann nicht nicht planen
 
Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten 
Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten 
Der Einsatz von SAP Enable Now im Lebenszyklus von IT Projekten 
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)Graphing mit Graphite (Webinar vom 06.11.2013)
Graphing mit Graphite (Webinar vom 06.11.2013)
 
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
 
Moderne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGitModerne abap entwicklung mit abapGit
Moderne abap entwicklung mit abapGit
 
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickelnWJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
 
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
Hilfe! Agile und die Digitale Transformation haben meinen Job gefressen ...
 
Google Data Studio – Erklärung und Einführung
Google Data Studio – Erklärung und EinführungGoogle Data Studio – Erklärung und Einführung
Google Data Studio – Erklärung und Einführung
 
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und ÜberblickOOP 2012 - Udo Pracht - DevOps Einführung und Überblick
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
 
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
Google Analytics Konferenz 2019_App Tracking_Runa Reno (Booking.com) & Markus...
 
Qualitätssicherung in Webprojekten
Qualitätssicherung in WebprojektenQualitätssicherung in Webprojekten
Qualitätssicherung in Webprojekten
 
Dv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automationDv 20 sdlc_oss_automation
Dv 20 sdlc_oss_automation
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
Webinar - Boost your ABAP
Webinar - Boost your ABAPWebinar - Boost your ABAP
Webinar - Boost your ABAP
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
Lasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On DemandLasttest auf Zuruf CloudTest On Demand
Lasttest auf Zuruf CloudTest On Demand
 

Messen mit PHP