nagios

18
INSTITUTO TECNOLÓGICO DE TEHUACÁN CARRERA: ING. EN SISTEMAS COMPUTACIONALES ASIGNATURA: ADMINISTRACION DE REDES NAGIOS INTEGRANTES ALMA SAGRARIO BELTRAN DURAN 11360565 YAZMIN URRIETA HERNANDEZ 11360658 PROFESOR: ING FRANCISCO VAZQUEZ GUZMAN TEHUACAN PUE., MAYO 2015

Upload: alma-beltran

Post on 16-Aug-2015

34 views

Category:

Technology


2 download

TRANSCRIPT

INSTITUTO TECNOLÓGICO DE TEHUACÁNCARRERA: ING. EN SISTEMAS COMPUTACIONALES

ASIGNATURA: ADMINISTRACION DE REDES

NAGIOSINTEGRANTES

ALMA SAGRARIO BELTRAN DURAN11360565

YAZMIN URRIETA HERNANDEZ11360658

PROFESOR: ING FRANCISCO VAZQUEZ GUZMANTEHUACAN PUE., MAYO 2015

NAGIOS

Nagios es un sistema de monitorización de redes ampliamente utilizado, de código abierto, que vigila los equipos (hardware) y servicios (software) que se especifiquen, alertando cuando el comportamiento de los mismos no sea el deseado.

Se trata de un software que proporciona una gran versatilidad para consultar prácticamente cualquier parámetro de interés de un sistema, y genera alertas, que pueden ser recibidas por los responsables correspondientes mediante (entre otros medios) correo electrónico y mensajes SMS, cuando estos parámetros exceden de los márgenes definidos por el administrador de red.

Llamado originalmente Netsaint, nombre que se debió cambiar por coincidencia con otra marca comercial, fue creado y es actualmente mantenido por Ethan Galstad, junto con un grupo de desarrolladores de software que mantienen también varios complementos.

Nagios fue originalmente diseñado para ser ejecutado en GNU/Linux, pero también se ejecuta bien en variantes de Unix.

Nagios está licenciado bajo la GNU General Public License Version 2 publicada por la Free Software Fundation.

DESCRIPCION

Monitorización de servicios de red (SMTP, POP3, HTTP, NNTP,ICMP, SNMP).

Monitorización de los recursos de equipos hardware (carga del procesador, uso de los discos, logs del sistema) en varios sistemas operativos, incluso Microsoft Windows con los plugins NRPE_NT oNSClient++.

Monitorización remota, a través de túneles SSL cifrados o SSH.

