Dashboard Dashing en Icinga2

En el artículo de hoy vamos a seguir hablando de la plataforma de monitorización Icinga2, concretamente del tablero Dashing, que nos permitirá tener un tablero o dashboard, si utilizamos el termino anglosajón, con la información principal, que nosotros le indiquemos.

Sobre Icinga2 Dashing

Como hemos indicado se trata de un producto que nos brinda la posibilidad de tener un tablero, con toda la información, que nosotros le indiquemos, de los diferentes hots y plataformas que tengamos monitorizados. Todo ello basado en el framework Sinatra, que nos ofrece un bonito y moderno panel de control. Dicho módulo está escrito en Ruby, por lo que tendremos que tener habilitado dicho lenguaje en nuestro servidor.

Instalación y configuración del módulo

Antes de nada, tenemos que tener instalado Icinga2. El código del módulo está ubicado en GitHub y como no podía ser de otra manera está licenciado utilizando software libre. Primero de todo nos tenemos que descargar el proyecto a nuestro servidor, de la siguiente manera:

  1. cd /usr/share
  2. wget https://github.com/Icinga/dashing-icinga2/archive/master.zip
  3. unzip master.zip
  4. mv dashing-icinga2-master dashing-icinga2
  5. cd dashing-icinga

Ya hemos dicho que está escrito en ruby, por lo que tenemos que instalar los paquetes necesarios. En mi caso el servidor es un Centos 7, por lo que los pasos serían lo siguientes:

  1. yum makecache
  2. yum -y install epel-release 
  3. yum -y install rubygems rubygem-bundler ruby-devel openssl gcc-c++ make nodejs

Ahora procedemos a instalar «bundler», una gema que nos permite a partir de un fichero (gemfile), poder definir todas las gemas que vamos a utilizar en un proyecto y en caso de que no las tengamos instaladas, se instalarán automáticamente.

  1. gem install bundler
  2. #Instalamos las posibles dependencias utilizando bundler
  3. bundle

Continuemos, ahora debemos añadir un nuevo usuario de la API de Icinga2, editando el fichero /etc/icinga2/conf.d/api-users.conf, de la siguiente manera:

  1.   object ApiUser "dashing" { 
    
  2.         password = "icinga2ondashingr0xx" 
    
  3.         permissions = [ "status/query", "objects/query/*" ] 
    
  4. }

La contraseña es la que viene por defecto, así que es importante que la cambiemos por una nueva.

También editamos el fichero configuración json de dashing, ubicando en /usr/share/dashing-icinga2/config/, llamado icinga2.json, con el siguiente código:

  1. # vi /usr/share/dashing-icinga2/config/icinga2.json
  2. { 
  3.   "icinga2": { 
  4.     "api": { 
  5.       "host": "localhost", 
  6.       "port": 5665, 
  7.       "user": "dashing", 
  8.       "password": "icinga2ondashingr0xx" 
  9.     } 
  10.   } 
  11. }

Reiniciamos dashing:

  1. cd /usr/share/dashing-icinga2
  2. ./restart-dashing

Ya estamos acabando, por último debemos indicar la IP de nuestro servidor, donde tengamos instalado Icinga2, en el fichero /usr/share/dashing-icinga2/dashboards/icinga2.erb, así:

De esta manera ya podemos acceder al nuevo dashboard, escribiendo, en mi caso: http://192.168.0.23:8005/icinga2

Para que se vea alguna alarma, he parado el servicio sshd en los nodos que he utilizado para el artículo 🙂 El producto tiene mucha miga, así que os recomiendo visitar su página en GitHub.

Me servido para realizar el artículo de la documentación oficial, además de un artículo en la web «Diario de un Proyectante«

7 Respuestas

  1. David Romero dice:

    Gracias por el árticulo David. Me parece muy interesante, aunque siendo en ruby y tal, tengo dudas sobre si podré aplicarlo eficientemente en mis servicios de mis Raspberrys. Por cierto, qué diferencias remarcables añade este módulo respecto a la interfaz web por defecto de Icinga? Gracias!

    • Hola tocayo,

      Es más bien estético, además puedes mover los paneles a tu gusto, digamos que es más flexible que las vistas del propio Icingaweb2. Además es muy configurable.

      Saludos!

  2. David Hernandez Lujan dice:

    Bunas Tardes

    Hace falta tener instalado icinga o solo que el dashboard vladria

  3. rebecalbar dice:

    Buenas, estaba siguiendo el artículo y al llegar al bundle me da un error de que necesita ruby 2.3 .
    Una vez que lo instalo me da más errores al ejecutar el bundle cuando instala eventmachine.
    ¿Cuál podría ser el problema?
    Saludos.

    • Hola,

      El artículo ya tiene cierto tiempo ¿Qué sistema operativo estás utilizando?

      Saludos

      • rebecalbar dice:

        CentOS 7 precisamente, me decarga por defecto la versión 2.0 de Ruby, aunque yo luego descargué la que me pedía la 2.3.
        Luego al final de todo me daba error al arrancar el servicio de que un fichero no existe.
        Gracias por responder!

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.