Ir al contenido principal

Instalar Icinga2 en debian Wheezy con BD Postgres

A continuación les dejo una guía rápida para la instalación de Icinga2 en debian wheezy,  cuando tenga que hacerlo en jessie actualizo el manual.

Lo primero que debes tener en cuenta es que en la pagina de Icinga tienes bastante documentación sobre como hacer esto mismo, de hecho este manual esta basado en lo que allí aparece. Otro detalle es que parto de la idea que ya tienes configurado Apache2 y Postgres

Comencemos por agregar los repositorios necesarios.

Debian Monitoring Project

~# echo "deb http://debmon.org/debmon debmon-wheezy main" > /etc/apt/sources.list.d/wheezy-debmon.list
~# wget -O - http://debmon.org/debmon/repo.key 2>/dev/null | apt-key add - OK

Según lo referido en esta pagina es posible que existan problemas de dependencias con icinga2 así que es recomendable agregar también el repositorio backports

Debian Backports

~# echo "deb http://http.debian.net/debian wheezy-backports main" > /etc/apt/sources.list.d/wheezy-backports.list

Recuerda que para instalar un paquete de backports debes hacerlo así:

apt-get -t wheezy-backports install "package"

Finalmente actualizamos la panquería

~# apt-get update

Ahora si procedemos con la instalación.

~# apt-get install icinga2 nagios-plugins

Instalamos la interfaz web

~# apt-get install icingaweb2

Instalamos la interfaz web (icingaweb2)

Debemos definir con que base de datos vamos a trabajar (mysql o postgres), en este caso opte por postgres que ya estaba instalada en el servidor. Si no tienes ninguna instalada es conveniente que lo hagas antes de este paso.

~# apt-get install icinga2-ido-pgsql

En la pantalla donde se pregunta si queremos configurar la base de datos automáticamente decimos que no (2 veces)


Luego en consola hacemos lo siguiente:

Crear el usuario dueño del BD
~# sudo -u postgres createuser icinga2 -P

Se nos solicitara la clave para el usuario y luego decimos que no a todas las preguntas

Crear la BD
~# sudo -u postgres createdb -O icinga2 -E UTF8 icinga2

Editamos el archivo /etc/postgresql/9.1/main/pg_hba.conf y agregamos lo siguiente:

# Database administrative login by Unix domain socket
local   all             postgres                                peer
local   icinga2         icinga2                            md5
local   icinga2         icingaweb2                      md5

Reiniciamos a hacemos un reload de postgres para que tome los cambios

~# service postgresql restart

Ahora cargamos el contenido de la BD

~# export PGPASSWORD=<la clave que colocaste anteriormente>
~# psql -U icinga2 -d icinga2 < /usr/share/icinga2-ido-pgsql/schema/pgsql.sql

Una vez que se crearon todas las tablas, debemos configurar  el modulo

~# vi /etc/icinga2//features-available/ido-pgsql.conf

Debe quedar más o menos así:
object IdoPgsqlConnection "ido-pgsql" {
  user = "icinga2",
  password = "<clave>",
  host = "localhost",
  database = "icinga2"
}
Luego lo habilitamos y reiniciamos icinga2

~# icinga2 feature enable ido-pgsql
~# service icinga2 restar

Permitimos el uso comandos externos (usado por icingaweb2 y otras herramientas)

~# icinga2 feature enable command
~# usermod -a -G nagios www-data
~# service icinga2 restart

Con esto ya tenemos funcionando icinga2


Instalando icingaweb2


~# apt-get install icingaweb2
~# addgroup --system icingaweb2
~# sudo -u postgres createdb -O icinga2 -E UTF8 icingaweb2

Finalmente podemos acceder a la interfaz web y terminar con la configuración, pero antes necesitamos generar un token y reicniciar apache

~# icingacli setup token create
~# service apache2 restart

Puedes acceder al icinga desde la URL del servidor /icingaweb2  Ej. http://servidorip/icingaweb2

Configuración

En la primera pantalla introducimos el token que generamos anteriormente, avanzamos y se verificara que todos los módulos de PHP estén instalado, si falta alguno instalarlo y luego seguir.

En la próxima pantalla se colocan los datos de la base de datos del icingaweb2

 Las siguientes se mantienen con la opción colocada por omisión, luego tendremos que configurar el monitor. Coloco la captura de las pantallas mas importantes





Si tienen alguna duda o necesitan que aclare algo hagan sus preguntas. Luego coloco algo de información sobre como configurar los diferentes servicios.

Comentarios

Entradas más populares de este blog

Recuperar GRUB 2 EFI utilzando rEFInd

Recientemente tuve un problema con un laptop dual-boot (widows/linux) al actualizar el Windosw 8.1 a 10. 
En una de las tantas reiniciadas de windows me quede sin el gestor de arranque grub, por lo que les explico como hice para recuperarlo, finalizar la actualización y dejar intacto mi querido debian.
Se que se puede recuperar el grub con una distro live y seguir algunos pasos, pero como comente la actualización a windows 10 aun no terminaba así que no quería tener que hacer esto a cada rato por lo que me decidí a probar rEFInd.

Lo primero es decidir que imagen utilizar, yo tenia a disposición un viejo USB de 512M así que baje la imagen A USB flash drive image file (les recomiendo revisar la web por si existe una nueva versión)

Una vez descargado el archivo podemos copiarlo al USB, para lo que utilizaremos el comando dd. Esto borrara toda la información que tenían en el mismo. root@lenovoG480 #~ dd if=refind-flashdrive-0.9.0.img of=/dev/sdg1

13696+0 registros leídos
13696+0 reg…

Configurar el DDNS de HE

Si necesitas utilizar un servicio de DNS dinamico gratuito y te aburriste de noip o similares, el servicio ofrecido Hurrican Electrics (HE) es una buena alternativa (https://dns.he.net).

Una vez que te registras y creas tu dominio, debes agregar el registro tipo A o AAAA (si funciona para IPv6) para tu servidor

Acá unas capturas del proceso








 Con esto tenemos listo el registro dinamico para que sea actualizado desde nuestro equipo, existen varias formas para esto como se puede ver en la pagina de HE, pero lo mas sencillo es con un cliente como ddclient

En debian, es tan fácil como:

aptitude install ddclient ó apt-get install ddclient

luego editamos el archivo /etc/ddclient.conf y debe quedar así

Es la configuración a usar si tu ip dinamica es publica de lo contrario utiliza la del ejemplo de windows

# Hurricane Electric
# dyn.dns.he.net
protocol=dyndns2    # default
use=if                          # use the eithernet card (to get the current IP)
if=eth0                         # use certa…

Como monitorear servidores remotos con Icinga2

Continuando con la publicación anterior instalar cinga2 en debian wheezy ahora les indico como monitorear nuestros servidores remotos utilizando el nuevo método desarrollado por Icinga el cual supone mejoras de seguridad frene a NRPE, aunque este último aun se puede utilizar.
Lo primero es utilizar el asistente para crear los certificados. Ten en cuenta que debes contestar que no (n)  a la primera pregunta puesto que estamos configurando el nodo central.
root@master ~# icinga2 node wizard
Welcome to the Icinga 2 Setup
Wizard!

We'll guide you through all required configuration details.
Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: n
Ya creado el certificado del master podemos crear las claves para realizar la conexión de los satelites ó nodos a monitorear, el primero en este caso es otro servidor debian wheezy (satelite1.localdomain) y el segundo será un servidor Windows Server 2008 R2 (satelite2.localdomain). Creo que es obvio que debe…