+ All Categories
Home > Documents > DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización,...

DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización,...

Date post: 21-Jan-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
80
MONITORIZACIÓN DE SERVICIOS CON CHECK_MK Marina Nievas Rodríguez Proyecto ASIR
Transcript
Page 1: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

MONITORIZACIÓNDE

SERVICIOSCON

CHECK_MK

Marina Nievas Rodríguez Proyecto ASIR

Page 2: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

ÍNDICE1. INTRODUCCIÓN............................................................................................................................4

2. OBJETIVOS.....................................................................................................................................5

3. ESCENARIO....................................................................................................................................6

3.1 SERVIDOR CHECK_MK.........................................................................................................63.2 DEBIAN....................................................................................................................................63.3 CLIENTE WINDOWS..............................................................................................................63.4 UBUNTU...................................................................................................................................63.5 CENTOS....................................................................................................................................6

4. INSTALACIÓN Y CONFIGURACIÓN DE LOS SERVICIOS A MONITORIZAR.....................7

4.1 INSTALACIÓN Y CONFIGURACIÓN SERVIDOR LDAP...................................................74.2 INSTALACIÓN Y CONFIGURACIÓN SERVIDOR WEB...................................................144.3 INSTALACIÓN Y CONFIGURACIÓN BASE DE DATOS MYSQL...................................16

5. INSTALACIÓN SERVIDOR CHECK_MK..................................................................................19

5.1 INSTALACIÓN NAGIOS.......................................................................................................195.2 CONFIGURACIÓN NAGIOS................................................................................................215.3 INSTALAR CHECK_MK.......................................................................................................24

5.3.1 MODO 1:.........................................................................................................................245.3.2 MODO 2:.........................................................................................................................26

5.4 SOLUCIONES DE ERRORES...............................................................................................27

5.4.1 Error 1 (No encuentra el fichero o el drectorio al iniciar el servicio de Nagios) :...........275.4.2 Error 2 (No encuentra el fichero o directorio al ejecutar el script):.................................28

6. MONITORIZACIÓN DESDE CHECK_MK................................................................................29

6.1 MONITORIZACIÓN DEBIAN..............................................................................................296.2 MONITORIZACIÓN WINDOWS..........................................................................................366.3 MONITORIZACIÓN UBUNTU.............................................................................................406.4 MONITORIZACIÓN CENTOS..............................................................................................42

7. MONITORIZACIÓN DE SERVICIOS ESPECÍFICOS................................................................44

7.1 SERVICIO MYSQL................................................................................................................447.2 SERVICIO HTTP....................................................................................................................477.3 SERVICIO LDAP....................................................................................................................59

8. CREACIÓN DE USUARIOS........................................................................................................51

8.1 CREAR USUARIO LOCAL...................................................................................................51

2

Page 3: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

8.1 USUARIOS LDAP..................................................................................................................53

9. ICONOS.........................................................................................................................................58

10. NOTIFICACIONES.....................................................................................................................60

10.1 ALERTAS SONORAS...........................................................................................................6010.2 ALERTAS EMAIL.................................................................................................................60

11. INVENTARIOS............................................................................................................................65

12. BACKUP & RESTORE...............................................................................................................70

13. PROTOCOLOS CHECK_MK.....................................................................................................72

13.1 SNMP.....................................................................................................................................7213.2 TCP port 6556........................................................................................................................7313.3 SSH y HTTP...........................................................................................................................7313.3 CHEQUEOS ACTIVOS........................................................................................................73

14. SERVICIOS Y HOSTS.................................................................................................................74

15. COMANDOS...............................................................................................................................76

16. TOPOLOGÍA DE LA RED..........................................................................................................77

17. CONCLUSIONES........................................................................................................................78

18. BIBLIOGRAFÍA..........................................................................................................................79

19. ANEXOS......................................................................................................................................80

3

Page 4: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

1. INTRODUCCIÓN

Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en redque sean accesibles con una dirección IP..

Nagios es capaz de:

- Supervisar diferentes servicios en un servidor, como SMTP, HTTP, POP, entre una lista infinita deservicios.- Supervisar los recursos del servidor como CPU, Memoria, Swap, …- Mantener un grupo de contactos.

Check_MK es un paquete de software que envuelve Nagios, ya que incluye muchas utilidades paracomplementarlo y potenciarlo. Algunas de las funcionalidades de este software son las siguientes:

- Interfaz web Multisite, ya que se puede controlar varias instalaciones de Nagios desde él, ademásincorpora barra de navegación, vistas personalizables, agrupaciones, filtros, …

- MK Live Status, hasta la aparición de Live Status la forma habitual de acceder al estado de losobjetos de Nagios era a través del fichero status.dat, o bien a través de una base de datos que recibíaperiódicamente dichos datos utilizando un módulo intermedio. Live Status crea un socket a travésdel cual se pueden obtener los datos a tiempo real, rápido, sencillo, funcional, no consume apenasrecursos y se pueden realizar consultas con un lenguaje propio parecido a SQL.

- Configuración y motor de chequeos, utiliza su propia sintaxis de creación de objetos de Nagios,permite configurar los objetos de una forma más funcional y más potente. La definición de objetosse hace con la sintaxis de mk pero luego utiliza los ficheros con el formato estándar de nagios,aunque tiene un condicionante, se debe utilizar el cliente que nos proporciona para los equipos achequear, si no lo usáramos, perdería sentido. Este cliente se instala n los servidores a chequear ydesdde el servidor Nagios con las herramientas de Check_MK se puede detectar e inventariar deforma automática una serie de chequeos.

- WATO, Web Administrator tool, es decir, nos permite realizar pequeñas modficaciones sobreobjetos, suficiente para que alguien que no sea experto en configurar los servicios pueda realizarpequeños cambios.

- Business Intelligence, este módulo nos permite agregar chequeos y relacionarlos con los objetospara la lógica de negocio.

- Event Console, es una aplicación que permite recibir mensajes de syslog, demonio snmp y otrasaplicaciones, procesarlas mediante reglas predefinidas, clasificarlas, correlacionar eventos,reescribirlas, ejecutar acciones y crear nuevos eventos que muestren un estado en la consola.

4

Page 5: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

2. OBJETIVOS

El objetivo principal de este proyecto es mostrar las ventajas de utilizar Check_MK, ya que es unainterfaz tan intuitiva que cualquier usuario podría monitorizar los servicios y objetos más básicos.Para ello se plasmará la instalación y la configuración de check_mk para que sirva de guía en laimplementación de este software.

Otros objetivos que se quiere llevar a cabo con la realización del proyecto son:

- Facilidad y mejor interpretación de la monitorización gracias a las interfaz más intuitiva queofrece.

- Mayor control sobre los servicios y nodos monitorizados.

- Conocer el lenguaje LQL, el lenguaje propio que utiliza MK Livestatus, es similar a SQL, peroorientado a consultar tablas de objetos de Nagios.

