Cómo obtener datos de Graphite

Buenas,

Para el que no lo conozca, graphite es posiblemente la mejor herramienta de monitorización gráfica de logs en tiempo real que he conocido, es ágil, rápida, fácil de configurarar, lo tiene todo… ¿o no?

No, evidentemente no lo tiene todo, no es una herramienta de monitorización real ya que no dispara alarmas, no correla triggers, no es capaz de lanzar notificaciones… pues vaya desastre ¿no? No!, es muy buena para lo que está diseñada: “Herramienta de monitorización gráfica de logs en tiempo real”

Teneis toda la información sobre graphite aquí.

El caso que nos ocupa ahora es poder aprovechar la potencia y facilidad de graphite y mandar los datos a Zabbix donde ya tenemos las características propias de una herramienta de monitorización real.

Para ello vamos a usar un pequeño trick realmente fácil 😉

Cuando tenemos una gráfica de graphite que algún administrador/usuario, o nosotros mismos, se ha configurado pulsamos con el boton derecho del raton sobre ella y clickamos en  “copy image URL”.

Ahora probamos el trick, añadimos al final de la url esto :  “&format=csv” con eso descargaríamos un csv con todos los valores que componen la gráfica y ahora toca jugar con esos valores.

Creamos un pequeño script en shell que recoja los “N” valores que queramos usar para mandar a zabbix tal que así:

##Obtener datos de graphite

var1=`curl -k –silent “https://graphite-dash.c21/render?width=400&from=-8hours&until=-&height=250&target=alias(sumSeries(internet.num_session.*)%2C%22internet%22)&format=csv” | tail -2 | head -n1 | awk -F, ‘{print $3}’`

#Nos aseguramos que no recogemos un vacío y si es así lo rellenamos con “0”
for i in {1..3}
do
if [ -z “$var$i” ]; then
var$i=0
fi
done

#Borramos los retornos de carro y saltos de línea

var1=`printf “$var1” | sed ‘s/\r//g’`

#Mandamos los datos a Zabbix

/home/zabbix/zabbix-agentd/sbin/zabbix_sender -z 127.0.0.1 -s prodzabgraph01 -k sesiones.usadas -o $var1

Ahora ya podemos usar el dato de graphite en nuestro zabbix y correlarlo con otras métricas para generar triggers con más valor.

Espero que os guste!

Saludos!

Anuncios

2 thoughts on “Cómo obtener datos de Graphite

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s