Shinken es una herramienta de monitoreo de red y sistemas de código abierto escrita por Jean Gabes. Es compatible con Nagios y puedes usar la configuración y complementos de Nagios sin modificarlos.
Shinken viene con una gran cantidad de paquetes de monitoreo que lo hacen 5 veces más rápido que Nagios. Está especialmente diseñado para ejecutarse en todos los sistemas operativos donde se ejecuta Python. Con Shinken, puedes monitorear diferentes recursos de hosting como uso de disco, carga de procesador, registros y servicios de red como SMTP, POP3, NNTP, SNMP, FTP, SSH y muchos más.
Shinken viene con un amplio conjunto de características que incluyen equilibrio de carga, administración de sitios múltiples, plataformas múltiples, integración de virtualización y mucho más.
En este tutorial, te explicamos cómo instalar Shinken en Ubuntu 18.04 y agregar un host Linux al sistema de monitoreo.
Requisitos:
- Dos servidores cloud corriendo con Ubuntu 18.04.
- Una IP estática 192.168.0.2 configurada en el servidor Shinken server y otra IP estática 192.168.0.3 configurada en el cliente Shinken.
- Una contraseña de root configurada en ambos servidores.
Preparación servidor
Primero, es recomendable que actualices tu sistema con la última versión. Puedes hacerlo con el siguiente comando:
# apt-get update -y && apt-get upgrade -y
Después, necesitarás instalar algunas dependencias que requiere Shinken. Puedes instalarlas utilizando el siguiente comando:
# apt-get install python-pip python-pycurl python-cherrypy3 python-setuptools git -y
Una vez que todos los paquetes estén instalador, también necesitarás instalar MongoDB y otros paquetes de Python en tu servidor. Puedes instalarlo con el siguiente comando:
# apt-get install mongodb
# pip install pymongo>=3.0.3 requests arrow bottle==0.12.8
Instalación y configuración Shinken
Antes de instalar Shinken, necesitarás crear un usuario para Shinken. Puedes hacerlo con el siguiente comando:
# useradd -m -s /bin/bash shinken
A continuación, descarga la última versión de la fuente Shinken del repositorio de Git.
# git clone https://github.com/naparuba/shinken.git
Una vez descargada, cambie el directorio a shinken y revisa la última rama:
# cd shinken # git checkout 2.4.3
Finalmente, instala el servidor Shinken con el siguiente comando:
# python setup.py install
Una vez que el servidor Shinken ha sido instalado, deberías obtener el siguiente resultado:
Extracting Shinken-2.4.3-py2.7.egg to /usr/local/lib/python2.7/dist-packages
Adding Shinken 2.4.3 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/Shinken-2.4.3-py2.7.egg
Processing dependencies for Shinken==2.4.3
Finished processing dependencies for Shinken==2.4.3
Changing owner of /etc/shinken to shinken:shinken
Changing owner of /var/run/shinken to shinken:shinken
Changing owner of /var/log/shinken to shinken:shinken
Changing owner of /var/lib/shinken/ to shinken:shinken
Changing owner of /var/lib/shinken/libexec to shinken:shinken
Changing owner of /usr/bin/shinken-discovery to shinken:shinken
Changing owner of /usr/bin/shinken-poller to shinken:shinken
Changing owner of /usr/bin/shinken-broker to shinken:shinken
Changing owner of /usr/bin/shinken-receiver to shinken:shinken
Changing owner of /usr/bin/shinken-scheduler to shinken:shinken
Changing owner of /usr/bin/shinken to shinken:shinken
Changing owner of /usr/bin/shinken-reactionner to shinken:shinken
Changing owner of /usr/bin/shinken-arbiter to shinken:shinken
Shinken setup done
Después, arranca el servidor Shinken con el siguiente comando:
# /etc/init.d/shinken start
Deberías obtener el siguiente resultado:
Starting scheduler:
...done.
Starting poller:
...done.
Starting reactionner:
...done.
Starting broker:
...done.
Starting receiver:
...done.
Starting arbiter:
...done.
Ahora, verifica el servicio Shiken con el siguiente comando:
# /etc/init.d/shinken status
Deberías ver el siguiente resultado:
Checking status of scheduler
scheduler RUNNING (pid 18801)
...done.
Checking status of poller
poller RUNNING (pid 18839)
...done.
Checking status of reactionner
reactionner RUNNING (pid 18880)
...done.
Checking status of broker
broker RUNNING (pid 18922)
...done.
Checking status of receiver
receiver RUNNING (pid 18961)
...done.
Checking status of arbiter
arbiter RUNNING (pid 19007)
...done.
Instalación y Configuración de la Web UI de Shin and Configuring Shinken Web UI
Por defecto, Shinken no proporciona Interfaz Web, por lo que necesitarás instalar Webui2 en tu sevidor cloud.
Para instalar Shinken, entra en el usuario de Shinken con el siguiente comando:
# su - shinken
Ejecuta el siguiente comando para iniciar la configuración de Shinken:
shinken --init
Deberías obtener el siguiente resultado:
Creating ini section paths
Creating ini section shinken.io
Saving the new configuration file /home/shinken/.shinken.ini
A continuación, instala Shinken Webui2 como se muestra más abajo:
shinken install webui2
Una vez instalada, sal del usuario de Shinken y habilita el módulo webui2 en el archivo broker-master.cfg:
nano /etc/shinken/brokers/broker-master.cfg
Cambia la siguiente línea:
modules webui2
Guarda y cierra el archivo. Después, configura el nombre de usuario y contraseña del administrador webui2. Puedes hacerlo editando el archivo admin.cfg:
nano /etc/shinken/contacts/admin.cfg
Cambia el archivo como se muestra más abajo:
define contact{
use generic-contact
contact_name admin
email shinken@localhost
pager 0600000000 ; contact phone number
password your-admin-password
is_admin 1
expert 1
}
Guarda y cierra el archivo cuando hayas terminado.
Instalando los plugins de Nagios
A continuación, necesitarás instalar los plugins de Nagios y los módulos de Perl en tu servidor. Primero, instala los plugins de Nagios con el siguiente comando:
# apt-get install nagios-plugins* cpanminus -y
Después, instala los módulos de Perl con el siguiente comando:
# cpanm Net::SNMP # cpanm Time::HiRes # cpanm DBI
Después, crea un link simbólico para utils.pm y crea un directorio log con el siguiente comando:
# chmod u+s /usr/lib/nagios/plugins/check_icmp # ln -s /usr/lib/nagios/plugins/utils.pm /var/lib/shinken/libexec/ # mkdir -p /var/log/rhosts/ # touch /var/log/rhosts/remote-hosts.log
Después, entra en el usuario de Shinken e instala SSH y el módulo SNMP con el siguiente comando:
# su - shinken shinken install ssh shinken install linux-snmp
Una vez hecho esto, ya puedes proceder a configurar el cliente Shinken.
Instalación y Configuración del Cliente Shinken
El servidor Shinken ya está listo para la monitorización. Es hora de instalar y configurar el cliente Shinken para que sea monitoreado por el servidor Shinken.
Primero, entra en tu sistema de cliente Shinken e instala snmp y snmpd con el siguiente comando:
# apt-get install snmp snmpd -y
Una vez que ambos paquetes estén instalados, abre el archivo snmpd.conf y define la contraseña SNMP:
# nano /etc/snmp/snmpd.conf
Cambia las siguientes líneas:
#agentAddress udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161
#rocommunity mypass default -V systemonly
#rocommunity6 mypass default -V systemonly
rocommunity your-password
Guarda y cierra el archivo. Después, reinicia el servicio snmpd para aplicar los cambios:
# systemctl restart snmpd
Después. entra en tu servidor de sistemas Shinken y crea una nueva configuración para el cliente Shinken:
# nano /etc/shinken/hosts/client.cfg
Añade las siguientes líneas:
define host{
use generic-host,linux-snmp,ssh
contact_groups admins
host_name shinken-client
address 192.168.0.3 # Shinken Client IP address
_SNMPCOMMUNITY your-password # SNMP Pass Config on snmpd.conf
}
Guarda el archivo, después abre el archivo de configuración SNMP y define la contraseña SNMP que has especificado en el sistema de Cliente:
# nano /etc/shinken/resource.d/snmp.cfg
Haz los siguientes cambios:
# default snmp community
$SNMPCOMMUNITYREAD$=your-password
Guarda el archivo y reinicia el servicio Shinken para aplicar los cambios de configuración:
# /etc/init.d/shinken restart
Accesso a Shinken Webui2
El servidor Shinken está ahora corriendo en el puerto 7677. Abre tu navegador web y accede a Shinken Webui2 visitando la URL http://192.168.0.2:7767.
Serás redireccionado a la página de login de Shinken Webui2:
Proporciona tu nombre de usuario de administrador y tu contraseña. Después, haz clic en el botón “Login”. Deberías ver el panel de control de Shinken en la siguiente pantalla:
Ahora, haz clic en Sitema > Status en el panel de la izquierda. Deberías ver el estatus de los servicios Shinken en la siguiente pantalla:
Después, haz clic en Groups and tags > Hosts groups. Deberías ver la siguiente pantalla:
Ahora, haz clic en el botón “All hosts”. Deberías ver todos los hosts activos en la siguiente pantalla:
¡Enhorabuena! Has instalado con éxito Shinken con Ubuntu 18.04 en tu servidor cloud y has añadido los hosts para la monitorización. Ahora puedes añadir otros hosts fácilmente a tu servidor y empezar a monitorizar.