Thruk es una interfaz, frontEnd o shell web para servicios de monitorización como: Naemon, Nagios, Icinga and Shinken usando como interfaz o puente de comunicación una API conocida como LiveStatus creado por un Mathias Kettner.
Thruk es elegido por muchas SysAdmin y DevOps por sus ventajas optimizadas para varias tareas y también porque al cubrir varios servicios pueden tener todo en una sola interfaz.
* ademas de varias exportaciones de gráficos
https://www.thruk.org/documentation/introduction.html |
Preparación y consideraciones previas:
Para esta configuración se deben configurar la librería LiveStatus ya que la versión ofrecida en los repositorios no funciona, por lo que se requieren las librerías de compilación previamente descargadas.
SELinux policy
Puede ser un problema, se deben agregar los ajustes necesarios para
que acceda a los recursos, en esta ocasión para avanzar, lo vamos a
desactivar, el uso de la SELinux, lo trataremos en otro post.
setenforce
Permissive
verificar con:
sestatus
LiveStatus es diferente a check-MK* que está en el repositorio oficial se recomienda compilar mejor desde el código fuente.
LiveStatus usa el puerto 6567 via Xinetd, por lo que hay que instar xinetd, y configurar-lo apropiadamente.
LiveStatus usa el puerto 6567 via Xinetd, por lo que hay que instar xinetd, y configurar-lo apropiadamente.
Al momento de hacer pruebas se recomienda hacerlo en un servidor de pruebas, y por comodidad se apaga el firewall, en producción es indispensable agregar las reglas del firewall necesarias.
Instalación.
- Descargar los archivos desde el sitio oficial. Se pueden descargar usando el repositorio o descargando los RPM manualmente, sin agregar el repositorio.
Esto solo instala la interfaz web, y depende de apache, en este caso al ser Fedora o CENTOS de lightHTTP o de httpd, por que lo que las configuraciones básicas de toda aplicación web son validas y aplican, al ser una aplicación un poco "vieja" usa CGI.
- Instalar HTTPD
- Instalar los RPM descargados
- iniciar el servidor:
# systemctl httpd start
Hasta aqui todo lo que tenemos es el cascaron de thruk pero sin ningun host que supervisar.
- Se puede probar en http://localhost/thruk
- Instalar Nagios.
Dado que Thruk es solo un shell, necesita de un servicio de monitorización de los ya mencionados anteriormente, en este caso lo haremos con Nagios, pueden instalarlo en cualquier equipo, sea en el equipo actual o cualquier cliente.
Recuerde que Nagios o el servicio de Nagios es indispensable para - Probamos Nagios.
abrir en el navegador http://host_name/nagios
Debería cargar con el host por defecto y los servicios - Ahora Descargamos el midle-Man LiveStatus.
desde : https://mathias-kettner.de/download/# wget "https://mathias-kettner.de/download/mk-livestatus-1.5.0i2.tar.gz"
# tar xzfv "
mk-livestatus-1.5.0i2.tar.gz
" # cdmk-livestatus-1.5.0i2.tar.gz
- Configuracion, Compilación e instalación.
./configure
En esta etapa podrían hacer falta las librerías de compilación necesarias, sino las habéis instalado previamente, e incluso algunas como estas:dnf install rrdtool-devel
dnf install lstdc*
NOTA: otro detalle a tener en cuenta es que si estas usando la version 4.x de nagios entonces debes agregar un parámetro a la configuración../configure
--with-nagios4
compilar e Instalar# make # sudo make install
- Ahora agregamos la configuración en el archivo de configuración de Nagios.
/etc/nagios/nagios.cfg: *esto es un ejemplo, las rutas pueden cambiar
nano /
etc/nagios/nagios.cfgbroker_module=/usr/local/lib/mk-livestatus/livestatus.o /usr/local/nagios/var/rw/live event_broker_options=-1
Puntos a considerar en aquí:
El comando "broker_module", recibe 2 parámetros, el modulo, y el parámetro del módulo, en este caso la ruta donde fue instalador el modulo, y donde se creará el socket,
En fedora para encontrarlo se utilizo el comando find:# find / -name *livestatus*
Obviamente esta búsqueda retornará varias resultados, se elije sabiamente tomando como patron /lib/mk-livestatus
y el socket debe ser creado en una ruta que exista y que el usuario nagios tenga acceso, lo mas efectivo es /tmp, pero puede ser otra, puedes probar varias.
agregarlo al archivo de configuración.
nano /etc/nagios/nagios.cfg broker_module=/usr/local/lib/mk-livestatus/livestatus.o /tmp/live
reiniciar Nagios.
Si ocurrió algún error, aparecerá algo como esto:
Para saber que paso o cual puede ser la causa revisamos el log encat /var/log/nagios/nagios.log
Si el modulo no carga dirá que no se puede cargar, sino mostrara todo sin errores.
Otro error común es que no tiene acceso a la ruta para crear el Socket, entonces cambiarlo a una ruta que se tenga acceso. - Ahora probamos Xinetd
nano /etc/xinetd.d/livestatus
para configurar-lo se debe recordar que se utiliza el comando unixcat, y se debe colocar la ruta de este comando según la distribución, y se coloca la ruta donde se creó el socket de ejecución en el punto anterior.# cat /etc/xinetd.d/livestatus service livestatus { type = UNLISTED port = 6557 socket_type = stream protocol = tcp wait = no # limit to 100 connections per second. Disable 3 secs if above. cps = 100 3 instances = 500 per_source = 250 # Disable TCP delay, makes connection more responsive flags = NODELAY user = nagios server = /usr/local/bin/unixcat server_args = /tmp/live # configure the IP address(es) of your Nagios server here: #only_from = 127.0.0.1 10.0.20.1 10.0.20.2 192.168.0.42 disable = no }
Se reinicia el servicio:# service xinetd restart
y luego revisamos el log via journalistctl para confirmar que está bien.# journalctl -u xinetd
Si todo funcionó no mostrará errores, sino indicara donde está la falla. - Ahora procedemos a configuar un host en la interfaz de Thruk.
- entrar a la interfaz
- se accede con el usuario
- se procede a configurar el host: El host puede ser configurado via nombre o direccion IP, usando el puerto establecido en el xinetd si se usa "statuslive" tambien soporta protocolos http.
Al final la opción: Config Tool
agregando el host.
aquí se puede agregar cualquier host que tenga el servicio livestatus.
- FIN
Ahora solo repetir la configuración de los hosts, según lo requieran.
# dnf install nagios nagios-plug*
Espero que les sea útil.
BIBLIOGRAFIA
http://wiki.cayu.com.ar/doku.php?id=manuales:nagios:thruk
https://www.rootusers.com/monitoring-multiple-back-end-nagios-icinga-servers-with-thruk/
http://www.eldespistado.com/mk-livestatus-acceso-datos-nagios-unixcat-lql/#
https://mathias-kettner.de/checkmk_livestatus.html
https://www.thruk.org/
https://www.thruk.org/documentation/introduction.html
https://www.rootusers.com/monitoring-multiple-back-end-nagios-icinga-servers-with-thruk/
http://www.eldespistado.com/mk-livestatus-acceso-datos-nagios-unixcat-lql/#
https://mathias-kettner.de/checkmk_livestatus.html
https://www.thruk.org/
https://www.thruk.org/documentation/introduction.html
No hay comentarios:
Publicar un comentario