- Control de los servicios tanto en plataformas GNU/Linux como en Windows.

5

Page 6: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

3. ESCENARIO

El escenario se compone de cinco máquinas virtuales utilizando VirtualBox, una actuará de servidory las otras cuatro serán los hosts que se monitorizarán:

3.1 SERVIDOR CHECK_MK

Máquina virtual con Debian 8.7.IP: 192.168.15.105IP interna: 192.168.1.101Instalación de Nagios 4.3.1 y Check_MK 1.2.8p21.

3.2 DEBIAN

Máquina virtual con Debian 8.7.Instalación y configuración del servidor ldap.

3.3 CLIENTE WINDOWS

Máquina virtual con Windows Server 2012.IP: 192.168.15.110IP interna: 192.168.1.105

3.4 UBUNTU

Máquina virtual con Ubuntu 16.04.2.IP: 192.168.15.112IP interna: 192.168.1.104Instalación y configuración del servidor web.

3.5 CENTOS

Máquina virtual con Centos 7.IP: 192.168.15.103IP interna: 192.168.1.103Instalación y configuraciñon de la base de datos de MySQL.

6

Page 7: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

4. INSTALACIÓN Y CONFIGURACIÓN DE LOS SERVICIOS A MONITORIZAR

4.1 INSTALACIÓN Y CONFIGURACIÓN SERVIDOR LDAP.

1º Instalar el paquete de ldap, durante la instalación pedirá una contraseña para el administrador deldap.

root@debian:/home/marina# apt-get install slapd

2º Configurar el servidor ejecutando la siguiente línea

root@debian:/home/marina# dpkg-reconfigure -plow slapd

7

Page 8: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

8

Page 9: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

3º Una vez configurado el servidor, instalamos el siguiente paquete de herramientas para ldap.

root@debian:/home/marina# apt-get install ldap-utils

4º Editar el fichero de configuración de ldap y cambiar los datos que vienen por defecto para dejarlode la siguiente forma:

root@debian:/home/marina# nano /etc/ldap/ldap.conf

## LDAP Defaults#

# See ldap.conf(5) for details# This file should be world readable but not world writable.

BASE dc=nievas,dc=localURI ldap://192.168.1.102

#SIZELIMIT 12#TIMELIMIT 15#DEREF never

# TLS certificates (needed for GnuTLS)#TLS_CACERT /etc/ssl/certs/ca-certificates.crt

5º Para comprobar que funciona ldap ejecutar slapcat.

root@debian:/home/marina# slapcat

dn: dc=nievas,dc=localobjectClass: topobjectClass: dcObjectobjectClass: organizationo: mi arboldc: nievasstructuralObjectClass: organizationentryUUID: 8c5d10f6-d71a-1036-955d-47888b2d7acfcreatorsName: cn=admin,dc=nievas,dc=localcreateTimestamp: 20170527112244ZentryCSN: 20170527112244.140572Z#000000#000#000000modifiersName: cn=admin,dc=nievas,dc=localmodifyTimestamp: 20170527112244Z

dn: cn=admin,dc=nievas,dc=localobjectClass: simpleSecurityObjectobjectClass: organizationalRolecn: admindescription: LDAP administratoruserPassword:: e1NTSEF9UUdER0RmU0Z1MEd2NHNRMjlDNy9FUXRHNjBQcG9Sek4=

9

Page 10: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

structuralObjectClass: organizationalRoleentryUUID: 8c5da5f2-d71a-1036-955e-47888b2d7acfcreatorsName: cn=admin,dc=nievas,dc=localcreateTimestamp: 20170527112244ZentryCSN: 20170527112244.144445Z#000000#000#000000modifiersName: cn=admin,dc=nievas,dc=localmodifyTimestamp: 20170527112244Z

6º Con el siguiente comando convierte la contraseña desde texto plano a MD5.

root@debian:/home/marina# slappasswd -h {MD5}New password: Re-enter new password: {MD5}+AMtXK494g/OyIfzleyaag==

7º Crear la base de ldap, y en el usuario escribir la contraseña que se ha generado anteriormente.

root@debian:/home/marina# nano base.ldif

dn: ou=People,dc=nievas,dc=localou: PeopleobjectClass: topobjectClass: organizationalUnit

dn: ou=Group,dc=nievas,dc=localou: GroupobjectClass: topobjectClass: organizationalUnit

dn: cn=grupo1,ou=Group,dc=nievas,dc=localobjectClass: posixGroupobjectClass: topcn: grupo1gidNumber: 2000

dn: uid=usuario,ou=People,dc=nievas,dc=localuid: usuariocn: UsuarioobjectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountuserPassword: {MD5}+AMtXK494g/OyIfzleyaag==loginShell: /bin/bashuidNumber: 2000gidNumber: 2000homeDirectory:/home/usuario

10

Page 11: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

8º Introducir el fichero a la estructura de ldap con el siguiente comando, el cual, nos pedirá la contrasela del administrador de ldap.

root@debian:/home/marina# ldapadd -x -D cn=admin,dc=nievas,dc=local -W -f base.ldifEnter LDAP Password: adding new entry "ou=People,dc=nievas,dc=local"

adding new entry "ou=Group,dc=nievas,dc=local"

adding new entry "cn=grupo1,ou=Group,dc=nievas,dc=local"

adding new entry "uid=usuario,ou=People,dc=nievas,dc=local"

9º Por último instalar el siguiente paquete para que tanto el servidor como los clientes reconozcan los UIDs y GIDs de los usuarios de ldap. Por lo tanto se instalará en el servidor Check_MK para que reonozca los usuarios de ldap.

root@debian:/home/marina# apt-get install libnss-ldapd

11

Page 12: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

10º Comprobar en el servidor Check_MK que reconoce los UIDs después de haber instalado el paquete libnss-ldapd.

root@debian:/home/marina# getent passwd usuariousuario:x:2000:2000:Usuario:/home/usuario:/bin/bash

11º Una vez comprobado crear más usuarios en el servidor ldap, primero generar las contraseñas y después escribir el fichero de usuarios que se introducirá en la estructura de ldap.

root@debian:/home/marina# slappasswd -h {MD5}New password: Re-enter new password: {MD5}zr3XFdTsqv7o8UfC6F4HVA==

12

Page 13: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

root@debian:/home/marina# slappasswd -h {MD5}New password: Re-enter new password: {MD5}km4n7s28ehiFizeYupm93Q==

root@debian:/home/marina# nano usuarios.ldif

dn: uid=fernando,ou=People,dc=nievas,dc=localuid: fernandocn: UsuarioobjectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountuserPassword: {MD5}zr3XFdTsqv7o8UfC6F4HVA==loginShell: /bin/bashuidNumber: 2000gidNumber: 2000homeDirectory:/home/fernando

