sistema monitorización con symfony2, rabbitmq, mongodb y extjs4

185

Upload: jordi-llonch

Post on 17-Dec-2014

4.815 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 2: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 4: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿Qué es?

Page 5: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

vendemos productos y servicios a precios interesantes por

internet

Page 6: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

cada día abrimos 2-6 pequeñas tiendas durante 3-4 días

Page 7: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 8: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

vendemos oportunidades de ocio

Page 9: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 10: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

perfumería y cosmética

Page 11: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 12: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

productos de temporada

Page 13: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 14: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

hasta tenemos una tienda de las de toda la

vida...

Page 15: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 16: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

en todos los proyectos IT está en el camino

crítico

Page 17: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

vale pues tendréis un equipo de IT grande y a

picar código, no?

Page 18: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

bueno...

Page 19: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

venimos de un equipo pequeño...

Page 20: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

que hacía software...

Page 21: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

era

Page 22: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

ágil

Page 23: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

rápido

Page 24: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

barato

Page 25: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

luego el proyecto fue creciendo

Page 26: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pero no queríamos perder los orígenes...

Page 27: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

por eso empezamos con...

Page 28: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

continuous deployment

Page 29: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

requisitos ágiles

Page 30: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pequeños pasos hacia el objetivo

Page 31: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

KISS

Page 32: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

test mínimopero suficiente para

nosotros

Page 33: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pero hoy hablaremos de...

Page 34: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

MONITORIZACIÓN

Page 35: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y de cómo y porqué monitorizamos

Page 36: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Para nosotros es vital

Page 37: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

nuestro proyecto está vivo

Page 38: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

cada día cambia

MUCHOen un año hemos añadido 3

líneas de negocio

Page 39: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

así que los tests quedan obsoletos muy rápido

Page 40: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Cuando algo va mal

Page 41: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

si no lo vemos no pasa

para nosotros ...

Page 42: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

en producción SIEMPRE hay fallos

Aunque haya mucho test

Page 43: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

las cosas se estropean

Page 44: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pero al final los usuarios son los que lo

“sufren”

Page 45: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y normalmente no llaman para quejarse

Page 46: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

si sabemos que las cosas se rompen o que

a veces la liamos...

Page 47: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

como mínimo intentemos tardar poco

en arreglarlo

Page 48: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

podriamos ser instaladores de antenas...

Page 49: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y eso nos haría poco ágiles

Page 50: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pero tenemos la suerte de desarrollar webs

Page 51: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

así que podemos...

Page 52: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

actualizar el código de la web en minutos

Page 53: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y hacer rollback en segundos

... si algo va mal...

Page 54: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

tenemos la mayoría de código en un mismo

sitio

Page 55: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

sólo una versión del código en producción

Page 56: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

tenemos conexión directa con los clientes

Page 57: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y miles de clientes usando nuestro código

Page 58: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¡usemos esas ventajas para ser más eficientes!

Page 59: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

un día decidimos que...

Page 60: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

íbamos a buscar el balance entre test y monitorización

Page 61: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

actualizaríamos producción

con mucha frecuencia

Page 62: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

haríamos cambios pequeños

Page 63: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y si algo iba mal, lo arreglaríamos rápido

Page 64: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pero para darnos cuenta, necesitábamos...

Page 65: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¡MONITORIZAR!

Page 66: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

vaaaale, ¡monitorizaremos!

Page 67: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

al monitorizar nos damos cuenta de que...

Page 68: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿3.2 es normal?

Page 69: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

si no tenemos histórico no sabemos si lo que

vemos es normal

Page 70: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

así que es mejor empezar temprano a

monitorizar

Page 71: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

también tendremos falsas alarmas...

Page 72: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

realmente inoportunas

Page 73: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pero si no monitorizas no te das cuenta

Page 74: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

hasta que es demasiado tarde

Page 75: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

“Ui, al reiniciar algo no va bien”

Page 76: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

es mejor que

Page 77: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

“Ui, se nos ha caído todo”

Page 78: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

al principio se ven muchos fallos

¡paciencia y a solventarlos!

Page 79: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

vale, usamos nagios, munin, etc...

