Etiquetado: Hosts

Nagios: Añadir un nuevo servicio al cliente linux

Ya tenemos el NRPE y el host configurados vamos a ir añadiendo nuevos servicio que no incluyen los plugins de Nagios. Los nuevos checks se tienen que configurar en el cliente, así que nos conectaremos al cliente e iremos la libreria de servicios:

# cd /usr/local/nagios/libexec/

Vamos a instalar un servicio para monitorizar la memoria, así que nos descargaremos el check_mem.pl del Nagios Exchange. Una vez que lo tengamos descargado le cambiamos los permisos:

# chmod +x check_mem.pl
# chown nagios.nagios check_mem.pl

Añadiremos el servicio al archivo de configuración del NRPE /usr/local/nagios/etc/nrpe.cfg:

command[check_mem]=/usr/local/nagios/libexec/check_mem.pl -f -w 20 -c 10

También podríamos añadir otros servicios para monitorizar por ejemplo el disco sda1 y que tengamos activo el servicio de mysql:

command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_mysql]=/usr/local/nagios/libexec/check_procs -c 1:1 -C mysqld

Ya estaría configurado el cliente, ahora hay que añadirlo en el servidor del Nagios, en el archivo de configuración del host incluiremos los servicios:

define service{
use                            local-service
host_name                      blthd01
service_description            Memoria RAM
check_command                  check_nrpe!check_mem
}

define service{
use                            local-service
host_name                      blthd01
service_description            Particion Root
check_command                  check_nrpe!check_sda1
}

define service{
use                            local-service
host_name                      blthd01
service_description            MySQL
check_command                  check_nrpe!check_mysql
}

Solo quedará reiniciar el servicio de Nagios:

# service nagios restart

Nagios: Configurar un nuevo host y sus servicios

Una vez instalados el Nagios y el NRPE, vamos a configurar el primer host.

Los hosts los tengo configurados por carpetas, es decir, en el /usr/local/nagios/etc tengo varias carpetas, una para servidores, otra para swtich, etcetera, cada una para los hosts que son parecidos.

Lo que haremos primero será crear una carpeta:

# /usr/local/nagios/etc/servers

Añadimos la carpeta al archivo de configuración de Nagios /usr/local/nagios/etc/nagios.cfg, para escribiremos la siguiente linea:

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

Iremos a la carpeta que hemos creado y creamos un nuevo documento finalizado por la extensión .cfg:

# nano server1.cfg

Y escribimos la configuración del servidor:

define host{
        use                     linux-server
        host_name               server1
        alias                   server1
        address                 IP-del-cliente
}

Luego añadiremos los primeros servicios:

define service{
         use                            local-service
         host_name                      server1
         service_description            Particion Root
         check_command                  check_nrpe!check_sda1
}

define service{
         use                            local-service
         host_name                      server1
         service_description            Carga CPU
         check_command                  check_nrpe!check_load
}

Una vez que tengamos esto, vamos a revisar los use, que se encuentra en el fichero templates.cfg. Revisaremos la definición del linux-server:

define host{
name                            linux-server    ; The name of this host template
use                             generic-host    ; This template inherits other values from the generic-host template
check_period                    24x7            ; By default, Linux hosts are checked round the clock
check_interval                  5               ; Actively check the host every 5 minutes
retry_interval                  1               ; Schedule host check retries at 1 minute intervals
max_check_attempts              10              ; Check each Linux host 10 times (max)
check_command                   check-host-alive ; Default command to check Linux hosts
notification_period             24x7    ; Linux admins hate to be woken up, so we only notify during the day
                                        ; Note that the notification_period variable is being overridden from
                                        ; the value that is inherited from the generic-host template!
notification_interval           30              ; Resend notifications every 30 min
notification_options            d,u,r           ; Only send notifications for specific host states
contact_groups                  admins          ; Notifications get sent to the admins by default
register                        0               ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
hostgroups                      linux-servers
}

Solo he añadido el hostgroups con linuxservers, el notificaction_period que lo cambié a 24×7 y el notification_interval lo cambie de 120 minutos a 30.

Luego tendríamos que crear el archivo de configuración de hostgroups en el /usr/local/nagios/etc/objects:

# nano /usr/local/nagios/etc/objects/hostgroups.cfg

Y lo añadimos al archivo de configuración de Nagios:

cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg

En el hostgroups.cfg añadimos lo siguiente para crear los hostgroups tanto de los servidores que tengamos de linux como de windows, estos ultimos tenemos que revisar que esten incluido en el template de windows-server como hicimos con el de linux:

define hostgroup{
         hostgroup_name  windows-servers ; The name of the hostgroup
         alias           Windows Servers ; Long name of the group
}

define hostgroup{
         hostgroup_name  linux-server ; The name of the hostgroup
         alias           Linux Servers ; Long name of the group
}

Finalmente hay que comprobar que todo esta correctamente:

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Reiniciamos el servicio de Nagios:

# service nagios restart

Ya tendremos el nuevo host monitorizando dos servicios.

Configurar red estática en Ubuntu Server 14.04 LTS

En Ubuntu viene por defecto el DHCP activado, a continuación os explicaré como configurar una IP estática.

ubuntu-14_04

Lo primero es abrir el documento de interfaces:

$ sudo nano /etc/network/interfaces

Dentro nos encontramos que esta configurado como DHCP, lo editaremos con la IP estática y la configuración que queramos:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0

# DHCP not needed
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.10.15
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.1
dns-nameservers 8.8.8.8 8.8.4.4

Guardarmos y ahora iremos a editar resolv.conf:

$ sudo nano /etc/resolv.conf

Le añadimos:

nameserver 8.8.8.8
nameserver 8.8.4.4
search midominio.local

Lo siguiente es añadir la IP fija al archivo hosts:

$ sudo nano /etc/hosts

Y le añadimos:

192.168.10.15   vmtest01.midominio.local  vmtest01

Reiniciamos la tarjeta de red:

$ sudo ifdown eth0 && sudo ifup eth0

Lo hacemos de esa forma ya que el Ubuntu 14.04 tiene un bug, no  funciona correctamente el servicio networking, para solucionarlo debemos  hacer lo siguiente:

$ sudo apt-get install git
$ sudo git clone https://github.com/metral/restore_networking.git
$ cd restore_networking/
$ sudo ./restore_networking.sh

$ sudo service networking restart
networking stop/waiting
networking start/running