dn: uid=pepe,ou=People,dc=nievas,dc=localuid: pepecn: UsuarioobjectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountuserPassword: {MD5}km4n7s28ehiFizeYupm93Q==loginShell: /bin/bashuidNumber: 2000gidNumber: 2000homeDirectory:/home/pepe

12º Introducir el fichero de los usuarios en la estructura de ldap.

root@debian:/home/marina# ldapadd -x -D cn=admin,dc=nievas,dc=local -W -f usuarios.ldif Enter LDAP Password: adding new entry "uid=fernando,ou=People,dc=nievas,dc=local"

adding new entry "uid=pepe,ou=People,dc=nievas,dc=local"

13º Comprobar en el servidor Check_MK que reconoce el UIDs de los nuevos usuarios.

root@debian:/home/marina# getent passwd pepepepe:x:2000:2000:Usuario:/home/pepe:/bin/bash

13

Page 14: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

4.2 INSTALACIÓN Y CONFIGURACIÓN SERVIDOR WEB.

1º Configurar correctamente las insterfaces de la máquina virtual, editando el fichero/etc/network/interfaces.

root@Ubunt:/home/marina# nano /etc/network/interfaces

#enp0s3allow-hotplug enp0s3iface enp0s3 inet dhcp

#enp0s8auto enp0s8iface enp0s8 inet static address 192.168.1.104 netmask 255.255.255.0 network 192.168.1.0

2º Reiniciar la máquina y comprobar que las interfaces están correctamente.

3º Instalar apache para el servidor web.

root@Ubunt:/home/marina# apt-get install apache2

4º Crear el directorio y el index.html que se desea mostrar en el navegador.

root@Ubunt:/home/marina# mkdir -p /var/www/iesgnroot@Ubunt:/home/marina# cd /var/www/iesgn/

root@Ubunt:/var/www/iesgn# nano index.html

<h1>Bienvenido</h1>

5º Crear el fichero del sitio web utilizando como referencia el fichero que viene por defecto.

root@Ubunt:/var/www/iesgn# cd /etc/apache2/sites-available/root@Ubunt:/etc/apache2/sites-available# cp 000-default.conf iesgn.conf

root@Ubunt:/etc/apache2/sites-available# nano iesgn.conf

ServerName www.iesgn.orgServerAdmin webmaster@localhostDocumentRoot /var/www/iesgn

6º Activar el fichero del sitio web.

root@Ubunt:/etc/apache2/sites-available# a2ensite iesgn.conf Enabling site iesgn.To activate the new configuration, you need to run: service apache2 reload

14

Page 15: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7º Recargar y reiniciar apache.

root@Ubunt:/etc/apache2/sites-available# /etc/init.d/apache2 reload[ ok ] Reloading apache2 configuration (via systemctl): apache2.service.root@Ubunt:/etc/apache2/sites-available# /etc/init.d/apache2 restart[ ok ] Restarting apache2 (via systemctl): apache2.service.

8º Cambiar el fichero de host de la máquina anfitriona y añadir la ip de la máquina virtual junto alnombre de nuestro sitio web.

root@debian:~# nano /etc/hosts

192.168.15.112 www.iesgn.org

9º Comprobar en el navegar que apache está funcionando correctamente.

15

Page 16: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

4.3 INSTALACIÓN Y CONFIGURACIÓN BASE DE DATOS MYSQL.

1º Configurar correctamente las interfaces editando el siguiente fichero y dejarlo de la siguientemanera:

[root@localhost ~]# nano /etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE=EthernetBOOTPROTO=dhcp #la ip la adquiere por dhcpDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s3UUID=b11b81c7-5ea1-409c-92aa-c2a2a97a7a12DEVICE=enp0s3ONBOOT=yes #al iniciar la máquina

[root@localhost ~]# nano /etc/sysconfig/network-scripts/ifcfg-enp0s8

TYPE=EthernetBOOTPROTO=static #ip de forma estáticaIPADDR=192.168.1.103 #ipNETMASK=255.255.255.0 #máscaraDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=enp0s8UUID=18a94a8e-c576-4317-8053-7606aa2befbeDEVICE=enp0s8ONBOOT=yes

16

Page 17: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

2º Instalar los siguientes paquetes

[root@localhost ~]# yum install nano[root@localhost ~]# yum install openssh openssh-server openssh-clients openssl-libs[root@localhost ~]# yum install wget

3º Crear un usuario para la máquina centos.

[root@localhost ~]# useradd -g users -s /bin/bash -p marina -d /home/marina -m marinaCreando el fichero del buzón de correo: El fichero ya exist[root@localhost ~]# su marina[marina@localhost root]$

4º Para instalar MySQL primero hay que descargar el siguiente paquete.

[marina@localhost ~]$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

5º Instalar el paquete que se ha descargado.

[root@localhost marina]# rpm -ivh mysql-community-release-el7-5.noarch.rpmPreparando... ################################# [100%]Actualizando / instalando... 1:mysql-community-release-el7-5 ################################# [100%]

6º Actualizar la máquina e instalar MySQL.

[root@localhost marina]]# yum update[root@localhost marina]# yum install mysql-server

7º Iniciar el servicio de MySQL.

[root@localhost marina]# systemctl start mysqld[root@localhost marina]#

8º Entrar en la base de datos y crear un usuario con todos los privilegios para que con el servidorCheck_MK pueda realizar una consulta.

[root@localhost ~]# mysql -u rootWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

17

Page 18: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

mysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A

Database changed

mysql> grant all privileges on *.* to 'marina'@'localhost' identified by 'marina' with grant option;Query OK, 0 rows affected (0,00 sec)

mysql> flush privileges;Query OK, 0 rows affected (0,00 sec)

9º Comprobar que el usuario se ha creado correctamente.

[root@localhost ~]# mysql -u marina -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 3Server version: 5.6.36 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A

Database changed

mysql> select count(*) 'usuario' from user;+---------+| usuario |+---------+| 9 |+---------+1 row in set (0,00 sec)

18

Page 19: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

5. INSTALACIÓN SERVIDOR CHECK_MK

5.1 INSTALACIÓN NAGIOS

1º Actualizar e instalar los paquetes necesarios

root@debian:/home/marina# apt-get update root@debian:/home/marina# apt-get install build-essentialroot@debian:/home/marina# apt-get -y install unzip apache2 mysql-server php5-mysql php5libapache2-mod-php5 php5-mcrypt php5-cgi php5-gd php5-common php5-curl openssh-serverroot@debian:/home/marina# apt-get -y install libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip curl

2º Crear el usuario y grupo con el que trabajará Nagios, y por último introducir al usuario nagiosdentro del grupo nagcmd.

root@debian:/home/marina# useradd nagiosroot@debian:/home/marina# groupadd nagcmdroot@debian:/home/marina# usermod -a -G nagcmd nagios

