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
2
3
4
5
cd /usr/share
wget https://github.com/Icinga/dashing-icinga2/archive/master.zip
unzip master.zip
mv dashing-icinga2-master dashing-icinga2
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
2
3
yum makecache
yum -y install epel-release 
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
2
3
gem install bundler
#Instalamos las posibles dependencias utilizando bundler
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
2
3
4
  object ApiUser "dashing" { 
        password = "icinga2ondashingr0xx" 
        permissions = [ "status/query", "objects/query/*" ] 
}

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

Reiniciamos dashing:

1
2
cd /usr/share/dashing-icinga2
./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

You may also like...

2 Responses

  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!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies