SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
medime que me gusta
- graphite PHP Conference AR
martin@properati.com
@runixo
nosotros
rasmus
Que hace Graphite
● Guarda métricas en el tiempo
● Permite
○ filtrarlas
○ procesarlas
○ graficarlas
De donde sale Graphite
●
●
●
●

Sideproject de Chris Davis en Orbitz
Opensourceado en 2008
Python + Twisted
Github

Quienes lo usan
Orbitz, Etsy, Google, Vimeo, Properati y
Sumavisos ;)
Porque me interesa, a mí
●
●
●
●
●

Mi trabajo => problemas raros
Fácil de implementar
Experimentos rápidos
Da herramientas para tomar decisiones
poco esfuerzo => buenos resultados
Porque me interesa darles esta charla
● *tiene sentido*
● fácilmente accionable
● poco esfuerzo => muchos resultados
Que hace Graphite (de nuevo)
● Guarda métricas en el tiempo
○ contadores
○ timers
○ gauges
■ s. calibre, espesor; manómetro, barómetro, indicador, medidor; calibrador,
gage, graduador, gramil; pluviómetro; distancia entre dos ejes, entrerriel,
entrevía

● Permite extraerlas, filtrarlas, procesarlas y
graficarlas
Una métrica en el tiempo
web.exceptions

2013/10/1 7:50:10

0

web.exceptions

2013/10/1 7:50:20

0

web.exceptions

2013/10/1 7:50:30

15

web.requests

2013/10/1 7:50:10

50

web.requests

2013/10/1 7:50:20

53

web.requests

2013/10/1 7:50:30

42
Tipos de métricas
● Contadores
○ Cuantos X hubo en tal periodo de tiempo?
■ requests
■ suscripciones
■ logins

● Timers
○ Cuanto tardó Z?
■ una búsqueda en resolverse
■ un caché en responder

● Gauges
○ Cuanto mide Y?
■ pedidos encolados

● Eventos
Como se usa - meter datos
post "/contact" do
# hacer algo
G.increment("properati.contact.form_completed")
end

O, alternativamente,
echo "local.random.diceroll 4 `date +%s`" | nc 127.0.0.1 2003
Como se usa - sacar datos
● Dashboard
○ Graficos (feuchos pero utiles)

● URL API
○ Gráficos
○ JSON
○ CSV
2 métricas para una período
2 métricas mergeadas
Performance de la DB
Tiempo gastado cada 10/sec
Funciones
●
●
●
●
●

summarize
sum
avg
product
ratio

●
●
●

integral
derivate
holtWintersForecast

●
●
●

asPercent
stacked
“tipo munin”
Performance de la DB
Tiempo gastado cada
10/sec

Tiempo gastado
sumarizado cada 10/min
Performance por componente
Un request = MySQL + Sphinx + Redis + Ruby
Distribucion por datacenter
Por Status de HTTP
Salud + Deploys
Parcial, diario e histórico
Cantidad de resultados por búsqueda
Mails enviados vs Horario apertura
Dashboards!
URL API
GET http://tools.sumavisos.
xstrat.us/render?
width=400&from=1weeks&until=&height=250&target=alias
(summarize(sumSeries
(stats_counts.properati.parsers.
*.*.deleter.property.sources.*.
deleted)%2C'1d')%2C%
22borrados%22)
&title=borrados&hideLegend=tru
e&areaMode=stacked&lineMode
=staircase

image/png
URL API - JSON
GET http://tools.sumavisos.
xstrat.us/render?
width=400&from=1weeks&until=&height=250&target=alias
(summarize(sumSeries
(stats_counts.properati.parsers.
*.*.deleter.property.sources.*.
deleted)%2C'1d')%2C%
22borrados%22)
&title=borrados&hideLegend=tru
e&areaMode=stacked&lineMode
=staircase

&format=json

text/javascript

[{"target": "borrados",
"datapoints": [[327.0,
1380067200], [803.0,
1380153600], [528.0,
1380240000], [1244.0,
1380326400], [460.0,
1380412800], [224.0,
1380499200], [21.0,
1380585600], [194.0,
1380672000]]}]
Dashboards Alternativos

<<<
Alertas
HoltWintersForecast
El stack es complicado
● Graphite
○ carbon
○ whisper
○ webapp

● Statsd
○ Escucha UDP
○ Agrupa cada 10s
○ Le pasa a Graphite

Pero hay unos howtos cut&paste&godhelpme
Graphite!
Martin Sarsale
@runixo
martin@properati.com
Graphite vive aca

Contenu connexe

En vedette

Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
Kleer Agile Coaching & Training
 