3º Descargar la última versión de Nagios, en este caso será la 4.3.1.

root@debian:/home/marina# curl -L -Ohttps://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.1.tar.gz

4º Descomprimir y compilar asignándole el grupo.

El script de configure es responsable de prepararse para construir el software en su sistemaespecífico, se asegura que todas las dependencias para el resto de compilación e instalación esténdisponibles.

root@debian:/home/marina# tar xvf nagios-4.3.1.tar.gzroot@debian:/home/marina# cd nagios-4.3.1root@debian:/home/marina/nagios-4.3.1# ./configure --with-nagios-group=nagios --with-command-group=nagcmd

5º Ejecutar make, este comando ejecuta una serie de tareas definidas en un Makefile.

root@debian:/home/marina/nagios-4.3.1# make all

6º Instalar el software, una vez que el software está construido y listo para ejecutarse instalamos elsoftware.

root@debian:/home/marina/nagios-4.3.1# make installroot@debian:/home/marina/nagios-4.3.1# make install-commandmoderoot@debian:/home/marina/nagios-4.3.1# make install-initroot@debian:/home/marina/nagios-4.3.1# make install-config

19

Page 20: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7º Configurar la parte del servidor web y añadir el usuario de apache al grupo nagcmd.

root@debian:/home/marina/nagios-4.3.1# /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.confroot@debian:/home/marina/nagios-4.3.1# usermod -G nagcmd www-data

8º Instalar los plugins de Nagios, compilar asignado el usuario e instalar.

root@debian:/home/marina# curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gzroot@debian:/home/marina# tar xvf nagios-plugins-2.1.1.tar.gzroot@debian:/home/marina# cd nagios-plugins-2.1.1

root@debian:/home/marina/nagios-plugins-2.1.1# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-opensslroot@debian:/home/marina/nagios-plugins-2.1.1# makeroot@debian:/home/marina/nagios-plugins-2.1.1# make install

9º Instalar Plugin NRPE, este demonio tiene la capacidad de realizar comprobaciones utilizando IPv4 o IPv6.

root@debian:/home/marina# curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gzroot@debian:/home/marina# tar xvf nrpe-2.15.tar.gzroot@debian:/home/marina# cd nrpe-2.15

root@debian:/home/marina/nrpe-2.15# ./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnuroot@debian:/home/marina/nrpe-2.15# make allroot@debian:/home/marina/nrpe-2.15# make installroot@debian:/home/marina/nrpe-2.15# make install-xinetdroot@debian:/home/marina/nrpe-2.15# make install-daemon-config

10º Modificar el fichero nrpe y añadir la ip del servidor en la línea “only_from”:

root@debian:/home/marina/nrpe-2.15# nano /etc/xinetd.d/nrpe

# default: on# description: NRPE (Nagios Remote Plugin Executor)service nrpe{ only_from = 127.0.0.1 192.168.15.105 }

11º Reiniciar el servicio.

root@debian:/home/marina/nrpe-2.15# service xinetd restart

20

Page 21: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

5.2 CONFIGURACIÓN NAGIOS

1º Crear el directorio servers.

root@debian:~# mkdir /usr/local/nagios/etc/servers

2º Descomentar la siguiente línea en el fichero de configuración de Nagios.

root@debian:~# nano /usr/local/nagios/etc/nagios.cfg

cfg_dir=/usr/local/nagios/etc/servers

3º Incluir el email real en el siguiente fichero.

root@debian:~# nano /usr/local/nagios/etc/objects/contacts.cfg

define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contacttemplate (defined above) alias Nagios Admin ; Full name of user

email [email protected] ; <<***** CHANGE THIS TO YOUR EMAILADDRESS ****** }

4º Para que el plugin NRPE monitorice el servidor, se debe modificar el fichero “commands.cfg”:y añadir al final del fichero las siguientes líneas:

root@debian:~# nano /usr/local/nagios/etc/objects/commands.cfg

define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }

5º Habilitar los siguientes módulos de apache2 y reiniciar apache2.

root@debian:~# a2enmod rewriteroot@debian:~# a2enmod cgiroot@debian:~# service apache2 restart

6º Asignar una contraseña al usuario nagiosadmin.

root@debian:~# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminNew password: Re-type new password: Adding password for user nagiosadmin

21

Page 22: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7º Crear los siguientes enlaces simbólicos.

root@debian:~# ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/root@debian:~# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

8º Reiniciar el servicio de Nagios.

root@debian:~# service nagios start

Es posible que nos devuelva el ERROR1 (Dirigirse al punto 5.4.1 SOLUCIONES A ERRORES).

root@debian:~# service apache2 restart

9º Comprobar que no hay errores en la configuración de nagios.

root@debian:/home/marina# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 4.3.1Copyright (c) 2009-present Nagios Core Development Team and Community ContributorsCopyright (c) 1999-2009 Ethan GalstadLast Modified: 02-23-2017License: GPLWebsite: https://www.nagios.orgReading configuration data... Read main config file okay... Read object config files okay...Running pre-flight check on configuration data...

Checking objects...Checked 8 services.Checked 1 hosts.Checked 1 host groups.Checked 0 service groups.Checked 1 contacts.Checked 1 contact groups.Checked 25 commands.Checked 5 time periods.Checked 0 host escalations.Checked 0 service escalations.

Checking for circular paths...Checked 1 hostsChecked 0 service dependenciesChecked 0 host dependenciesChecked 5 timeperiods

Checking global event handlers...Checking obsessive compulsive processor commands...Checking misc settings...Total Warnings: 0Total Errors: 0Things look okay - No serious problems were detected during the pre-flight check

22

Page 23: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

10º Escribir la IP_servidor/nagios en el navegador.

http://192.168.15.105/nagios/

23

Page 24: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

5.3 INSTALAR CHECK_MK.

5.3.1 MODO 1:

1º Descargar el software de check_mk.

root@debian:/home/marina# wget https://mathias-kettner.de/support/1.2.8p18/check-mk-raw-1.2.8p18_0.jessie_amd64.deb

2º Instalar los siguientes paquetes.

root@debian:/home/marina# apt-get install dialog fping graphviz libapache2-mod-fcgid libapache2-mod-proxy-html libnet-snmp-perl libsnmp-perl rpm php5root@debian:/home/marina# apt-get install gdebi

3º Instalar check_mk.

root@debian:/home/marina# gdebi check-mk-raw-1.2.8p21_0.jessie_amd64.deb

4º Crear el sitio web e iniciarlo.

root@debian:/home/marina# omd create site01

Adding /opt/omd/sites/site01/tmp to /etc/fstab.Creating temporary filesystem /omd/sites/site01/tmp...OKRestarting Apache...OKCreated new site site01 with version 1.2.8p21.cre.