y ya lo tenemos, ¿no?

Page 80: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

bueno...

Page 81: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

nosotros usamos estas herramientas pero no nos sirven para todo

Page 82: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

vamos a hablar de nuestro sistema de

monitorización

Page 83: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿pero por qué os hacéis un nuevo sistema de monitorización?

Page 84: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Sobretodo para conocer los eventos de

la aplicación y enlazarlos con los

eventos del sistema

Page 85: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

minimizar tecnologías

KISS

Page 86: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

adaptado a nuestras necesidades:

Page 87: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

monitorizar logs

parsear y actuar rápido!

Page 88: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

deploy continuo

monitorización en tiempo real

y aviso sonoro

Page 89: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

relacionar eventoscon medidas

gráficas conflags de eventos

Page 90: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

todo el equipo tiene acceso a la

monitorización

Page 91: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Miquel monitoriza

Page 92: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Jordi monitoriza

Page 93: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Dani también monitoriza

Page 94: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

todos monitorizamos

Page 95: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¡venga al lío!

Page 96: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Componentes del sistema

Page 97: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

Page 98: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

LogM

onito

rSU

B

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

Page 99: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿qué es?

Page 100: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

parsea archivos de log

Page 101: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

publica errores y valores estadísticos

Page 102: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿cómo funciona?

Page 103: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

tail -f

archivo.log

actores

kernel

parser

Page 104: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿qué necesita para funcionar?

Page 105: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

upstreamerrors:   file: 'test/error.log'   file_stat: 'test/error.log.sdf'   parser: LogMonitor\Parsers\NginxErrorParser   actors:     - LogMonitor\Actors\Errors\ErrorPhpActor    - LogMonitor\Actors\Errors\ErrorSqlActor    - LogMonitor\Actors\Errors\ErrorSymfonyActor  actor_config:     name: '[test] error.log'    publishers:      publisher_1:        class: LogMonitor\Publishers\RabbitMQ        config:          host: localhost          port: 5672          user: guest          pass: guest          vhost: /          exchange: myproject_errors

test_error_access_log.yml

Page 106: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

ejemplo de código

Page 107: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Parser

Page 108: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Actor

Page 109: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Publ

ishe

rCli

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

Page 110: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿qué es?

Page 111: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

publica eventos o valores desde la línea de comandos

Page 112: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

está autocontenido en: publisher_cli.phar

Page 113: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

unos ejemplos

Page 114: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

php publisher_cli.phar --name="backup \ started" --event

evento: ¡OJO iniciamos backup!

Page 115: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

php publisher_cli.phar --name=log_length \ --types=value \

--value=”$(cat /tmp/file.log|grep error|wc -l)”

publicar valor desde shell script

Page 116: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

while true; do ls | wc -l | php \ publisher_cli.phar --name=num_files \

--types=time --value=STDIN;sleep 5;done

publicar valor desde STDIN

Page 117: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Col

lect

orSU

B

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

Page 118: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿qué es?

Page 119: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

se suscribe al canal dónde se publican los valores estadísticos

Page 120: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

almacena valores estadísticos

Page 121: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

ofrece una API para consultar estadística

Page 122: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

un ejemplo

Page 123: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

storage:  storage_1:    class: \Stats\Storage\Mongo\Factory    config:      server: 'mongodb://localhost:27017'      default_database: 'stats_myproject'      autorotate: false      events_time_to_store: 365 # days

output:  storage: storage_1

channel:  class: \Stats\Channel\RabbitMQ  config:    debug: false    host: localhost    port: 5672    user: guest    pass: guest    vhost: /    exchanges:      - myproject_stats

Page 124: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

stats:  default_types:    time:      operations:        - 'median'        - 'percentile_95'        - 'max'        - 'min'      retentions:        - '60s:1d'        

    counter:      operations:        - 'count'      retentions:        - '60s:1d'        - '1h:15d'

Page 125: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Web

UIS

tats

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

Page 126: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿qué es?

Page 127: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

genera un UI web con gráficos interactivos de tus

estadísticas

Page 128: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

un ejemplo

Page 129: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

charts: chart1: title: 'Sentinel 7 days' options: xAxis: maxZoom: 3600000 # 1h tooltip: yDecimals: 2 series: serie1: title: 'myweb average time (s)' url: 'http://localhost/Collector/web/stats_events/

sys_myweb_sentinel_myweb_60s_7d/median/2/0' serie2: title: 'google average time (s)' url: 'http://localhost/Collector/web/stats_events/

sys_myweb_sentinel_google_60s_7d/median/2/0' interval: 10display: title: 'Sentinel' template: tpl_1_1 charts: - chart1

Page 130: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

demo

Page 131: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Web

UIM

onito

rSU

B

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

SUB

SUB

PUB

PUB

RabbitMQ

LogMonitor PublisherCli

Collector WebUIMonitor

WebUIStats

MongoDB

obtienen datos

utilizan los datos

Page 132: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿qué es?

Page 133: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

UI que muestra errores y eventos en tiempo real y reproduce un sonido para errores críticos

Page 134: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

2 partes

Page 135: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

servidor websocket en PHP atendiendo a los clientes websocket y suscrito al canal de

errores (RabbitMQ)

Page 136: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

cliente Javascript que conecta con el servidor websocket y muestra los errores y

reproduce sonidos

Page 137: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿qué pinta tiene?

Page 138: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

WebUIMonitor

Page 139: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Tecnologías utilizadas

O... qué juguetes nuevos tendré...

Page 140: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 141: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

nuestro lenguaje base

Page 142: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 143: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

ClassLoader

Page 144: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

YAML

Page 145: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

Console

Page 146: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 147: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

mecanismo estándar de comunicación entre

componentes

Page 148: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 149: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

almacenamos valores estadísticos

Page 150: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 151: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

pantallas de usuario ricas

Page 152: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 153: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

comunicación bidireccional

Page 154: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

enviamos errores y eventos en tiempo real

al navegador

Page 155: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 156: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

gráficas interactivas

Page 157: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

permite mostrar marcas de eventos

Page 158: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y hacer zoom

Page 159: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿Qué monitorizamos?

Page 160: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

errores php, php-fpm, symfony, mysql, redis,

404...

Page 161: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

tiempo de login

Page 162: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

tiempo renderizado de páginas clave

Page 163: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

número de logins por minuto

Page 164: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

número de productos añadidos al carrito por

minuto

Page 165: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

número compras por minuto

Page 166: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

etc...

Page 167: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¿de qué nos ha servido todo esto?

Page 168: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

nos dice cuando es importante no fallar...

Page 169: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

picos de compra

Page 170: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

nos damos cuenta cuando nos pasamos...

Page 171: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

el deploy satura algo

Page 172: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

previene desastres

Page 173: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

algo se está rompiendo por momentos...

Page 174: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

en general nos avisa de que hay algo para investigar

Page 175: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

y nos conecta con la realidad de nuestro

sistema

Page 176: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4
Page 177: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

componentede alertas

Page 178: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

persistenciaen el LogMonitor

Page 179: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

errores producidos en el navegador

Page 180: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

métricas desde el punto de vista del

navegador

Page 181: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

mejoras en la arquitectura

Page 182: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

conclusión

Page 183: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

¡MONITORIZA!

Page 184: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

https://github.com/ofertix

¡muchas gracias!

Page 185: Sistema monitorización con Symfony2, RabbitMQ, MongoDB y ExtJS4

http://all-that-is-interesting.com/fixing-an-antennae-on-the-empire-state-buildinghttp://fountainxm.en.alibaba.com/column/207827945/Quality.htmlhttp://gooddeedaday.wordpress.com/2010/02/23/day-540-once-was-blind-but-now-i-see/http://www.squidoo.com/dangerous-bugshttp://www.veryicon.com/icons/object/lifesaver/red-life-saver.htmlhttp://www.etsy.com/listing/38951509/white-beach-pebbles-engraved-stone-triohttp://www.fastinternetbrowser.net/http://livewareis.blogspot.com.es/2011/07/mejora-de-procesos-una-opcion-para.htmlhttp://www.asianhealthsecrets.com/letha/?p=2314http://chocolatey.org/packages/mongodb

Fuentes imágenes