Graphite eta Grafana instalatzea Centreonen grafikak ikusteko

Dokumentu honetan liluratuko gara… batez ere grafigoen neurrien zale bazara eta horiek aprobetxatu nahi badituzu… Centreonen emaitzak Grafana daukien makinara esportatu ahal izango ditugu eta gure datuen bistaratzerako soluzio onena lortuko dugu… Sortuko ditugun dashboardak ikusgarriak izango dira, gure gustura pertsonalizatuko ditugu, Centreonen monitorizatutako elementu bakoitzeko metrikak edo tarteak konbinatuz. Eta gainera oso erraza!

 

Centreon (besteak beste) biltzen dituen datuak Denboraren Serieen Datu Base formatura esportatzea ahalbidetzen du (TSDB), horri esker, Graphite Datu Base batean gorde ahal izango ditugu eta Grafanarekin datu horiek dashboard ederretan aurkeztu. Grafana es una plataforma Open para crear nuestros propios cuadros de mando que permiten monitorizar nuestra infraestructura. En este documento, veremos cómo instalar Graphite y Grafana en una máquina con CentOS 7. Hori dela eta, nuestro Centreon o Nagios monitorizará nuestra plataforma como hasta ahora, pero además, redireccionaremos las métricas que monitoriza a una BD remota, y Grafana podrá leer dicha información y así nosotros crear los Dashboard que nos interese!

 

Ojo que este documento no tiene por que usarse sólo para Nagios o Centreon, si no que veremos en futuros documentos cómo leer información y tratarla de bases de datos de MySQL por ejemplo, ya veréis que interesante, veremos futuro mediciones de consumo electrico de casa o de la empresa, o cualquier cosa que se nos occurra, de verdad que es impresionante y sobre todo si luego esto lo ponemos en una pantalla en nuestro departamento. O en nuestros hogares con un espejo mágico tipo MagicMirror que ya os contaré, ya… e incluso me atreveré a poner fotos de lo que tengo montado en casa para que veais que impresionante es.

 

Instalación de Graphite,

La máquina Centreon en este ejemplo tiene la dirección IP 192.168.1.57 y el Centos donde instalaremos Graphite y Grafana será la 192.168.1.104. Comenzamos!!

 

Para instalar Graphite, utilizaremos el repositorio EPEL, si no lo tienes instalado, deberás hacerlo, e instalamos Graphite y los paquetes necesarios:

[sourcecode]yum install -y epel-release
yum install -y httpd graphite-web python-carbon perl[/sourcecode]

 

Inicializamos el interfaz de graphite y lo iniciamos ejecutando:

[sourcecode]/usr/bin/graphite-manage syncdb –noinput
/usr/bin/graphite-build-index
/usr/bin/chown -R apache:apache /var/lib/graphite-web
systemctl start carbon-cache[/sourcecode]

 