The site can be started with omd start site01. The default web UI is available at http://debian/site01/ The admin user for the web applications is omdadmin with password omd. Please do a su - site01 for administration of this site.

root@debian:/home/marina# omd start site01

Starting mkeventd...OKStarting rrdcached...OKStarting npcd...OKStarting nagios...OKStarting dedicated Apache for site site01...OKInitializing Crontab...OKroot@debian:/home/marina#

5º Reiniciar el servicio de apache2.

root@debian:/home/marina# service apache2 restart

24

Page 25: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

6º Comprobar en el navegador que Check_MK está funcionando.

http://192.168.15.105/site01/

25

Page 26: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

5.3.2 MODO 2:

1º Descargar y descomprimir.

root@DSKSV:~# wget https://mathias-kettner.com/download/check_mk-1.2.8p18.tar.gzroot@DSKSV:/tmp# tar zxfv check_mk-1.2.8p19.tar.gzroot@DSKSV:/tmp# cd check_mk-1.2.8p19/

2º Comprobar que el servicio de Nagios está activo antes de ejecutar el script de instalación, debidoa que check_mk lo busca y configura cierta opciones por defecto, solo hay que modificar lassiguientes:

root@DSKSV:/tmp/check_mk-1.2.8p19# ./setup.sh

Nagios command pipeComplete path to the Nagios command pipe. check_mk needs write accessto this pipe in order to operate:( default --> /var/log/nagios/rw/nagios.cmd): /usr/local/nagios/var/rw/nagios.cmd

URL Prefix for Web addonsUsually the Multisite GUI is available at /check_mk/ and PNP4Nagiosis located at /pnp4nagios/. In some cases you might want to define someprefix in order to be able to run more instances of Nagios on one host.If you say /test/ here, for example, then Multisite will be locatedat /test/check_mk/. Please do not forget the trailing slash.:( default --> /): /site01/

Apache config dirCheck_mk ships several web pages implemented in Python with Apachemod_python. That module needs an apache configuration section whichwill be installed by this setup. Please specify the path to a directorywhere Apache reads in configuration files.:( default --> /etc/apache2/conf.d): /etc/apache2/sites-enabled

Install Event ConsoleThe Check_MK Event Console is a full featured event processingmodule that integrates with Multisite. It has an own daemon andseveral methods for retrieving events. It even has an integratedsyslog daemon. Please answer 'yes', if you want to enable theEvent Console.:( default --> no): yes

Puede aparecer el ERROR 2 (dirigirse al punto 5.4.2)

26

Page 27: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

5.4 SOLUCIONES DE ERRORES.

5.4.1 Error 1 (No encuentra el fichero o el drectorio al iniciar el servicio de Nagios) :

root@debian:~# service nagios startFailed to start nagios.service: Unit nagios.service failed to load: No such file or directory.

Si al reiniciar el servicio de nagios nos devuelve el error anterior hay que seguir los siguientespasos:

1º Copiar el siguiente fichero y añadir las líneas de abajo.

root@debian:~# cp /etc/init.d/skeleton /etc/init.d/nagiosroot@debian:~# nano /etc/init.d/nagios

DESC="Nagios"NAME=nagiosDAEMON=/usr/local/nagios/bin/$NAMEDAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"PIDFILE=/usr/local/nagios/var/$NAME.lock

2º Cambiar los permisos del fichero.

root@debian:~# chmod +x /etc/init.d/nagios

3º Si el error persiste crear el siguiente servicio y añadir las líneas de abajo:

root@debian:~# nano /etc/systemd/system/nagios.service

[Unit]Description=NagiosBindTo=network.target

[Install]WantedBy=multi-user.target

[Service]User=nagiosGroup=nagiosType=simpleExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

4º Habilitar el servicio que se ha creado.

root@debian:~# systemctl enable /etc/systemd/system/nagios.service

5º Reiniciar el servicio de nagios, y comprobar que ya no devuelve el fallo.

root@debian:~# systemctl start nagios

27

Page 28: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

5.4.2 Error 2 (No encuentra el fichero o directorio al ejecutar el script):

Si al ejecutar el script nos devuelve este error seguir los siguientes pasos:

Touch: cannot touch '/etc/nagios/auth.serials': No such file or directory:

1º Crear el directorio y crear el fichero vacío.

root@DSKSV:/tmp/check_mk-1.2.8p19# mkdir /etc/nagiosroot@DSKSV:/tmp/check_mk-1.2.8p19# touch /etc/nagios/auth.serials

2º Volver a ejecutar el script.

3º Reiniciar los siguientes servicios.

root@DSKSV:/tmp/check_mk-1.2.8p19# systemctl enable mkeventd

Synchronizing state for mkeventd.service with sysvinit using update-rc.d...Executing /usr/sbin/update-rc.d mkeventd defaultsExecuting /usr/sbin/update-rc.d mkeventd enable

root@DSKSV:/tmp/check_mk-1.2.8p19# systemctl restart apache2 && systemctl restart nagios &&systemctl restart mkeventd

root@DSKSV:/tmp/check_mk-1.2.8p19# service apache2 restart $$ service npcd restart && servicenagios restart

4º La ruta debe coincidir con nagios comprobar que tiene esta ruta.

root@DSKSV:/etc/apache2/sites-enabled# nano zzz_check_mk.conf

AuthUserFile /usr/local/nagios/etc/htpasswd.users

5º Reiniciar apache.

root@DSKSV:/etc/apache2/sites-enabled# service apache2 restart

6º Activar el siguiente módulo.

root@DSKSV:~# a2enmod proxy_http

28

Page 29: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

6. MONITORIZACIÓN DESDE CHECK_MK

6.1 MONITORIZACIÓN DEBIAN

1º Instalar el agente de check_mk en la máquina, se puede descargar desde el propio servidor ypasar por scp o winscp a los clientes.

Pinchar en Monitoring Agents → check-mk-agent_1.2.8p18-1_all.deb

Para Debian descargar el agente .deb.

marina@debian:~$ lsbase.ldif check-mk-agent_1.2.8p18-1_all.deb usuarios.ldifmarina@debian:~$

2º Instalar el siguiente paquete e iniciar el servicio. Xinetd es un servicio o demonio que usan granparte de los sistemas Unix dedicado a administrar la conectividad basada en internet, ademáscontiene mecanismos de control de acceso como Wrappers TCP, Listas de Control de Acceso y laposibilidad de habilitar los servicios de red basándose en el tiempo, por último puede limitar lacapacidad de servicios que se ejecutan, y contiene un sistema de protección contra escaneos depuertos.

root@debian:/home/marina# apt-get install xinetdroot@debian:/home/marina# service xinetd restart

29

Page 30: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

3º Instalar el agente