En vedette (10)

Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana Log -Analytics con Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics con Apache-Flume Elasticsearch HDFS Kibana
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
On-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, KibanaOn-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
On-the-fly ETL con EFK: ElasticSearch, Flume, Kibana
 
Icinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 ClusterIcinga Camp Antwerp - Icinga2 Cluster
Icinga Camp Antwerp - Icinga2 Cluster
 
Icinga Web 2 is more
Icinga Web 2 is moreIcinga Web 2 is more
Icinga Web 2 is more
 
Icinga2 - Upcoming API for Icinga2
Icinga2 - Upcoming API for Icinga2Icinga2 - Upcoming API for Icinga2
Icinga2 - Upcoming API for Icinga2
 
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
Log Monitoring Simplified - Get the best out of Graylog2 & Icinga 2
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
Log Management
Log ManagementLog Management
Log Management
 

Similaire à Graphite - PHP Conference AR

Similaire à Graphite - PHP Conference AR (20)

Presentacion curso project
Presentacion curso projectPresentacion curso project
Presentacion curso project
 
Principales herramientas a utilizar en la etapa DEFINIR de DMAIC
Principales herramientas a utilizar en la etapa DEFINIR de DMAICPrincipales herramientas a utilizar en la etapa DEFINIR de DMAIC
Principales herramientas a utilizar en la etapa DEFINIR de DMAIC
 
modelo de redes
modelo de redesmodelo de redes
modelo de redes
 
Técnicas avanzadas para resolver tus problemas de sql server - SolidQ Summit ...
Técnicas avanzadas para resolver tus problemas de sql server - SolidQ Summit ...Técnicas avanzadas para resolver tus problemas de sql server - SolidQ Summit ...
Técnicas avanzadas para resolver tus problemas de sql server - SolidQ Summit ...
 
gestion_del_tiempo
gestion_del_tiempogestion_del_tiempo
gestion_del_tiempo
 
Kanban
KanbanKanban
Kanban
 
Capitulo-6.ppt-gestión del tiempo en pmi
Capitulo-6.ppt-gestión del tiempo en pmiCapitulo-6.ppt-gestión del tiempo en pmi
Capitulo-6.ppt-gestión del tiempo en pmi
 
Etapa 3 PLAN DE ACCIÓN.pptx
Etapa 3 PLAN DE ACCIÓN.pptxEtapa 3 PLAN DE ACCIÓN.pptx
Etapa 3 PLAN DE ACCIÓN.pptx
 
10 - Unidad 3: PROCESOS TI - 3.2 Kanban
10 - Unidad 3: PROCESOS TI - 3.2 Kanban10 - Unidad 3: PROCESOS TI - 3.2 Kanban
10 - Unidad 3: PROCESOS TI - 3.2 Kanban
 
Agile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvilAgile university day - Un día en un equipo ágil de desarrollo móvil
Agile university day - Un día en un equipo ágil de desarrollo móvil
 
Descubriendo el poder de la Ciencia de Datos.pdf
Descubriendo el poder de la Ciencia de Datos.pdfDescubriendo el poder de la Ciencia de Datos.pdf
Descubriendo el poder de la Ciencia de Datos.pdf
 
[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina[SPANISH ]Codealike en MUG Argentina
[SPANISH ]Codealike en MUG Argentina
 
Sesión 9.pptx
Sesión 9.pptxSesión 9.pptx
Sesión 9.pptx
 
Subiendo el rendimiento y la productividad Herramientas estratégicas automa...
Subiendo el rendimiento y la productividad  Herramientas estratégicas  automa...Subiendo el rendimiento y la productividad  Herramientas estratégicas  automa...
Subiendo el rendimiento y la productividad Herramientas estratégicas automa...
 
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
Cómo construir una plataforma poderosa de datos en un ambiente con recursos r...
 
Azure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo realAzure Realtime analytics: Análisis de datos en tiempo real
Azure Realtime analytics: Análisis de datos en tiempo real
 
Personal Software Process / Sesion 02
Personal Software Process / Sesion 02Personal Software Process / Sesion 02
Personal Software Process / Sesion 02
 
estimacion
estimacionestimacion
estimacion
 
Gestión del tiempo en un proyecto
Gestión del tiempo en un proyectoGestión del tiempo en un proyecto
Gestión del tiempo en un proyecto
 
Sesión 3. técnicas prog. proyectos
Sesión 3. técnicas prog. proyectosSesión 3. técnicas prog. proyectos
Sesión 3. técnicas prog. proyectos
 

Dernier

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Dernier (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 

Graphite - PHP Conference AR