Skip to main content

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

Monitoriza tus servidores desde un único sitio y haz tu vida como administrador de sistemas más sencilla

En el post de hoy vamos a hablar de una herramienta de monitorización de infraestructuras, muy útil para tener controladas muchas máquinas desde un sólo sitio. Para ello utilizaremos Icinga 2.

 

¿Qué es Icinga?

Icinga es un fork de Nagios creado en el año 2009. Es un sistema de monitorización de infraestructuras que añade más funcionalidades a Nagios, entre las que encontramos una interfaz más moderna y adaptada a los diferentes dispositivos. Incorpora conectores adicionales a bases de datos y otra mejora importante es una API REST para que los desarrolladores puedan crear nuevas extensiones.

Icinga está en su versión 2, está desarrollado en el lenguaje C y utiliza la licencia GNU GPL (software libre). Además un apartado importante es su compatibilidad con los plugins de Nagios.

 

Principales Características

Entre sus características, podemos destacar:

  • Monitorización de componentes de red (switches, routers, etc.)
  • Monitorización de servicios de red (SMTP, POP3, HTTP, ping, etc.)
  • Notificación a usuarios por correo electrónico
  • Nivel de alertas
  • Opción de utilizar la interfaz clásica o la actualizada

Además de estas, podemos ampliar las funcionalidades de icinga utilizando plugins propios o de nagios entre los que podemos destacar:

  • Gráficos de rendimiento (NagiosGrapher, PNP4Nagios, etc.)
  • Monitorización de procesos de negocio (NagVIS, Nagmap)
  • Monitorización de host Windows (NSClient++, Cygwin)
  • Herramientas de configuración e interfaz (Nconf, NagiosSQL)

 

Instalación de icinga 2 e icinga web 2

Para la instalación de icinga, nosotros hemos utilizado una distribución nueva de ubuntu 16.04, debido a esto, realizamos la instalación desde 0 de todas las herramientas necesarias para la ejecución correcta, como la instalación de apache, mysql, etc.

Antes de nada, actualizaremos nuestro sistema y lo reiniciaremos para dejarlo preparado

 

Instalación de Apache

Instalaremos apache mediante el siguiente comando

Con apache instalado y, pensando en la seguridad, vamos a realizar un par de pasos que no son obligatorios pero que son recomendables. 

Eliminaremos la página de bienvenida de Ubuntu por defecto para apache

También denegaremos el acceso al listado de ficheros y directorios para cualquier visitante

Ahora arrancaremos el servicio y lo guardaremos para que se ejecute en el arranque de nuestro sistema

 

Configurar el firewall UFW

Ufw (Uncomplicated Firewall) es un cortafuegos desarrollado por Ubuntu y de uso muy simple. Configuraremos iptables utilizando un pequeño número de comandos simples.

Por defecto, el cortafuegos está deshabilitado en Ubuntu 16.04. Vamos a lanzar los siguientes comandos para permitir el tráfico entrante ssh, http y https, y después activaremos el cortafuegos

 

Instalación de MariaDB

Para la instalación de mariadb utilizaremos el siguiente comando

Ahora arrancaremos el servicio de mysql y lo activaremos para su arranque con el sistema

Pensando de nuevo en la seguridad, aseguraremos nuestra instalación de mariaDB

Durante el proceso, responder a las preguntas como aparece a continuación, sustituyendo el password por el que ustedes elijan

Ahora modificaremos la autentificación de mysql del usuario root con la contraseña que establecimos anteriormente en mariadb

 

Instalación de PHP

Instalaremos php 7.0, composer y varias extensiones para icinga 2 e icinga web 2

Instalaremos composer

Ahora instalaremos el componente ZendFrameword DB utilizado por icinga

Después de todo esto, deberemos configurar la zona horaria adecuada para su máquina, lo que puede determinarse a partir de la página web oficial de PHP. Por ejemplo reside en California sería America/California

Para ellos editaremos el fichero php.ini

Buscaremos la siguiente línea

Y la modificaremos así

Guardaremos el fichero

Y reiniciaremos el servicio de apache

 

Instalación de Icinga 2

Obtendremos una clave, añadiremos el repositorio y actualizaremos nuestro servidor

Ahora instalaremos icinga y los plugins que vamos a necesitar en este momento

Iniciaremos el servicio de Icinga y lo añadiremos al arranque del sistema

 