root@debian:/home/marina# dpkg -i check-mk-agent_1.2.8p18-1_all.debSeleccionando el paquete check-mk-agent previamente no seleccionado.(Leyendo la base de datos ... 39487 ficheros o directorios instalados actualmente.)Preparando para desempaquetar check-mk-agent_1.2.8p18-1_all.deb ...Desempaquetando check-mk-agent (1.2.8p18-1) ...Configurando check-mk-agent (1.2.8p18-1) ...Reloading xinetd...[ ok ] Reloading xinetd configuration (via systemctl): xinetd.service.

4º Crear la carpeta donde se crearan los hosts a monitorizar

Hosts → Create new folder

30

Page 31: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

En este caso se llamará PROYECTO, y dentro de esta carpeta se crearán los hosts. Hacer clic enSave & Finish.

5º Dentro de la carpeta PROYECTO, hacer clic en New Host o Create New Host.

31

Page 32: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Hostname: Nombre del equipo.Alias: El nombre que se le quiera dar.IPv4 Address: La IP de la máquina.Parents: si depende de otra máquina.Agent type: se elige el tipo de agente, por defecto es check_mk agent, pero si necesitara snmp sedebe de marcar Legacy SNMP.Criticality: Business critical si tiene servicios importantes para chequear.

6º Hacer clic en Save & test, si en el test que realiza el servidor nos responde el ping y el agente,hacer clic en services en la parte superior.

32

Page 33: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7º Cuando muestre los servicios que ha encontrado, para activar su monitorización hay que hacerclic en Activate missing → Changes → Activate Changes

33

Page 34: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

8º Una vez activado los cambios, dirigirse al menú de la izquierda y hacer clic en Hosts → Allhosts → Servicios pendientes de chequear → Icono de la izquierda → Reschedule check.Así realizamos el chequeo automáticamente para monitorizarlo.

34

Page 35: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

9º Una vez chequeados todos los servicios, volver a All hosts y pinchar sobre el nombre del hostpara ver todos los servicios y la información que muestra.

35

Page 36: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

6.2 MONITORIZACIÓN WINDOWS.

1º El primer paso es instalar el agente en la máquina, se puede pasar el agente por winscp o abrir elnavegador en la máquina y descargarlo directamente.

En este caso descargar el .msi.

2º Instalar el agente en la máquina.

Hacer clic en Next.

36

Page 37: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Aceptar los términos de la licencia y hacer clic en Next.

Hacer clic en Next.

37

Page 38: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Hacer clic en Install, después de instalarse hacer clic en finish para terminar la instalación.

3º Importante abrir el puerto TCP de Check_MK (6556) en el Firewall de Windows para permitir la entrada de comunicaciones y poder chequear los servicios.

4º Una vez instalado el agente, y abierto el puerto, nos situamos en la insterfaz del servidor Check_MK, y crear el new host, siguiendo los mismos pasos que en la máquina Debian.

38

Page 39: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

5º Después de seguir los mismos pasos y activar los cambios, se puede comprobar como ya están chequeados y monitorizados los servicios de Windows.

39

Page 40: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

6.3 MONITORIZACIÓN UBUNTU.

1º Instalar el agente exactamente igual que la máquina Debian.

marina@Ubunt:~$ lscheck-mk-agent_1.2.8p18-1_all.deb Escritorio Música VídeosDescargas examples.desktop PlantillasDocumentos Imágenes Público

root@Ubunt:/home/marina# apt-get install xinetdroot@Ubunt:/home/marina# service xinetd restart

root@Ubunt:/home/marina# dpkg -i check-mk-agent_1.2.8p18-1_all.deb (Leyendo la base de datos ... 181149 ficheros o directorios instalados actualmente.)Preparando para desempaquetar check-mk-agent_1.2.8p18-1_all.deb ...Desempaquetando check-mk-agent (1.2.8p18-1) sobre (1.2.8p18-1) ...Reloading xinetd...[ ok ] Reloading xinetd configuration (via systemctl): xinetd.service.Configurando check-mk-agent (1.2.8p18-1) ...Reloading xinetd...[ ok ] Reloading xinetd configuration (via systemctl): xinetd.service.

2º Crear el nuevo host, activar los servicios y activar los cambios.

40

Page 41: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

41

Page 42: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

6.4 MONITORIZACIÓN CENTOS.

1º Instalar el agente, en este caso se descargará el .rmp

[root@localhost ~]# lsanaconda-ks.cfg check-mk-agent-1.2.8p18-1.noarch.rpm

[root@localhost ~]# yum install xinetd[root@localhost ~]# service xinetd startRedirecting to /bin/systemctl start xinetd.service

[root@localhost ~]# rpm -Uvh check-mk-agent-1.2.8p18-1.noarch.rpm Preparando... ################################# [100%]Actualizando / instalando... 1:check-mk-agent-1.2.8p18-1 ################################# [100%]Reloading xinetd...Redirecting to /bin/systemctl reload xinetd.service

2º Centos tiene un firewall propio, por lo que hay que abrir el puerto de Check_MK (6556).

[root@localhost zones]# firewall-cmd --zone=public --add-port=6556/tcp --permanentsuccess[root@localhost zones]# firewall-cmd --reloadsuccess

3º Crear el nuevo host, activar los servicios y activar los cambios.

42

Page 43: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Como se puede comprobar ya se tiene monitorizado las cuatro máquinas, instalando simplemente elagente de Check_MK en los clientes.

43

Page 44: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7. MONITORIZACIÓN DE SERVICIOS ESPECÍFICOS

7.1 SERVICIO MYSQL

1º Abrir el puerto de MySQL en el firewall de Centos

[root@localhost zones]# firewall-cmd --zone=public --add-port=3306/tcp --permanentsuccess[root@localhost zones]# firewall-cmd --reloadsuccess

2º Crear la regla de MySQL.

Clic en Host & Service Parameters → Active Checks → Check SQL Database → Create rule in folder → Save

44

Page 45: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

En la regla que se ha creado se debe escribir en descripción se pone el nombre que se prefiera, enService Description poner un nombre identificativo, elegir el tipo de base de datos, en este casoMySQL, el nombre de la base de datos, el usuario y la contraseña. En SQL-statement 0 procedurename, escribir la consulta que se desee hacer, en este caso muestra los usuarios que hay en la basede datos. Introducir los valores en milisegundos, en este caso aparecerá el servicio como warning siestá por encima de 60 y critical si está por encima de 120.

45

Page 46: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

En la parte de abajo especificar la carpeta y el host donde se desea chequear.

3º Después de crear la regla, se debe activar los cambios y realizar el chequeo. Como se puedecomprobar aparece el servicio en el host Ok, y además muestra el resultado de la consulta.

46

Page 47: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7.2 SERVICIO HTTP

1º Crear la regla para monitorizar apache, si el servicio se para debería salir el servicio crítico y si funciona correctamente OK.

Hacer clic en Host & Service Parameters → Active Checks → Check HTTP service → Create rule in folder → Save