Diseño simple de plugins, que permiten a los usuarios desarrollar sus propios chequeos de servicios dependiendo de sus necesidades, usando sus herramientas preferidas (Bash, C++, Perl,Ruby, Python, PHP, C#...).

Chequeo de servicios paralizados.

Posibilidad de definir la jerarquía de la red, permitiendo distinguir entre host caídos y host inaccesibles.

Instalar Nagios vía apt-get: Accedemos vía SSH al terminal, ya sea con Putty en Windows, con el Terminal en

Mac OS o Linux y actualizamos nuestro apt-get: sudo apt-get update

sudo apt-get upgrade

Luego instalamos nagios3: Sudo apt-get install nagios3 nagios-plugins nagios-nrpe-plugin

sudo apt-get install nagios-nrpe-server nagios-plugins

Aparecerá una pantalla azul solicitando dos veces la contraseña de la administración Web de Nagios, será necesaria cada vez que queramos acceder al panel Web de gestión, el usuario es nagiosadmin.

Ya tenemos instalado el servicio y activo en la url: http://ip_del_terminal/nagios3 .

Añadir equipos, grupos y servicios a la configuración

Ya tenemos el panel de gestión accesible en la carpeta nagios3 del servidor web con el usuario “nagiosadmin” y la contraseña que establecimos al instalarlo, pero si accedemos podemos ver que sólo hay un equipo, el propio servidor que se “autoañade” al panel.

Lo óptimo es añadir equipos organizados en ficheros según su tipo, switches y routers en un fichero (switch.cfg), equipos Windows en otro (windows.cfg), etc…

El primero que añadiremos será nuestro propio router, ya que todo el mundo tiene uno siempre encendido, crearemos un fichero switch.cfg en la ruta: /etc/nagios3/objects/switch.cfg con el siguiente contenido:

# HOSTS DEFINITIONS

# ROUTER 1

define host {

use generic-host

host_name router1

display_name Router1

address 192.168.1.1

check_period 24x7

check_interval 5

retry_interval 1

max_check_attempts 10

}

 

# SERVICE DEFINITIONS

define service {

use generic-service

host_name router1

service_description PING

check_command check_ping!200.0,20%!600.0,60%

normal_check_interval 5

retry_check_interval 1

}

Para crear el fichero desde cero puedes usar el comando:

sudo nano /etc/nagios3/objects/switch.cfg

En el primer bloque de código hemos añadido el host (router) y en el segundo hemos creado un servicio que hace ping cada 5 minutos, si falla, lo intenta cada minuto, devolviendo alerta crítica cuando el ping tarda más de 600ms y una alerta cuando supera los 200ms.

En la definición del Host tenemos ciertas propiedades y valores, los más importantes son: use: indica que tipo de máquina se va a analizar, por defecto sería “generic-host”, esto aplica

ciertas propiedades según las plantillas analizadas, veremos otras más adelante.

host_name: es el nombre del host, es importante porque será nuestro identificador a la hora de asociar servicios por ejemplo.

display_name: Nombre a mostrar en el panel de gestión.

address: Dirección IP de la máquina a ser analizada.

check_period: Es opcional e indica el periodo de actividad del host, se puede establecer a diferentes valores como por ejemplo 24×7 que indica que está siempre activo (24h 7 días), es posible definir periodos de tiempo (horarios de apertura de una tienda por ejemplo), más información acerca de los “time periods” en:http://nagios.sourceforge.net/docs/3_0/timeperiods.html.

Las propiedades más importantes de la definición de los servicios son: use: indica el tipo de servicio, usaremos “generic-service”.

host_name: Establece el host o hosts (separados por comas) a los que afectará este servicio.

service_description: Texto descriptivo de la funcionalidad del servicio.

check_command: Es el comando que se lanzará contra el host, existen muchos predefinidos y podemos crear más, los comandos predefinidos están en la ruta /usr/lib/nagios/plugins, hay mucha información en Google de cómo funciona y cómo parametrizar cada comando.

nombre_check_interval: El tiempo transcurrido entre cada ejecución del comando.

retry_check_interval: El tiempo que transcurre desde que hay una ejecución del comando fallida y el siguiente intento.

Ahora que hemos añadido un nuevo host y nuevo servicio en el archivo switches.cfg, tenemos que decirle a Nagios que lea ese fichero al iniciar el servicio, para ello tenemos que editar el fichero nagios.cfg situado en: /etc/nagios3/nagios.cfg, y quitar la almohadilla (#) de la linea que dice:

cfg_file=/etc/nagios3/objects/switch.cfg

De esta forma ya no es un comentario y la ejecutará al iniciar el servicio.

Ahora, para que los cambios tengan efecto y aparezca nuestro nuevo host y servicio en el panel tenemos que reiniciar el servicio nagios.

Reiniciar el servicio Nagios3 para que los cambios tengan efecto: sudo service nagios3 restart

Con esto ya deberíamos ver nuestro router en el panel de gestión, en la sección Hosts, y en la sección servicios, deberíamos ver el ping que se le hace al router, captura de pantalla:

Instalación de Nagios

Todo el proceso de instalación se hace desde la consola. Recordemos que se trata de un servidor, como menos cosas tengamos instaladas mejor. Hay que iniciar sesión con un usario con los permisos correspondientes para hacer este tipo de instalación, para esta entrada se utiliza el usuario root. Empezamos por instalar, si no lo está, el compilador GCC y sus dependencias. yum -y install gcc

Creación del usuario y grupo para utilizar en los servicios de Nagios: useradd nagios

groupadd nagcmd

usermod -a -G nagcmd nagios

Nagios no es un único paquete que se instala y ya está. Lo forman diferentes componentes y a la vez un montón de añadidos, casi para controlarlo todo, que se añaden según las necesidades.

Nagios core. Es el núcleo del entorno de monitorización, lo primero que hay que instalar y que lo hace funcionar todo.

Nagios Plugins. Son complementos, o también llamados comandos, para poder monitorizar diferentes dispositivos, servicios, hardware, etc… El paquete Nagios Plugins corresponde a comandos básicos para empezar a funcionar y, que se pueden ampliar según las necesidades. Tenéis un puñado en el directorio de intercambio Exchange Nagios.

Nagios FrontEnd. El entorno Nagios no es lo que se llama, precisamente, de lo más bonito, tampoco es su objetivo. LosFrontEnds son temas o interfaces enteras que hacen más agradable o adaptable el entorno a las necesidades de cada uno. Es la manera de representar gráficamente los datos recogidos.

Para la instalación de nuestro entorno de monitorización Nagios utilizaremos los siguientes paquetes, en su vertiente de software libre: Nagios core v. 4.0.8 – 

http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz

Nagios plugins v. 2.0.3 – http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

Vantour Style – http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip

Creamos una carpeta temporal para descargar todos estos paquetes mkdir /tempnagios

cd /tempnagios

Para descargar directamente sobre el servidor Linux, instalar WGET (este último es opcional). yum -y install wget

Hacer la descarga de los diferentes paquetes: wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz

wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz

wget http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip

Una vez se hayan descargado los tres archivos, es el turno de descomprimirlos. De momento los instaladores:

tar zxvf nagios-4*

tar zxvf nagios-plugins-*

Con lo que nos quedará similar a la captura de pantalla:

Borrar los archivos comprimidos:

rm -f nagios-4*.tar.gz

rm -f nagios-plugins-2*.tar.gz

Preparar para compilar la aplicación, asignando el grupo de seguridad a utilizar. Primero, acceder al directorio donde se ha descomprimido el archivo de Nagios core descargado (naturalmente, se debe cambiar la ruta de los directorios según la instalación). Ejecutar la instrucción configure asignando a la instalación el grupo de seguridad para Nagios nagcmd creado anteriormente:

cd /tempnagios/nagios-4.0.8

./configure --with-command-group=nagcmd

Compilar y instalar la aplicación:

make all

make install

make install-init

make install-config

make install-commandmode

make install-webconf

Creación del usuario para acceder al entorno web, por ejemplo: nagiosadmin.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Pide la contraseña del nuevo usuario. Con este método, se pueden añadir tantos usuarios como se crea oportuno.

No olvidarse de reiniciar el servicio web del Apache para que aplique los cambios del nuevo directorio web de Nagios, sino no se cargará nada:

systemctl restart httpd

Configurar para instalar los plugins (recordar que los directorios se deben cambiar por los correspondientes en cada caso):

cd /tempnagios/nagios-plugins-2.0.3

./configure --with-nagios-user=nagios --with-nagios-group=nagcmd

Compilar y instalar los plugins:

make

make install

Habilitar el servicio de Nagios para iniciarse automáticamente cada vez que se inicie el servidor y se ponga en marcha:

chkconfig --add nagios

chkconfig --level 35 nagios on

systemctl start nagios

Se puede comprobar que funciona abriendo un navegador Web y accediendo a la dirección de Nagios. Corresponde al nombre del servidor web y el directorio virtual /nagios, por ejemplo: http://servidor/nagios. Al hacerlo, pide nombre deusuario y contraseña. Son los que se han establecido con el comando htpasswd: nagiosadmin. Si todo está correcto se abre la página principal de Nagios. Es un primer paso, pero no el último.