Cómo Instalar y Configurar la Herramienta de Monitorización Shinken en Ubuntu 18.04

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.

Empezamos

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

Instalando 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, enciende 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           [email protected]
    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
3 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.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.