En descripción escribir un nombre identificativo y en Name escribir la url del servidor que se deseachequear.

Marcar Check the URL y Port, por defecto viene el puerto 80.

En la parte de abajo marcar el el host donde está el servidor web funcionando.

47

Page 48: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

2º Después de activar los cambios y chequear el servicio, se puede comprobar que el servicio de apache está funcionando correctamente.

48

Page 49: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7.3 SERVICIO LDAP

1º Crear la regla para monitorizar el servicio LDAP.

Hacer clic en Host & Service Parameters → Active Checks → Check access to LDAP service→Create rule in folder → Save

En descripción escribir un nombre identificativo.

49

Page 50: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

En Name escribir el nombre del servidor, en Base DN escribir dc=nievas, dc=local, enAuthentication escribir el nombre completo con el usuario y la contraseña para acceder al servidorldap y marcar el puerto que por defecto nos aparece el 389. En la parte de abajo elegir el host dondese encuentra el servidor LDAP.

2º Después de activar los cambios y chequear el servicio se puede comprobar que el servicio funciona correctamente.

50

Page 51: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

8. CREACIÓN DE USUARIOS

8.1 CREAR USUARIO LOCAL

Para crear un usuario local que tenga solo permisos de visualización de los hosts y serviciosmonitorizados hacer clic en Users → New User .

Elegir el rol correcto que se desea para ese usuario, escribir el nombre y el nombre correcto, ya queson los datos obligatorios.

51

Page 52: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Como se puede comprobar el usuario se ha creado correctamente.

52

Page 53: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

8.2 USUARIOS LDAP

1º Para sincronizar los usuarios del servidor LDAP, hacer clic en Users → LDAP Connections →New Connection → Save & test → Save → Sync Users

53

Page 54: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Description: Nombre identificativo.LDAP Server: IP del servidor LDAP.Directory Type: Open_LDAP.Bind Credentials: el nombre del usuario del servidor, el nombre completo del servidor ldap y la contraseña.TCP Port: el puerto del servidor LDAP.LDAP Version: en ese caso es la versión 3.

Importante desmarcar los atributos que no aparezcan en el esquema del servidor LDAP para que al sincronizar los usuarios no de error.

54

Page 55: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

55

Page 56: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Después de sincronizar los usuarios, al comprobar que han aparecido los usuarios de LDAP, activar los cambios.

56

Page 57: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

2º Cambiar el rol del usuario que se desee, se puede elegir el rol de administrador, guest user o normal monitoring user.

3º Si se desea modificar las opciones del rol hacer clic en Roles & Permissions y pinchar en el rol que se quiere modificar.

57

Page 58: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

9. ICONOS

Se pueden añadir iconos que sean identificativos tanto a los hosts como a los servicios que se desee especificar. En este caso se ha añadido iconos a los host y se ha elegido el icono de un portátil.

Host & Service Parameters → Monitoring Configuration → Icon image for hosts in status GUI → Create rule in folder

58

Page 59: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Descripción: nombre identificativo.Icon: elegir el icono que se desea.Folder: carpeta donde se encuentran los hosts.Explicit hosts: escribir los nombres de los hosts donde aparecerá el icono.

Como se puede comprobar aparece el icono que se ha elegido anteriormente.

59

Page 60: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

10. NOTIFICACIONES

10.1 ALERTAS SONORAS.

Por defecto la línea que habilita las alertas sonoras viene comentada, por lo que hay que descomentar la siguiente línea en el fichero multisite.mk. root@debian:/opt/omd/sites/site01/etc/check_mk# nano multisite.mk

# Views allow to play alarm sounds according to the# "worst" state of the shown items. Enable sounds here:enable_sounds = True

Para que suene un sonido específico para cada estado habrá que descomentar las siguientes líneas en el mismo fichero.

sounds = [ ( "down", "down.wav" ), ( "critical", "critical.wav" ), ( "unknown", "unknown.wav" ), ( "warning", "warning.wav" ), ( None, "ok.wav" ), ]

Por último si se desea añadir sonidos se deben guardar en la siguiente ruta, y cambiar el nombre en la lista que se ha señalado anteriormente.

root@debian:/opt/omd/versions/1.2.8p18.cre/share/check_mk/web/htdocs/sounds# lscritical.wav down.wav ok.wavunknown.wav warning.wav

10.2 ALERTAS EMAIL.

Debido a que en este caso no se dispone de un servidor de correo propio, se procede a configurarPostfix, en modo “relay”, utilizando los servicios de correo de Google.

1º Instalar los siguientes paquetes. root@debian:~# apt-get install postfix libsasl2-2 ca-certificates libsasl2-modules

60

Page 61: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

2º Editar el fichero de configuración de Postfix y añadir al final las siguientes líneas.

root@debian:~# nano /etc/postfix/main.cf

relayhost = [smtp.gmail.com]:587smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_sasl_security_options = noanonymoussmtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crtsmtp_use_tls = yes

3º Crear el siguiente fichero y añadir el correo de gmail y la password.

root@debian:~# touch /etc/postfix/sasl_passwdroot@debian:~# nano /etc/postfix/sasl_passwd

4º Cambiar los permisos al fichero.

root@debian:~# chmod 400 /etc/postfix/sasl_passwdroot@debian:~# postmap /etc/postfix/sasl_passwd

5º Reiniciar el servicio de Postfix.

root@debian:~# /etc/init.d/postfix reload[ ok ] Reloading postfix configuration (via systemctl): postfix.service.

61

Page 62: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

6º Crear la regla para las notificaciones.

Notifications

Editar la regla que viene por defecto, para configurar a los usuarios que se desea enviar las notificaciones de los hosts y servicios.

62

Page 63: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

63

Page 64: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

7º Por úlitmo guardar los cambios. Como se puede comprobar en la siguiente captura el email especificado empezará a recibir correos.

64

Page 65: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

11. INVENTARIOS

1º Copiar el plugin mk_inventory en los hosts que se desea inventariar.

marina@debian:/opt/omd/versions/1.2.8p18.cre/share/check_mk/agents/plugins$ scp mk_inventory.linux [email protected]:

2º Moverlo en el siguiente directorio.

root@debian:/usr/lib/check_mk_agent/plugins# mv /home/marina/mk_inventory.linux .root@debian:/usr/lib/check_mk_agent/plugins# ls -ltotal 4-rwxr-xr-x 1 marina marina 3468 jun 1 21:07 mk_inventory.linux

Si el host es windows, instalar winscp para pasar el plugin del inventario como se muestra en la captura.

65

Page 66: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

3º Crear la regla para realizar los inventarios del hardware y el software.

Clic en Host & Service Parmeters → Hardware/Software-Inventory → Do hardware/software Inventory → Create rule in folder.

66

Page 67: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Description: nombre identificativo.State when software changes ara detected: marcar esta opción para que detecte cuando haya cambios en el software o hardware y haga el chequeo.Folder: elegir la carpeta o los hosts que se desea inventariar.

67

Page 68: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

4º Activar los cambios y hacer clic en CPU Related Inventory of all Hosts para visualizar los inventarios de los hosts.

68

Page 69: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

En la siguiente captura se muestra el hardware y el software de la máquina anfitriona, el cual muestra hasta el mínimo detalle del hardware y del software.

69

Page 70: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

12. BACKUP & RESTORE

1º Desde Check_MK se puede crear snapshot de toda la configuración actual para poder restaurarlacuando se desee. Hacer clic en Backup & Restore, marcar los elementos a salvar y por últimohacer clic en create snapshot.

Como se puede comprobar en la siguiente captura se ha creado un fichero .tar.

70

Page 71: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

Además se puede ver la descripción, y en la parte de abajo da la opción de eliminar el snapshot, descargarlo o restaurarlo.

2º Para restaurar el snapshot si el Check_MK hubiera perdido todos los datos guardados, hacer clic en seleccionar archivo y cuando se tenga seleccionado hacer clic en Restore from file.

71

Page 72: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

13. PROTOCOLOS CHECK_MK

13.1 SNMP.

Check_MK accede al dispositivo de destino con el agente de SNMP, realizando consultas activas(GET) para recopilar la información del sistema

Para monitorizar un switch, primero hay que habilitar el agente SNMP en la máquina y modificarlas siguientes dos opciones:

SNMP Community: escribir la comunidad de SNMP.Agent type: en lugar de usar el agente de Check_MK, en este caso se debe elegir LegacySNMP device (using V1).

72

Page 73: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

13.2 TCP port 6556.

Check_MK tiene sus propios agentes para servidores y puestos de trabajo, para once sistemasoperativos fiferentes desde Windows o Linux como OpenVMS. Los agentes son pasivos y secomunican por el puerto TCP 6556, y al recibir una consulta del servidor Check_MK se activa elagente y responde con los datos requeridos.

El requisito para que devuelva los datos el servidor o el puesto de trabajo es tener instalado elagente Check_MK.

13.3 SSH y HTTP.

Algunos sistemas no permiten ni una instalación de agente ni SNMP en una forma utilizable, por loque ofrecen una API de administración basadas en TELNET, SSH o HTTP / XML. Check_MKconsulta estas interfaces a través de los agentes especiales que se ejecutan en el servidor deCheck_MK.

El requisito es crear una cuenta de API para Check_MK.

13.3 CHEQUEOS ACTIVOS.

Hay servicios que están basados en red como HTTP, SMTP o IMAP, que pueden ser consultados através de la red, por eso Check_MK usa sus propios plugins desarrollados originalmente paraNagios.

73

Page 74: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

14. SERVICIOS Y HOSTS

1º La mejor forma de visualizar los estados de los servicios y los hosts es haciendo clic en Host &Services Problems.

Irán saliendo los servicios que tengan un estado crítico o warning.

Y también los hosts que se hayan apagado.

74

Page 75: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

2º El estado crítico o warning del servicio, aparece del host que pertenece el servicio, el nombre delservicio que chequea y el estado con detalle del servicio para poder solucionarlo. Si aparece unestado crítico o warning de log application o log system se puede ver con más detalle el errorhaciendo clic en Open Log en el icono del servicio.

75

Page 76: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

15. COMANDOS

Con la utilización de los comandos en hosts, servicios y otros objetos, se puede influir en el procesode monitoreo. Los comandos más utilizados son para reconocer problemas y para establecer eltiempo de inactividad programado.Hay comandos adicionales reservados para el administrador, los comandos disponibles en una vistadependen de los derechos de acceso, es decir , del rol y del tipo de objeto que se muestra.Para acceder a los comandos, se accede a través del icono del martillo en cualquier título de unavista.

Cada botón mostrado representa un tipo de comando. Algunos requieren información adicional,como un texto para el reconocimiento. Al hacer clic en el botón, se devuelve la confirmación, y seejecuta en los hosts que aparece en la vista o en los que se ha seleccionado.

Acknowledging problems: es para detectar los host o servicios con problemas.Schedule downtimes: es para programar los tiempos de inactividad.Fake check results: verifica los resultados devueltos.

76

Page 77: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

16. TOPOLOGÍA DE LA RED

Check_MK también muestra la topología en red de los hosts, aparecen con un tic los que no tienenningún servicio en estado crítico o warning, mientras que los que si tienen servicios en estadocrítico o warning aparecen con una x en rojo.

Hacer clic en Network Topology.

Si se coloca el puntero del ratón sobre el icono del host devolverá información de los estados de losservicios y del hosts.

77

Page 78: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

17. CONCLUSIONES

Como se puede comprobar a lo largo del proyecto vemos que efectivamente Check_MK aportanumerosas herramientas para monitorizar diversos servicios y dispositivos.

Después de todo lo indagado se puede confirmar que Check_MK puede mejorar los tiempos demantenimiento ya que se utiliza la interfaz y escasa vez la terminal, lo que se traduce en un ahorrode coste para la empresa, así como la reducción de los tiempos de inactividad de los servicios.

Por otro lado hay una gran comunidad detrás de esta herramienta por lo que sirve de gran ayuda frente a otras alternativas.

78

Page 79: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

18. BIBLIOGRAFÍA

http://www.eldespistado.com/check_mk-funcionalidades/

http://www.eldespistado.com/nagios-core-4-pnp4nagios-check_mk-y-nagvis-en-debian-8-jessie/

https://translate.google.es/translate?hl=es&sl=en&u=https://robots.thoughtbot.com/the-magic-behind-configure-make-make-install&prev=search

http://mathias-kettner.com/cms_commands.html

79

Page 80: DE SERVICIOS - Gonzalo Nazareno€¦ · 1. INTRODUCCIÓN Nagios es un sistema de monitorización, de código abierto, de los estados de los servicios en red que sean accesibles con

19. ANEXOS

Por faltas de recursos no he podido mostrar algunas monitorizaciones de servicios o dispositivos,pero durante las prácticas he podido configurarlo en la empresa, por lo que voy a mostrarloborrando los datos sensibles de la empresa.

- Certificados SSL.

Descripción: escribir un nombre indentificativo.Name: escribir la url del sitio web.Check SSL Certificate Age: marcar esta opción para controlar cuando caduca el certificado.Warning: cuando queden 60 días.Critical: cuando queden 30 días.Check Certificate of different IP / DNS Name: escribir el nombre del sitio web.Enable SSL/TLS hostname extension support (SNI): marcar esta opción para habilitar elsoporte de la extensión SSL.

Escribir el hosts donde tenemos montado el servicio web.

Como se puede comprobar en la siguiente captura, después de activar el servicio, nos muestra elservicio OK y la fecha de expiración del certificado.

80


Recommended