Implementación de marcadores de liberación en grafito
Por Allen Fung, Senior Software Engineer
A las ShareThis, usamos grafito para la monitorización de aplicaciones. Aquí hay un gráfico típico de grafito.
Esto muestra los "eventos por minuto" que una aplicación ha consumido con el tiempo. Como pueden ver, no se consumieron registros durante unas horas el lunes por la tarde. Mediante la combinación de marcadores de liberación con el gráfico anterior, podemos ver que el consumo se detuvo debido a una mala liberación. Así es como se ve esto.
Al implementar el marcador de liberación, encontramos que el nombre del marcador no puede ser ningún valor arbitrario. En su lugar, necesita ser sufijo con ". Count". Esto se debe a que el xFilesFactor para ". Count $" se establece en cero de forma predeterminada, pero no para otros patrones. Si una métrica tiene un xFilesFactor que no es cero, sus valores sólo se garantizan para ser visibles durante las últimas 24 horas. El xFilesFactor se puede configurar en el siguiente archivo.
/opt/Graphite/conf/Storage-Aggregation.conf.
Aquí está el comando real que usamos en la implementación automática para generar el marcador de liberación.
echo release_marker. $Application. $host. Count 1 ' Date +% s ' | NC-w 2 grafito. OPS. ShareThis. com 2003
El comando anterior establece el valor de la métrica en el número uno a la hora especificada. Si intentamos simplemente Mostrar la métrica, no veremos nada, porque sus valores son demasiado pequeños. Para hacer visible la métrica, necesitamos pasarla a la función drawAsInfinite. Esto hará que cada punto de datos distinto de cero de la métrica se muestre como una línea vertical.