Editamos el fichero de bienvenida y lo comentamos todo con almohadillas (#).

[sourcecode]vim /etc/httpd/conf.d/welcome.conf[/sourcecode]

 

Modificamos el fichero '/etc/httpd/conf.d/graphite-web.conf’ para permitir acceso desde cualquier IP:

[sourcecode]##ServerName graphite-web
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Allow from all
</IfModule>[/sourcecode]

 

Y reiniciamos el servicio para recargar la configuración con:

[sourcecode]systemctl restart httpd[/sourcecode]

 

Además de añadir un par de reglas que van a permitir el acceso externo al puerto de Graphite y acceso web, reiniciamos el firewall para que recargue la configuración, horretarako:

[sourcecode]firewall-cmd –zone=public –permanent –add-service=http
firewall-cmd –zone=public –permanent –add-port=2003/tcp
firewall-cmd –reload[/sourcecode]

 

Ojo, zerbitzuak makinarekin CentOS aktibatzen hasten direla adierazi behar dugu, si? horretarako exekutatzen dugu:

[sourcecode]chkconfig httpd on
chkconfig grafana-server on
chkconfig carbon-cache on[/sourcecode]

 

Graphite ireki eta sarbidea dugun ikusteko eta agente lehenetsiak zer informazio duen ikusteko saiatu gaitezke, horretarako ez da errazagoa izango CentOSen IP helbidera nabigatzailea irekitzea baino, kasu honetan hain erraza http bezalakoa://192.168.1.104 eta ikusi zer datu ditugun…

 

Centreoneko output-a Graphite-era birbideratu,

Ondo, orain Centreoneko Broker-ak datuak Graphite-era idatz ditzan ere egingo dugu, horretarako, Centreon instalatuta dugun makinak ondorengo pausoak jarraitu beharko ditugu!

Broker-ean beharko dugun plugin-a instalatzen dugu:

[sourcecode]yum install -y centreon-broker-graphite[/sourcecode]

 

Y ya podremos abrir la configuración GUI de nuestro Centreon, vamos a “Konfigurazioa” > “Pollers” > “Broker configuration” > “central-broker-master” > Pestaña “Output” > En el combo del Output escojemos 'Graphite – Storage – Graphite’ > “Gehitu”, completamos los siguientes campos de la siguiente manera:

  • Izena: Graphite
  • DB host: 192.168.1.104 (dirección IP del Graphite)
  • DB port: 2003
  • DB user:
  • DB password:
  • Metric naming: centreon.metric.$HOST$.$SERVICE$.$METRIC$
  • Status naming: centreon.status.$HOST$.$SERVICE$

 

Con esto indicamos a donde exportará la información que recolecta nuestro Centreon y en qué formato lo mandará a nuestro Graphite (y luego lo veremos en Grafana).

 

Betiko moduan, recordar que tras cualquier cambio de configuración, debemos recargar la config en Centreon, horretarako, hori egingo dugu: “Konfigurazioa” > “Pollers” > “Konfigurazioaren esportazioa” > Marcamos “Generate Configuration files” & “Run monitoring engine debug” & “Move Export Files” & en Method seleccionamos “Reload”, pulsamos por fin en “Export” y esperamos…

Tras ello, os recomiendo reiniciar estos dos servicios de Centreon desde su shell, nos conectamos con un Putty o lo que queramos a la máquina Centreon y ejecutamos:

[sourcecode]service cbd restart
service centengine restart[/sourcecode]

 

Si queremos, podemos volver de nuevo a Graphite para ver cómo ya tenemos nuevas métricas que vienen de nuestro querido Centreonva bien la cosa, ez?

 

Instalación de Grafana

De vuelta a nuestra máquina con CentOS, vamos a seguir e instalar y configurar Grafana!

 

Lo primero será añadir un nuevo Repositorio a nuestra máquina, horretarako, creamos el fichero ‘/etc/yum.repos.d/grafana.repo’ con el siguiente contenido:

[sourcecode][grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt[/sourcecode]

 

Y procedemos a instalar Grafana e iniciar su servicio:

[sourcecode]yum install -y grafana
systemctl start grafana-server[/sourcecode]

 

Añadimos en el firewall de la propia máquina acceso al puerto 3000 para poder conectarnos a Grafana desde cualquier equipo & recargamos con:

[sourcecode]firewall-cmd –zone=public –permanent –add-port=3000/tcp
firewall-cmd –reload[/sourcecode]

 

eta prest!! Ya tenmos (i) Graphite instalado y configurado, (ii) nuestro Centreon que ya le manda los datos a esta máquina y (iii) un Grafana instalado que va a poder interpretar los datos obtenido y nos los mostrará en unos dashboards como decía aquel torero cantante… 'im-pre-zionante'!!!

 

Accediendo a Grafana y creado nuestro primer dashboard,

Podemos ya abrir un navegador contra la dirección IP de nuestra máquina con CentOS y conectarnos a grafana, en mi ejemplo será contra esta dirección: http://192.168.1.104:3000 y nos validamos con el usuario predetermined admin con contraseña 'admin'.

 

Lo primero de todo será configurar un origen de datos, edo, bestela, vamos a decirle que Grafana pueda leer los datos de la BD de Graphite, pulsamos primeramente en “Add data source”,

 

 

Y en este conector indicamos:

  • Izena: Centreon
  • Type: Graphite
  • Url: http://localhost

Y pulsamos sobre “Gehitu”, esandakoa, con esto haremos que Grafana pueda leer los datos de la máquina local, de Graphite. En otros documentos veremos cómo añadir otros origenes de datos para tratar y explotar otro tipo de información en Grafana.

 

Siguiendo con este asistente de introduccón, pulsaremos en “New dashboard” para crear nuestro primer Dashboard!

 

Y bueno sinceramente, usar Grafana es super super sencillo, podremos agregarle diferentes tipos de paneles en cada Dashboard, empezamos con el más típico, que no es más que el tipo 'Graph’ que como entenderemos son gráficas, pueden ser lineales, en columnas, estacado… todo eso lo irás descubriendo, es muy muy intuitivo!!!

 

Nos creará este primer panel que podremos redimensionar para que se vea más o menos grande, con doble click en el título lo podremos editar, sustatu “Editatu”,

 

Y como diria el gran Tamariz… Tiarararaaa!!!! oh magia!!! atentos….

Este Panel puede mostrar lo que queramos, tenemos varias pestañas (Orokorra, Metrika, Axes, Legend, Display…) que te animo a que vayas descubriendo o ten paciencia y en posts futuros te pondré ejemplos concretos. Pero vamos, en la pestaña 'Metrics’ podremos añadir las métricas que nos interesen ver, hagamos un ejemplo muy sencillo, añadimos que sea de tipo 'Centreon’ > 'metric’ > 'SERVIDOR’ > 'ITEM MONITORIZADO', y zas!!!! lo mostrará en la gráfica, ya podemos ver cualquier servidor o dispositivo que monitorizemos con Centreon aquí!! Nos sacará tanto su nombre cómo todos los servicios que monitorizamos desde Centreon!!! olé, olé y olé Rigodón!!!

 

Qué os parece? No me digáis que no podemos pensar qué visualizar y cómo, con unas gráficas impresionantes con Grafana?

Dedicandole un poco de tiempo podremos crearnos los dashboard con los paneles que nos interesen, cada Panel con sus métricas, las que sean, y veréis que se pueden personalizar a tope, para dejarlo como nos guste más… ir probando que en algún futuro documento volveremos a Grafana para ver más posibilidades!!!

 

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!