GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Monitoreo de servidores con Shinken en Ubuntu 16.04

Shinken es un marco de monitoreo de redes y computadoras de código abierto escrito en python y compatible con Nagios. Shinken se puede usar en todos los sistemas operativos que pueden ejecutar aplicaciones Python como Linux, Unix y Windows. Shinken fue escrito por Jean Gabes como prueba de concepto para una nueva arquitectura de Nagios, pero el autor de Nagios la rechazó y se convirtió en una herramienta independiente de monitoreo de redes y sistemas que sigue siendo compatible con Nagios.

En este tutorial, le mostraré cómo instalar Shinken desde la fuente y agregar un host Linux al sistema de monitoreo. Usaré Ubuntu 16.04 Xenial Xerus como sistema operativo para el servidor Shinken y el host monitoreado.

Paso 1:instalar el servidor Shinken

Shinken es un marco de Python, podemos instalarlo con pip o instalarlo desde la fuente. En este paso, instalaremos Shinken desde la fuente.

Hay algunas tareas que deben completarse antes de que comencemos a instalar Shinken.

Instale algunos paquetes nuevos de python y cree un usuario de Linux con el nombre "shinken":

sudo apt-get install python-setuptools python-pip python-pycurl
useradd -m -s /bin/bash shinken

Descarga el código fuente de Shinken desde el repositorio de GitHub:

git clone https://github.com/naparuba/shinken.git
cd shinken/

Luego instale Shinken con el siguiente comando:

git checkout 2.4.3
python setup.py install

A continuación, para obtener mejores resultados, debemos instalar 'python-cherrypy3' desde el repositorio de ubuntu:

sudo apt-get install python-cherrypy3

Ahora Shinken está instalado, luego agregamos Shinken para que comience en el momento del arranque y lo iniciamos:

update-rc.d shinken defaults
systemctl start shinken

Paso 2:instalar Shinken Webui2

Webui2 es la interfaz web de Shinken disponible en shinken.io. La forma más sencilla de instalar Sshinken webui2 es mediante shinken Comando CLI (que debe ejecutarse como usuario shinken).

Inicie sesión en el usuario shinken:

su - shinken

Inicialice el archivo de configuración de shinken:el comando creará una nueva configuración .shinken.ini:

shinken --init

E instale webui2 con este comando CLI shinken:

shinken install webui2

Webui2 está instalado, pero necesitamos instalar MongoDB y otro paquete de python con pip. Ejecute el siguiente comando como root:

sudo apt-get install mongodb
pip install pymongo>=3.0.3 requests arrow bottle==0.12.8

A continuación, vaya al directorio shinken y agregue el nuevo módulo webui2 editando el archivo 'broker-master.cfg':

cd /etc/shinken/brokers/
vim broker-master.cfg

Agregue una nueva opción dentro del módulo en la línea 40:

modules     webui2

Guarde el archivo y salga del editor.

Ahora vaya al directorio de contactos y edite el archivo 'admin.cfg' para la configuración del administrador.

cd /etc/shinken/contacts/
vim admin.cfg

Cambie los valores que se muestran a continuación:

contact_name    admin       # Username 'admin'
password        yourpass    # Pass 'mypass'

Guardar y salir.

Paso 3:instalar los complementos de Nagios y los paquetes Shinken

En este paso, instalaremos los complementos de Nagios y algún módulo de Perl. Luego instale paquetes shinken adicionales desde shinken.io para realizar el monitoreo.

Instale los complementos de Nagios y cpanminus, que se requieren para compilar e instalar los módulos de Perl:

sudo apt-get install nagios-plugins* cpanminus

Instale estos módulos de Perl con el comando cpanm:

cpanm Net::SNMP
cpanm Time::HiRes
cpanm DBI

Ahora cree un nuevo enlace para el archivo utils.pm para reducir el directorio y crear un nuevo directorio para Log_File_Health:

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

A continuación, instale los paquetes shinken ssh y linux-snmp para monitorear fuentes SSH y SNMP desde shinken.io:

su - shinken
shinken install ssh
shinken install linux-snmp

Paso 4:agregue un nuevo host Linux/host-one

Agregaremos un nuevo host Linux que será monitoreado usando un servidor Ubuntu 16.04 con dirección IP 192.168.1.121 y nombre de host 'host-one'.

Conéctese al host de Linux uno:

ssh [email protected]

Instale los paquetes snmp y snmpd desde el repositorio de Ubuntu:

sudo apt-get install snmp snmpd

A continuación, edite el archivo de configuración 'snmpd.conf' con vim:

vim /etc/snmp/snmpd.conf

Comenta la línea 15 y quita el comentario de la línea 17:

#agentAddress  udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161

Comente las líneas 51 y 53, luego agregue una nueva configuración de línea a continuación:

#rocommunity mypass  default    -V systemonly
#rocommunity6 mypass  default   -V systemonly

rocommunity mypass

Guardar y salir.

Ahora inicie el snmpd servicio con el comando systemctl:

systemctl start snmpd

Vaya al servidor shinken y defina el nuevo host creando un nuevo archivo en el directorio 'hosts'.

cd /etc/shinken/hosts/
vim host-one.cfg

Pegue la configuración a continuación:

define host{
        use                 generic-host,linux-snmp,ssh
        contact_groups      admins
        host_name           host-one
        address             192.168.1.121
        _SNMPCOMMUNITY      mypass        # SNMP Pass Config on snmpd.conf
    }

Guardar y salir.

Edite la configuración de SNMP en el servidor Shinken:

vim /etc/shinken/resource.d/snmp.cfg

Cambie 'public' a 'mypass':debe ser la misma contraseña que usó en el archivo de configuración de snmpd en el cliente host-one.

$SNMPCOMMUNITYREAD$=mypass

Guardar y salir.

Ahora reinicie ambos servidores:el servidor Shinken y el host Linux monitoreado:

reboot

El nuevo host de Linux se agregó con éxito al servidor Shinken.

Paso 5:acceda a Shinken Webui2

Visite Shinken webui2 en el puerto 7677 (reemplace la IP en la URL con su IP):

http://192.168.1.120:7767

Inicie sesión con el usuario admin y su contraseña (la que ha configurado en el archivo de configuración admin.cfg).

Panel Shinken en Webui2.

Nuestros 2 servidores están monitoreados con Shinken.

Enumere todos los servicios que son monitoreados con linux-snmp.

Estado de todos los hosts y servicios.

Paso 6 - Problemas comunes con Shinken

- Problemas con el servidor NTP

Cuando recibe este error con NTP.

TimeSync - CRITICAL ( NTP CRITICAL: No response from the NTP server)
TimeSync - CRITICAL ( NTP CRITICAL: Offset unknown )

Para resolver este problema, instale ntp en todos los hosts de Linux.

sudo apt-get install ntp ntpdate

Edite la configuración ntp:

vim /etc/ntp.conf

Comente todas las agrupaciones y reemplácelas con:

#pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst

pool 0.id.pool.ntp.org
pool 1.asia.pool.ntp.org
pool 0.asia.pool.ntp.org

A continuación, agregue una nueva línea dentro de la restricción:

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict 192.168.1.120 #shinken server IP address
restrict ::1

NOTA :192.168.1.120 es la dirección IP del servidor Shinken.

Guardar y salir.

Inicie ntp y verifique el tablero de Shinken:

ntpd

- Problema check_netint.pl no encontrado

Descargue la fuente del repositorio de github al directorio shinken lib:

cd /var/lib/shinken/libexec/
wget https://raw.githubusercontent.com/Sysnove/shinken-plugins/master/check_netint.pl
chmod +x check_netint.pl
chown shinken:shinken check_netint.pl

- Problema con el uso de la red

Hay un mensaje de error:

ERROR : Unknown interface eth\d+

Verifique su interfaz de red y edite la plantilla linux-snmp.

En mi servidor Ubuntu, la interfaz de red es 'enp0s8', no eth0, así que recibí este error.

Edite los paquetes de plantillas linux-snmp con vim:

vim /etc/shinken/packs/linux-snmp/templates.cfg

Agregue la interfaz de red a la línea 24:

_NET_IFACES         eth\d+|em\d+|enp0s8

Guardar y salir.

Referencias

  • http://shinken.readthedocs.io/en/latest/
  • http://www.roblayton.com/search/label/monitoring


Ubuntu
  1. Cómo instalar un servidor FTP en Ubuntu con vsftpd

  2. Instalar servidor SSH Ubuntu 22.04

  3. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 16.04

  4. Cómo instalar el servidor HTTP Git con Nginx en Ubuntu 20.04

  5. Instale phpMyAdmin en Ubuntu 20.04 con Nginx

Cómo instalar FileRun en Ubuntu 20.04 con Apache/Nginx

Instale NextCloud en Ubuntu 18.04 con Nginx (LEMP Stack)

Cómo instalar Plex Media Server en Ubuntu 16.04 Server/Desktop

Instalar Roundcube Webmail en Ubuntu 18.04 con Apache/Nginx

Cómo instalar Cacti Monitoring en Ubuntu 14.04

Cómo instalar el servidor de monitoreo Ganglia en Ubuntu 18.04