Ahora vamos a pasar a la instalación de los diferentes plugins que utilizaremos. Antes de nada al igual que en otras herramientas, podemos ver una ayuda de los comandos disponibles con

En este caso, para poder ver los plugins instalados y activados lanzaremos el siguiente comando

Por defecto, estarán activador los módulos checker, mainlog y notification.

Instalaremos ahora el módulo de mysql para icinga

Durante el proceso de instalación, cuando nos pregunte si queremos activar la característica por defecto, seleccionaremos “no”. La activaremos después manualmente.

En el momento en que nos pregunte si queremos que nos configure nuestra base de datos le decimos también que no.

Accederemos a mysql y crearemos nuestra base de datos y usuario.

 

Importaremos el esquema del módulo instalado anteriormente

Editaremos el archivo de configuración para incluir nuestros datos de acceso

Buscaremos las siguientes líneas

Y modificaremos los datos correspondientes a nuestra configuración.

Por último, activaremos el módulo y reiniciaremos el servicio

 

Instalación de Icinga Web 2

Para la instalación de la aplicación web deberemos realizar una serie de pasos previos. Primero activaremos el módulo command

 

Ahora crearemos el grupo icingacmd e incluiremos al usuario www-data en este grupo

Podemos comprobarlo de la siguiente forma

Ahora sí, instalaremos los paquetes de Icinga Web 2

Crearemos nuestro virtualhost en apache y reiniciaremos el servicio

Ya sólo nos quedan un par de pasos para terminar, tendremos que crear una nueva base de datos e importar el esquema de icinga a la misma.

Ya lo tendríamos todo listo. Nos faltaría generar un toquen que nos solicitará antes de empezar la instalación. Lo generamos con el siguiente comando

Accederemos ahora a través de la siguiente url

Y nos abrirá la siguiente página

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

Ingresaremos el token generado anteriormente y pulsaremos el botón Next.

En la siguiente página nos preguntará que queremos instalar, por defecto, sólo instalaremos la monitorización.

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

En la siguiente pestaña nos mostrará los componentes necesarios, si hemos seguido todos los pasos deberían salir todos en verde, pulsaremos next en tal caso. Si no tendremos que instalar o realizar los cambios oportunos.

Continuando en la siguiente pantalla

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

Rellenaremos los datos de nuestro servidor y base de datos. Pinchando en el botón “Validate Configuration” comprobaremos si los datos son correctos, en tal caso pinchamos next.

 

Continuaremos con la actualización de backend, en nuestro caso sería icingaweb2.

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

Después añadiremos los datos de acceso de nuestro usuario administrador, en nuestro caso icingaweb2admin e icingaweb2pass

En la siguiente pantalla aplicaremos la configuración de nuestra aplicación, aplicaremos los cambios tal y como aparece en la siguiente imagen

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

Seguiremos avanzando entre las diferentes ventanas hasta llegar a la sección “Monitoring Backend”, en esta sección el nombre en nuestro caso sería “icinga” y el tipo IDO.

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

Después configuraremos de nuevo los datos de nuestro entorno

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

Continuaremos a la ventana Command Transport, el nombre utilizado será icinga2, el tipo “Local Command File” y el archivo sería /var/run/icinga2/cmd/icinga2.cmd

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

En la siguiente ventana, “Monitoring Security”, dejamos los valores por defecto *pw*,*pass*,comunity

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

Continuaremos confirmando los pasos siguientes y ya tendríamos instalado nuestra herramienta.

Para loguearnos accedemos a http://localhost/icingaweb2/authentication/login

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

Y en una primera instancia ya podemos ver nuestro sistema en local

Instalación de Icinga 2 e Icinga web 2 en Ubuntu

 

Ya lo tenemos todo por ahora. En un próximo post y por no hacer excesivamente largo este, explicaremos como definir un nuevo host y monitorizar sus servicios.

Nos vemos en el siguiente post. Cualquier duda u opinión como siempre en los comentarios.

One thought on “Instalación de Icinga 2 e Icinga web 2 en Ubuntu

  1. super excelente guia
    al pie de la letra trabaja muy bien
    Nota: al momento de cargar el esquema de la base de datos de icicngaweb2, el archivo se encuentra en: /usr/share/icingaweb2/etc/schema/mysql.schema.sql
    en la uitime versin de icicngaweb2
    felicitaciones

Deja un comentario

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