Last active
August 29, 2015 14:06
-
-
Save e3matheus/d6189642afb572e58eff to your computer and use it in GitHub Desktop.
Revisions
-
e3matheus revised this gist
Sep 25, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -65,7 +65,7 @@ at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx requ * Cuenta cuantos status 500, tuvo el url de pagos > "path=/.\*payments.\*;/ status=500 | count" En este caso vemos dos cosas interesantes. La primera es que se pueden hacer búsquedas con atributos usando una expresión regular. La segunda es que vemos un pipe("|" ) casi al final de la búsqueda. Esto nos va a permitir introducir un comando nuevo, que en este caso es contar. -
e3matheus revised this gist
Sep 25, 2014 . No changes.There are no files selected for viewing
-
e3matheus revised this gist
Sep 25, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -77,7 +77,7 @@ Para nuestro ejemplo, hacer esta búsqueda devolvería: * Agrupa de acuerdo al status HTTP devuelto por el servidor > path=/.\*payments.\*/ | groupby(status) | count En este caso, estamos concatenando comandos. Vemos que existe un comando groupby, que nos permitirá agrupar los logs devueltos. -
e3matheus revised this gist
Sep 25, 2014 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -65,7 +65,7 @@ at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx requ * Cuenta cuantos status 500, tuvo el url de pagos > "path=/.*payments.*;/ status=500 | count" En este caso vemos dos cosas interesantes. La primera es que se pueden hacer búsquedas con atributos usando una expresión regular. La segunda es que vemos un pipe("|" ) casi al final de la búsqueda. Esto nos va a permitir introducir un comando nuevo, que en este caso es contar. @@ -77,7 +77,7 @@ Para nuestro ejemplo, hacer esta búsqueda devolvería: * Agrupa de acuerdo al status HTTP devuelto por el servidor > path=/.*payments.*/ | groupby(status) | count En este caso, estamos concatenando comandos. Vemos que existe un comando groupby, que nos permitirá agrupar los logs devueltos. -
e3matheus revised this gist
Sep 25, 2014 . 1 changed file with 0 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -44,11 +44,8 @@ El router de Heroku imprime una linea por cada llamada que recibe tu aplicación ``` at=info method=GET path="/api/terminals.json?q=c" host=www.reserbus.mx request_id=bfac49de-cf37-4caf-9094-587f7dd6f4eb fwd="201.127.220.150" dyno=web.2 connect=1ms service=42ms status=200 bytes=1565 at=info method=POST path="/payments/27964432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.108" dyno=web.1 connect=1ms service=51ms status=200 bytes=1029 at=info method=GET path="/viajes/san-luis-potosi/t-casas-grandes" host=www.reserbus.mx request_id=6ed170ba-548b-405c-bbd2-f01ca8c59f40 fwd="157.55.39.86" dyno=web.1 connect=0ms service=506ms status=200 bytes=9754 at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 ``` -
e3matheus revised this gist
Sep 25, 2014 . 1 changed file with 47 additions and 21 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,8 +1,8 @@ Imprimiendo tus logs con cierto formato, podrás analizarlos, extraer estadísticas e incluso recibir notificaciones cuando ciertos eventos sucedan. ### Formatea tus logs usando logfmt Hay varios formatos que se pueden usar para extraer información de tus logs. Acá vamos a hablar de [logfmt](https://brandur.org/logfmt). La idea es formatear tu información usando KVP(Key Value Pairs). Consiste en dividir la información en pares de llave y valor. Luego los imprimes separados por un signo de igual. @@ -30,50 +30,76 @@ Imprimirias: ### Consulta tus logs "SQL style" usando Logentries Al tener los valores formateados, puedes consultarlos, usando una aplicacion, de manera similar a las consultas de una base de datos. Un ejemplo de dicho aplicacion es [Logentries](https://logentries.com/).  Puedes realizar consultas sencillas("WHERE"), contar resultados("COUNT"), agrupar resultados de acuerdo a una llave("GROUP BY"), sumar los resultados("SUM"), sacar el promedio de un valor, entre otras cosas. La sintaxis es parecida a los pipes de linux. Para explicarla, mejor usamos un ejemplo. ### Ejemplo con el Router de Heroku: El router de Heroku imprime una linea por cada llamada que recibe tu aplicación en los logs. Por ejemplo: ``` at=info method=GET path="/api/terminals.json?q=c" host=www.reserbus.mx request_id=bfac49de-cf37-4caf-9094-587f7dd6f4eb fwd="201.127.220.150" dyno=web.2 connect=1ms service=42ms status=200 bytes=1565 at=info method=POST path="/payments/27964432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.108" dyno=web.1 connect=1ms service=51ms status=200 bytes=1029 at=info method=GET path="/viajes/san-luis-potosi/t-casas-grandes" host=www.reserbus.mx request_id=6ed170ba-548b-405c-bbd2-f01ca8c59f40 fwd="157.55.39.86" dyno=web.1 connect=0ms service=506ms status=200 bytes=9754 at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 ``` Leyendo la primera linea, vemos muchos KVP's. En la primera linea, vemos la llave "at", seguida del valor "info". Este atributo significa el nivel de logging de la llamada. Luego viene la llave "method", seguido del valor "GET". Esto se refiere al metodo HTTP de la llamada. Luego viene el atributo path, seguido del valor "/api/terminals.json?q=c". Esto se refiere al path que visito el usuario. Entendiendo el formato, podemos realizar búsquedas usando logentries. * Regresa todas las llamadas realizadas por la IP "187.193.105.101" > fwd=187.193.105.101 Para nuestro ejemplo, devolvería: ``` at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 ``` * Cuenta cuantos status 500, tuvo el url de pagos > "path=/.*payments.*/ status=500 | count" En este caso vemos dos cosas interesantes. La primera es que se pueden hacer búsquedas con atributos usando una expresión regular. La segunda es que vemos un pipe("|" ) casi al final de la búsqueda. Esto nos va a permitir introducir un comando nuevo, que en este caso es contar. Para nuestro ejemplo, hacer esta búsqueda devolvería: ``` 1 ``` * Agrupa de acuerdo al status HTTP devuelto por el servidor > path=/.*payments.*/ | groupby(status) | count En este caso, estamos concatenando comandos. Vemos que existe un comando groupby, que nos permitirá agrupar los logs devueltos. Para nuestro ejemplo, devolvería: ``` 200: 1 500: 1 ``` ### Recibe notificaciones usando logentries También puedes hacer que se dispare un correo o una notificación, cuando determinado evento suceda. Por ejemplo, estaría bueno disparar una alerta cuando determinado página se esté tardando mucho en responder. ### Fuentes * https://brandur.org/logfmt * https://logentries.com/ * https://logentries.com/doc/search/ * https://logentries.com/doc/alerts/ -
e3matheus revised this gist
Sep 25, 2014 . No changes.There are no files selected for viewing
-
e3matheus revised this gist
Sep 21, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -54,7 +54,7 @@ Leyendo la primera linea, vemos muchos KVP's. En la primera linea, vemos la llav Entendiendo el formato, podemos realizar busquedas usando logentries. Algunos ejemplos podrian ser: * Regresa todas las llamadas realizadas por la IP "187.193.105.101" Busqueda: fwd=187.193.105.101 -
e3matheus revised this gist
Sep 21, 2014 . 1 changed file with 5 additions and 11 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -41,12 +41,16 @@ Usemos el router de heroku para ver ejemplos de informacion que se podria extrae El router de Heroku imprime una linea por cada ruta en los logs. Por ejemplo: > at=info method=GET path="/api/terminals.json?q=c" host=www.reserbus.mx request_id=bfac49de-cf37-4caf-9094-587f7dd6f4eb fwd="201.127.220.150" dyno=web.2 connect=1ms service=42ms status=200 bytes=1565 > at=info method=GET path="/favicon.ico" host=www.reserbus.mx request_id=fc8832dc-eea9-4e19-b332-c5977b45afe9 fwd="177.236.56.54" dyno=web.2 connect=2ms service=8ms status=200 bytes=1753 > at=info method=POST path="/payments/27964432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.108" dyno=web.1 connect=1ms service=51ms status=200 bytes=1029 > at=info method=GET path="/viajes/san-luis-potosi/t-casas-grandes" host=www.reserbus.mx request_id=6ed170ba-548b-405c-bbd2-f01ca8c59f40 fwd="157.55.39.86" dyno=web.1 connect=0ms service=506ms status=200 bytes=9754 > at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 Leyendo la primera linea, vemos muchos KVP's. En la primera linea, vemos la llave "at", seguida del valor "info". Este atributo significa el nivel de logging de la llamada. Luego viene la llave "method", seguido del valor "GET". Esto se refiere al metodo HTTP de la llamada. Luego viene el atributo path, seguido del valor "/api/terminals.json?q=c". Esto se refiere al path que visito el usuario. Entendiendo el formato, podemos realizar busquedas usando logentries. Algunos ejemplos podrian ser: @@ -58,16 +62,6 @@ Resultados: > at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 * Cuenta cuantos status 500, tuvo el url de pagos Busqueda: "path=/.*payments.*/ | count" -
e3matheus revised this gist
Sep 21, 2014 . 1 changed file with 6 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -41,10 +41,10 @@ Usemos el router de heroku para ver ejemplos de informacion que se podria extrae El router de Heroku imprime una linea por cada ruta en los logs. Por ejemplo: > at=info method=GET path="/api/terminals.json?q=c" host=www.reserbus.mx request_id=bfac49de-cf37-4caf-9094-587f7dd6f4eb fwd="201.127.220.150" dyno=web.2 connect=1ms service=42ms status=200 bytes=1565 > at=info method=GET path="/favicon.ico" host=www.reserbus.mx request_id=fc8832dc-eea9-4e19-b332-c5977b45afe9 fwd="177.236.56.54" dyno=web.2 connect=2ms service=8ms status=200 bytes=1753 > at=info method=POST path="/payments/27964432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.108" dyno=web.1 connect=1ms service=51ms status=200 bytes=1029 > at=info method=GET path="/viajes/san-luis-potosi/t-casas-grandes" host=www.reserbus.mx request_id=6ed170ba-548b-405c-bbd2-f01ca8c59f40 fwd="157.55.39.86" dyno=web.1 connect=0ms service=506ms status=200 bytes=9754 > at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 Leyendolo, vemos muchos KVP's. En la primera linea, vemos la llave "at", seguida del valor "info". Este atributo significa el nivel de logging de la llamada. Luego viene la llave "method", seguido del valor "GET". Esto se refiere al metodo HTTP de la llamada. Luego viene el atributo path, seguido del valor "/api/terminals.json?q=c". Esto se refiere al path que visito el usuario. @@ -65,8 +65,8 @@ Busqueda: "method=GET" Resultados: > at=info method=GET path="/api/terminals.json?q=c" host=www.reserbus.mx request_id=bfac49de-cf37-4caf-9094-587f7dd6f4eb fwd="201.127.220.150" dyno=web.2 connect=1ms service=42ms status=200 bytes=1565 > at=info method=GET path="/favicon.ico" host=www.reserbus.mx request_id=fc8832dc-eea9-4e19-b332-c5977b45afe9 fwd="177.236.56.54" dyno=web.2 connect=2ms service=8ms status=200 bytes=1753 > at=info method=GET path="/viajes/san-luis-potosi/t-casas-grandes" host=www.reserbus.mx request_id=6ed170ba-548b-405c-bbd2-f01ca8c59f40 fwd="157.55.39.86" dyno=web.1 connect=0ms service=506ms status=200 bytes=9754 * Cuenta cuantos status 500, tuvo el url de pagos -
e3matheus revised this gist
Sep 21, 2014 . 1 changed file with 39 additions and 22 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -28,41 +28,58 @@ Imprimirias: > passenger.name=Elias passenger.lastname=Matheus ### Consulta tus logs "SQL style" usando Logentries Al tener los valores formateados, puedes consultarlos, usando una aplicacion, de manera similar a las consultas de una base de datos. Un ejemplo de dicho aplicacion es Logentries. Puedes realizar consultas sencillas("WHERE"), contar resultados("COUNT"), agrupar resultados de acuerdo a una llave("GROUP BY"), sumar los resultados("SUM"), sacar el promedio de un valor, entre otras cosas. ### Ejemplos: Usemos el router de heroku para ver ejemplos de informacion que se podria extraer. El router de Heroku imprime una linea por cada ruta en los logs. Por ejemplo: > at=info method=GET path="/api/terminals.json?q=c" host=www.reserbus.mx request_id=bfac49de-cf37-4caf-9094-587f7dd6f4eb fwd="201.127.220.150" dyno=web.2 connect=1ms service=42ms status=200 bytes=1565 at=info method=GET path="/favicon.ico" host=www.reserbus.mx request_id=fc8832dc-eea9-4e19-b332-c5977b45afe9 fwd="177.236.56.54" dyno=web.2 connect=2ms service=8ms status=200 bytes=1753 at=info method=POST path="/payments/27964432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.108" dyno=web.1 connect=1ms service=51ms status=200 bytes=1029 at=info method=GET path="/viajes/san-luis-potosi/t-casas-grandes" host=www.reserbus.mx request_id=6ed170ba-548b-405c-bbd2-f01ca8c59f40 fwd="157.55.39.86" dyno=web.1 connect=0ms service=506ms status=200 bytes=9754 at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 Leyendolo, vemos muchos KVP's. En la primera linea, vemos la llave "at", seguida del valor "info". Este atributo significa el nivel de logging de la llamada. Luego viene la llave "method", seguido del valor "GET". Esto se refiere al metodo HTTP de la llamada. Luego viene el atributo path, seguido del valor "/api/terminals.json?q=c". Esto se refiere al path que visito el usuario. Entendiendo el formato, podemos realizar busquedas usando logentries. Algunos ejemplos podrian ser: # Regresa todas las llamadas realizadas por la IP "187.193.105.101" Busqueda: fwd=187.193.105.101 Resultados: > at=info method=POST path="/payments/27961432/complete" host=www.reserbus.mx request_id=3e432617-2318-4a88-8f74-4289beecb99e fwd="187.193.105.101" dyno=web.1 connect=1ms service=51ms status=500 bytes=1029 * Regresa todas las llamadas GET Busqueda: "method=GET" Resultados: > at=info method=GET path="/api/terminals.json?q=c" host=www.reserbus.mx request_id=bfac49de-cf37-4caf-9094-587f7dd6f4eb fwd="201.127.220.150" dyno=web.2 connect=1ms service=42ms status=200 bytes=1565 at=info method=GET path="/favicon.ico" host=www.reserbus.mx request_id=fc8832dc-eea9-4e19-b332-c5977b45afe9 fwd="177.236.56.54" dyno=web.2 connect=2ms service=8ms status=200 bytes=1753 at=info method=GET path="/viajes/san-luis-potosi/t-casas-grandes" host=www.reserbus.mx request_id=6ed170ba-548b-405c-bbd2-f01ca8c59f40 fwd="157.55.39.86" dyno=web.1 connect=0ms service=506ms status=200 bytes=9754 * Cuenta cuantos status 500, tuvo el url de pagos Busqueda: "path=/.*payments.*/ | count" Resultados: 1 * Agrupa de acuerdo al status HTTP devuelto por el servidor Busqueda: "path=/.*payments.*/ | groupby(status) | count" Resultados: 200: 1, 500: 1 ### Recibe notificaciones usando logentries También puedes hacer que se dispare un correo o una notificación, cuando determinado evento suceda. -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 5 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,13 +8,13 @@ La idea es formatear tu información usando KVP(Key Value Pairs). Consiste en di Ejemplos: * Si quieres imprimir el status http y el URL que visitó un usuario. En lugar de: > el status es 200 y la página es /trip/mex-mty-18-12-2014 Imprimirias: > status=200 path="/trip/mex-mty-18-12-2014” @@ -30,11 +30,11 @@ Imprimirias: ### Consulta tus logs usando Logentries Al tener los valores formateados, puedes consultarlos usando un programa de maneras similares a las consultas de una base de datos. Para consultarlos, podrias usar Logentries. Puedes realizar consultas sencillas, contar resultados, agrupar resultados de acuerdo a una llave, sumar los resultados, sacar el promedio de un valor, entre otras cosas. Aquí les dejo varios ejemplos de busquedas usando la sintaxis de Logentries: | Sintaxis | Descripción | | ----------------------- |:-------------:| -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,7 +8,7 @@ La idea es formatear tu información usando KVP(Key Value Pairs). Consiste en di Ejemplos: * Si quieres imprimir el status http y el path que visitó un usuario. En lugar de: @@ -18,7 +18,7 @@ Imprimirias> > status=200 path="/trip/mex-mty-18-12-2014” * Si quieres imprimir el nombre y apellido de una persona En lugar de: -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 19 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,10 +8,25 @@ La idea es formatear tu información usando KVP(Key Value Pairs). Consiste en di Ejemplos: #### Si quieres imprimir el status http y el path que visitó un usuario. En lugar de: > el status es 200 y la página es /trip/mex-mty-18-12-2014 Imprimirias> > status=200 path="/trip/mex-mty-18-12-2014” #### Si quieres imprimir el nombre y apellido de una persona En lugar de: > El nombre del pasajero es Elias, el apellido es Matheus Imprimirias: > passenger.name=Elias passenger.lastname=Matheus ### Consulta tus logs usando Logentries -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 3 additions and 3 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,10 +1,10 @@ Hasta hace poco, usaba los logs solo cuando quería debuguear alguna funcionalidad. Luego en MagmaConf, Blake Mizerany nos explicó que imprimiendo logs formateados de cierto modo, puedes conseguir estadísticas, recibir notificaciones y analizar información dentro de los mismos. ### Formatea tus logs usando logfmt Hay varios formatos que se pueden usar para extraer información de tus logs. Acá vamos a hablar de logfmt. La idea es formatear tu información usando KVP(Key Value Pairs). Consiste en dividir la información en pares de llave y valor. Luego los imprimes separados por un signo de igual. Ejemplos: -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 5 additions and 5 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -28,26 +28,26 @@ Aquí les dejo varios ejemplos: | transaction=payed | sum | Suma los totales de las transacciones pagadas | | fwd!=null | groupby(fwd) | average(service) | Obten el valor promedio de tiempo de respuesta del servicio agrupado por IP | Para más información, revisar: https://logentries.com/doc/search/ ### Ejemplos de uso: En ofertas hacker lo usamos para saber cuales son las búsquedas por semana: > jobs keywords | groupby(keywords) | count En reserbus, lo usamos para saber cuales son los tiempos de respuesta promedio por proveedor. > request_time | groupby(provider) | average Como heroku usa logfmt, también lo usamos para saber que hizo un usuario paso por paso. > fwd=66.249.67.17 ### Recibe notificaciones usando logentries También puedes hacer que se dispare un correo o una notificación, cuando determinado evento suceda. Por ejemplo: En Reserbus, lo usamos para saber cuando las conexiones a la base de datos están llegando a su máximo. > heroku-postgres active-connections>55 -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 5 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -8,11 +8,10 @@ El formato es sencillo. Divides la información en pares de llave y valor. Luego Ejemplos: | Antes | Despues | | ------------- |:-------------:| | el status es 200 y la página es /trip/mex-mty-18-12-2014 | status=200 path="/trip/mex-mty-18-12-2014” | | El nombre del pasajero es Elias, el apellido es Matheus | passenger.name=Elias passenger.lastname=Matheus | ### Consulta tus logs usando Logentries @@ -23,7 +22,7 @@ En Reserbus, estamos usando Logentries para realizar esas consultas. Puedes real Aquí les dejo varios ejemplos: | Sintaxis | Descripción | | ----------------------- |:-------------:| | Elías Matheus | Busca todas las líneas que contentan el nombre "Elías Matheus” | | Cocina y Comparte | count | Cuenta los elementos que tengan el nombre Cocina y Comparte | | transaction=payed | sum | Suma los totales de las transacciones pagadas | -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 0 additions and 6 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,12 +22,6 @@ En Reserbus, estamos usando Logentries para realizar esas consultas. Puedes real Aquí les dejo varios ejemplos: | Sintaxis | Descripción | | ------------- |:-------------:| | Elías Matheus | Busca todas las líneas que contentan el nombre "Elías Matheus” | -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 7 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,7 +22,14 @@ En Reserbus, estamos usando Logentries para realizar esas consultas. Puedes real Aquí les dejo varios ejemplos: | Tables | Are | Cool | | ------------- |:-------------:| -----:| | col 3 is | right-aligned | $1600 | | col 2 is | centered | $12 | | zebra stripes | are neat | $1 | | Sintaxis | Descripción | | ------------- |:-------------:| | Elías Matheus | Busca todas las líneas que contentan el nombre "Elías Matheus” | | Cocina y Comparte | count | Cuenta los elementos que tengan el nombre Cocina y Comparte | | transaction=payed | sum | Suma los totales de las transacciones pagadas | -
e3matheus revised this gist
Sep 20, 2014 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,6 @@ Hasta hace poco, usaba los logs solo cuando quería debuguear alguna funcionalidad. Luego en MagmaConf, Blake Mizerany nos mencionó que imprimiendo información en tus logs de cierto modo, puedes conseguir estadísticas, recibir notificaciones y analizar información que hasta el momento no habías considerado. ### Formatea tus logs usando logfmt Hay varios formatos que se pueden usar para extraer información de tus logs. En Heroku se usa uno denominado logfmt. La idea es formatear tu información usando KVP(Key Value Pairs). @@ -14,7 +14,7 @@ Despues: status=200 path="/trip/mex-mty-18-12-2014” Antes: “El nombre del pasajero es Elias, el apellido es Matheus" Despues: “passenger.name=Elias passenger.lastname=Matheus" ### Consulta tus logs usando Logentries Al tener los valores formateados de alguna manera, y haciendo uso de un programa que permita analizarlos, puedes realizar consultas sobre los mismos muy parecidas a las consultas de una base de datos. @@ -30,7 +30,7 @@ Aquí les dejo varios ejemplos: Para más información, revisar: "https://logentries.com/doc/search/":https://logentries.com/doc/search/ ### Ejemplos de uso: En ofertas hacker lo usamos para saber cuales son las búsquedas por semana: @@ -44,7 +44,7 @@ Como heroku usa logfmt, también lo usamos para saber que hizo un usuario paso p fwd=66.249.67.17 ### Recibe notificaciones usando logentries También puedes hacer que se dispare un correo o una notificación, cuando determinado evento suceda. -
e3matheus created this gist
Sep 20, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,53 @@ Hasta hace poco, usaba los logs solo cuando quería debuguear alguna funcionalidad. Luego en MagmaConf, Blake Mizerany nos mencionó que imprimiendo información en tus logs de cierto modo, puedes conseguir estadísticas, recibir notificaciones y analizar información que hasta el momento no habías considerado. h3. Formatea tus logs usando logfmt Hay varios formatos que se pueden usar para extraer información de tus logs. En Heroku se usa uno denominado logfmt. La idea es formatear tu información usando KVP(Key Value Pairs). El formato es sencillo. Divides la información en pares de llave y valor. Luego los imprimes separados por un signo de igual. Ejemplos: Antes: “ el status es 200 y la página es /trip/mex-mty-18-12-2014" Despues: status=200 path="/trip/mex-mty-18-12-2014” Antes: “El nombre del pasajero es Elias, el apellido es Matheus" Despues: “passenger.name=Elias passenger.lastname=Matheus" h3. Consulta tus logs usando Logentries Al tener los valores formateados de alguna manera, y haciendo uso de un programa que permita analizarlos, puedes realizar consultas sobre los mismos muy parecidas a las consultas de una base de datos. En Reserbus, estamos usando Logentries para realizar esas consultas. Puedes realizar consultas sencillas, contar resultados, agrupar resultados de acuerdo a una llave, sumar los resultados de una columna, sacar el promedio de un valor, entre otras cosas. Aquí les dejo varios ejemplos: | Sintaxis | Descripción | | Elías Matheus | Busca todas las líneas que contentan el nombre "Elías Matheus” | | Cocina y Comparte | count | Cuenta los elementos que tengan el nombre Cocina y Comparte | | transaction=payed | sum | Suma los totales de las transacciones pagadas | | fwd!=null | groupby(fwd) | average(service) | Obten el valor promedio de tiempo de respuesta del servicio agrupado por IP | Para más información, revisar: "https://logentries.com/doc/search/":https://logentries.com/doc/search/ h3. Ejemplos de uso: En ofertas hacker lo usamos para saber cuales son las búsquedas por semana: jobs keywords | groupby(keywords) | count En reserbus, lo usamos para saber cuales son los tiempos de respuesta promedio por proveedor. request_time | groupby(provider) | average Como heroku usa logfmt, también lo usamos para saber que hizo un usuario paso por paso. fwd=66.249.67.17 h3. Recibe notificaciones usando logentries También puedes hacer que se dispare un correo o una notificación, cuando determinado evento suceda. Por ejemplo: En Reserbus, lo usamos para saber cuando las conexiones a la base de datos están llegando a su máximo. heroku-postgres active-connections>55