manual final nagios

63
1 UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPARTAMENTO DE INGENIERIA Y ARQUITECTURA Cátedra: Comunicaciones II Tema: Gestión e inventario de red Docente: Ing. Juan Carlos Peña Moran Integrantes: Aguilar Puente, Erick Rafael Mazariego Martínez, Jeannette Beatriz Rincán Regalado, Tania Lissethe Santa Ana 24 de junio de 2011

Upload: rpm-alerts

Post on 30-Nov-2014

33.244 views

Category:

Travel


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Manual final nagios

1

UNIVERSIDAD DE EL SALVADOR

FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE

DEPARTAMENTO DE INGENIERIA Y ARQUITECTURA

Cátedra:

Comunicaciones II

Tema:

Gestión e inventario de red

Docente:

Ing. Juan Carlos Peña Moran

Integrantes:

Aguilar Puente, Erick Rafael

Mazariego Martínez, Jeannette Beatriz

Rincán Regalado, Tania Lissethe

Santa Ana 24 de junio de 2011

Page 2: Manual final nagios

2

Indice

Indice

MONITOR Y ANALIZADOR DE RED NAGIOS…………………………………………………………………..5

INSTALACION DE NAGIOS………………………………………….…………………………………………………7

Instalación de paquetes……………………………………………………………………………………………………………….8

Crear cuenta de nagios y contraseña…………………………………………………………………………………………..8

Descarga de nagios y plugins………………………………………………………………………………………………………..8

Compila el código fuente……………………………………………………………………………….................................8

Configuración de la interfaz de Nagios………………………………………………………………………………………….9

Abrir Nagios en el navegador………………………………………………………………………………………………………..11

INSTALACIÓN DE OCS INVENTORY NG AGENT 2.0 ……………………………………………………….22

Instalación módulos necesarios……………………………………………………………….....................................23

Instalación módulos opcionales…………………………………………………………………………………………………..23

Configuración del servidor de gestión………………………………………………………………………………………….24

Instalación del Servidor OCS Inventory NG 1.0 para Debian………………………….................................25

Instalación del servidor de administración……………………..…………………………………………………………..27

Instalación de Servidor OCS Inventory NG 1.0 para Windows………………………………………………………28

Instalación del servidor de administración………………………………………………………………………..………..28

Page 3: Manual final nagios

3

INSTALACION DE PNP4 PARA VISUALIZACION DE GRAFICAS………………………………………..33

Instalación de RRDTOOLS……………………………………………………………………………………………………………….33

Instalación de PNP4………………………………………………………………………………………………………………………..33

Integración PNP4 con panel Nagios……………………………………………………………………………………………….36

INSTALACION DE NSCLIENT++………………………………………………………………………………………38

Monitoreando Equipos con Windows………………………………………………………………………………………38

Prerrequisitos………………………………………………………………………………….………………………………………40

Instalando el agente Windows………………………………………………………………………………………………...41

Configurando Nagios………………………………………………………………………………………………………………..45

Agregando Servicios………………………………………………………………………………………………………………..45

Protección con Contraseña………………………………………………………………………………………………………48

INSTALACION DE MySQL……………………………………………………………………………………………..47

Compilación………………………………………………………………………………………………………………………………….47

Establecer la contraseña……………………………………………………………………………………………………………….48

Comprobación de la nueva contraseña………………………………………………………………………………………….49

Paquetes……………………………………………………………………………………………………………………………………….51

SCRIPT PARA LA DETECCCION AUTOMATICA DE HOST…………………………………………………55

Page 4: Manual final nagios

4

CAMBIO DE ASPECTO WEB………………………………………………………………………………………….56

Cambio de Idioma…………………………………………………………………………………………………………………………58

MODIFICANDO PRIORIDAD DE LAS NOTIFICACIONES………………………………………………….58

TOPOLOGÍA……………………………………………………………………………………..………………………….60

PROTOCOLOS………………………………………………………………………………………………….…………..61

APECTO WEB FINAL…………………………………………………….…………………………………………..….63

Page 5: Manual final nagios

5

Monitor y Analizador de Red Nagios

Las redes de cómputo de las organizaciones, se vuelven cada vez más complejas y la

exigencia de la operación es cada vez más demandante. Las redes, cada vez más, soportan

aplicaciones y servicios estratégicos de las organizaciones. Por lo cual el análisis y

monitoreo de redes se ha convertido en una labor cada vez mas importante y de carácter

pro-activo para evitar problemas.

Para prevenir errores en un sistema existe podemos utilizar un equipo que se ocupe de

estar “controlado y observando” el funcionamiento de la red, esto podemos realizarlo por

medio de un software llamado Nagios.

Nagios es un sistema de monitorización de equipos y de servicios de red, escrito en C y

publicado bajo la GNU General Public License, el lenguage con el cual está desarrollado

nos asegura una rápida ejecución y su licencia que lo determina como Software Libre nos

asegura que siempre tendremos actualizaciones disponibles y que hay una gran

comunidad de desarrolladores soportándolo.

Creado para ayudar a los administradores a tener siempre el control de qué está pasando

en la red que administran y conocer los problemas que ocurren en la infraestructura que

administran antes de que los usuarios de la misma los perciban, para así no sólo poder

tomar la iniciativa, sino asumir la responsabilidad de hacer que las cosas sucedan; decidir

en cada momento lo que queremos hacer y cómo lo vamos a hacer, debido a que este

software nos permite obtener datos, interpretarlos y tomar decisiones en base a ello

como:

• Conservar y almacene datos de la red para manejar reportes y tendencias

• Ver y analizar la red, así como el tráfico de la red a través del tiempo

• Monitorear el estado de la red en comparación a los reportes de análisis

• Generar reportes sustentados para justificar las necesidades de actualización de la red

Que se puede hacer con Nagios

• Monitorización de servicios de red

• Monitorización de los recursos de un host (carga del procesador, uso de los discos,

logs del sistema) en varios sistemas operativos, incluso Microsoft Windows.

Page 6: Manual final nagios

6

• Chequeo de servicios paralizados.

• Posibilidad de definir la jerarquía de la red, permitiendo distinguir entre host caídos

y host inaccesibles.

• Notificaciones a los contactos cuando ocurren problemas en servicios o hosts, así

como cuando son resueltos (Vía email, SMS o cualquier método definido por el

usuario junto con su correspondiente complemento).

• Posibilidad de definir manejadores de eventos que ejecuten al ocurrir un evento de

un servicio o host para resoluciones de problemas proactivas.

• Interfaz web opcional, para observar el estado de la red actual, notificaciones,

historial de problemas, archivos de registros, etc.

• Reportes y estadísticas del estado cronológico de disponibilidad de servicios y

hosts.

A continuación se presenta una manual completo de la instalación de nagios junto con

todas las mejoras que se le ha hecho, tales como la incorporación de OCS Inventory NG

Agent 2.0 que es una aplicación para el inventario de los PC's de la red y PNP4 para

visualización de gráficas.

Page 7: Manual final nagios

7

INSTALACIÓN NAGIOS

Conociendo los archivos de configuración de nagios

Según la instalación que Los archivos de configuración se encuentran en /usr/local/nagios/etc/objects Archivos principales: contacts.cfg Archivo donde guardamos los usuarios. Es necesario tener tener un usuario administrador, el cual se tiene que corresponder con el usuario del .htpasswd que le hemos dicho al apache. contactgroups.cfg Aquí añadimos los diferentes usuarios que hayamos podido crear en el contacts.cfg a los grupos que queramos para luego poder filtrar (si nos interesa). Puede que tengamos varios usuarios con diferentes permisos y nos interese que lleguen correos a diferentes direcciones. nagios.cfg Archivo de configuración principal. Es necesario decirle dónde están los archivos de configuración, y si queremos o no activar propiedades. cgi.cfg Archivo para dar accesos a los usuarios a los archivos de CGI. Los usuarios que hayamos creado en el contacts.cgi tienen que estar añadidos a las partes que queramos. hosts.cfg Archivo donde le tenemos que añadir todos los hosts que queramos monitorizar. Necesitamos añadir una entrada dentro de éste archivo por cada host que tengamos en la red. hostgroups.cfg Archivo en el cual añadiremos los grupos a los que pertenece cada host. Util para diferenciar los grupos de forma visual, ya que la interfaz web te los puede separar en grupos.

Page 8: Manual final nagios

8

COMENZANDO CON LA INSTALACION DE NAGIOS

Es necesario tener instalados los siguientes paquetes previamente:

sudo apt-get install apache2

sudo apt-get install libapache2-mod-php5

sudo apt-get install build-essential

sudo apt-get install libgd2-xpm-dev

Empieza a ser root

sudo -s

Crear cuenta de nagios y dale contraseña y creamos grupo nagcmd y asignamos al

usuario nagios a este grupo nuevo

/usr/sbin/useradd -m -s /bin/bash nagios

passwd nagios

/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -a -G nagcmd nagios

/usr/sbin/usermod -a -G nagcmd www-data

Descargar nagios y plugins

mkdir ~/downloads

cd ~/downloads

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz

Page 9: Manual final nagios

9

wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-

1.4.11.tar.gz

Compila e instala Nagios

tar xzf nagios-3.2.3.tar.gz

cd nagios-3.2.3

./configure –with-command-group=nagcmd

Compila el codigo fuente

make all

make install

make install-init

make install-config

make install-commandmode

No empiezes nagios todavía…

Configurar la interfaz de Nagios

make install-webconf

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

Reiniciamos apache

Page 10: Manual final nagios

10

/etc/init.d/apache2 reload

Compila e instala los plugins y configurar

cd ~/downloads

tar xzf nagios-plugins-1.4.11.tar.gz

cd nagios-plugins-1.4.11

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

make

make install

Instalamos el módulo SNMP de perl.

Perl -MCPAN -e "install Net::SNMP"

(… a cualquier pregunta respondemos yes)

Configura nagios para que arranque automáticamente al arrancar el sistema.

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Verificar los archivos de configuración de Nagios

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

NOTA: ESTE PASO NO DEBE DAR ERRORES, SI DA ALGÚN ERROR, DEBES MIRAR SI EL ERROR

TE DICE QUE TE FALTA ALGO INSTALADO Y LO INSTALAS. SI ES OTRA COSA ES PORQUE TE

HAS SALTADO ALGÚN PASO.

Page 11: Manual final nagios

11

SI NO HAY ERRORES INICIAMOS NAGIOS CON

/etc/init.d/nagios restart

ABRIR NAGIOS EN TU NAVEGADOR

http://localhost/nagios/

EN ESTE PUNTO DE LA INSTALACIÓN TE DEBE DE SALIR EN TU NAVEGADOR TU PANEL DE

CONTROL DE NAGIOS. TE PEDIRÁ CONTRASEÑA Y USUARIO. EL USUARIO SERÁ

NAGIOSADMIN Y SU CONTRASEÑA SERÁ LA QUE LE HAYAS DADO.

Page 12: Manual final nagios

12

HABILITAR ARCHIVOS DE CONFIGURACION

Para poder editar los archivos de configuracion de nagios debera:

Editar su archivo de configuración de Nagios principal (main).

Nano /usr/local/nagios/etc/nagios.cfg

Quite el caracter (#) de las líneas de los archivos de configuración que necesita editar:

Guarde su archivo de configuración (ctrl+o) y salga (ctrl+x)

CONFIGURACION DE EMAIL PARA EL ENVIO DE NOTIFICACIONES

Instalamos mail. Que es el comando que Nagios usará para el envío de mail.

apt-get install mailutils

Page 13: Manual final nagios

13

Creamos enlace para el comando mail.

ln -s /usr/bin/mail /bin/mail

Instalamos postfix como medio de transporte para el envío de correo.

apt-get install postfix

(cuando nos pregunte por “General type of mail configuration” respondemos “Internet

Site”)

(cuando nos pregunte por el nombre del host le indicamos el nombre de la máquina

completo)

En este punto tenemos el sistema de correo, pero no configurado. Vamos a

configurarlo con un sistema externo, en nuestro caso con una cuenta de correo de GMail.

Copiamos la configuracion original del postfix.

cp -p /etc/postfix/main.cf /etc/postfix/main.cf.original

Creamos nuestra configuración para GMail.

echo "" > /etc/postfix/main.cf

nano -w /etc/postfix/main.cf

El contenido del fichero sería:

relayhost = [correo.uesocc.edu.sv]:25

smtp_use_tls = yes

smtp_tls_CAfile = /etc/postfix/cacert.pem

smtp_sasl_auth_enable = yes

smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd

smtp_sasl_security_options = noanonymous

Page 14: Manual final nagios

14

Generemos fichero con la autenticación.

nano -w /etc/postfix/sasl/passwd

El contenido del fichero sería:

[correo.uesocc.edu.sv]:25 [email protected]:tioperiquito

Reemplazando la cuenta de correo y contraseña por una cuenta valida de Gmail.

Page 15: Manual final nagios

15

Asigamos permisos adecuados.

chmod 600 /etc/postfix/sasl/passwd

Transformamos el fichero passwd a un fichero indexado hash.

postmap /etc/postfix/sasl/passwd

Añadimos la autoridad certificadora.

cat /etc/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem

Reiniciamos postfix.

/etc/init.d/postfix restart

Probar el envío de correo.

Para probar si esta todo correcto, podemos hacelo enviando un mail con la siguiente

orden:

mail -s "el.asunto" [email protected]

CTRL+D ( para enviarlo )

En el fichero:

Page 16: Manual final nagios

16

/var/log/mail.log

Debemos ver los logs del envío a la dirección de correo indicada ([email protected]).

Sep 27 13:38:47 ubuntu postfix/smtp[20410]: 193D11BC65: to=, relay=smtp.gmail.com[74.

125.47.109]:587, delay=10, delays=0.15/0.02/7.3/3, dsn=2.0.0, status=sent (250 2.0.0 OK 12

85619937 t2sm6274965yba.14)

Sep 27 13:38:47 ubuntu postfix/qmgr[20385]: 193D11BC65: removed Sep 27 13:38:48 ub

untu postfix/smtp[20398]: 748501BC5F: to=, relay=smtp.gmail.com[74.125.157.109]:587,

delay=24, delays=0.04/0.23/21/2.6, dsn=2.0.0, status=sent (250 2.0.0 OK 1285619938 u24s

m9645159yba.21)

Sep 27 13:38:48 ubuntu postfix/cleanup[20395]: 2FD691BC64: message-

id=<[email protected]>

Cambiando la configuración de contactos.

Para cambiar el destinatario o destinatarios de correo para las notificaciones debemos

editar el fichero:

/usr/local/nagios/etc/objects/contacts.cfg

El cual contiene la información de grupo de contactos. Así como sus nombres y direcciones

de correo.

Vaciamos y editamos el fichero de contactos:

echo "" > /usr/local/nagios/etc/objects/contacts.cfg

nano -w /usr/local/nagios/etc/objects/contacts.cfg

El contenido del fichero seria:

define contact{

contact_name administrador1

use generic-contact

alias Nombre Administrador 1

email [email protected]

}

define contact{

Page 17: Manual final nagios

17

contact_name administrador2

use generic-contact

alias Nombre Administrador 2

email [email protected]

}

define contactgroup{

contactgroup_name admins

alias Administradores Nagios

members administrador1,administrador2

}

Como se puede observar, hemos creado dos administradores y un solo grupo para los dos.

Cada uno de estos contactos con su dirección de correo donde recibirán las notificaciones.

Comprobando configuración y reiniciando Nagios.

Con el siguiente comando podemos comprobar que los cambios realizados en la

configuración son correctos:

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

El cual debe darnos una salida terminada en:

Page 18: Manual final nagios

18

Total Warnings: 0

Total Errors: 0

Si es correcto reiniciamos Nagios:

/etc/init.d/nagios restart

Una manera de probar que la notificación se envía a las dos direcciones es editando el

fichero de configuración:

nano -w /usr/local/nagios/etc/objects/localhost.cfg

Y al final del fichero donde pone:

define service{

use local-service ; Name of service template to use

host_name localhost

service_description HTTP

check_command check_http

notifications_enabled 0

}

Cambiamos el 0 de la propiedad:

notifications_enabled

define service{

use local-service ; Name of service template to use

host_name localhost

service_description HTTP

check_command check_http

notifications_enabled 1

}

Reiniciamos nuevamente Nagios y hacemos un stop del servicio http.

Page 19: Manual final nagios

19

/etc/init.d/nagios restart

/etc/init.d/apache2 stop

Viendo los logs del sistema, podremos ver cuando Nagios haga el check y envíe el correo:

tail -f /var/log/syslog

Pasados unos minutos y tras pasar las comprobaciones veremos algunas líneas parecidas a

estas:

Sep 27 14:23:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;1;Connecti

on refused

Sep 27 14:24:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;2;Connecti

on refused

Sep 27 14:25:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;SOFT;3;Connecti

on refused

Sep 27 14:26:36 ubuntu nagios: SERVICE ALERT: localhost;HTTP;CRITICAL;HARD;4;Connecti

on refused

Sep 27 14:26:36 ubuntu nagios: SERVICE NOTIFICATION: administrador2;localhost;HTTP;CR

ITICAL;notify-service-by-email;Connection refused

Sep 27 14:26:36 ubuntu postfix/pickup[20383]: 338BE1BC64: uid=1001 from=

Sep 27 14:26:36 ubuntu nagios: SERVICE NOTIFICATION: administrador1;localhost;HTTP;CR

ITICAL;notify-service-by-email;Connection refused

Sep 27 14:26:36 ubuntu postfix/cleanup[25466]: 338BE1BC64: message-

id=<[email protected]>

Sep 27 14:26:36 ubuntu postfix/qmgr[20385]: 338BE1BC64: from=, size=597, nrcpt=1 (que

ue active)

Sep 27 14:26:36 ubuntu postfix/pickup[20383]: 5231E1BC62: uid=1001 from=

Sep 27 14:26:36 ubuntu postfix/cleanup[25466]: 5231E1BC62: message-

id=<[email protected]>

Como podemos observar en el cuarto intento, ha intentado enviar las notificaciones a

los contactos que hemos definido anteriormente.

AÑADIR NUEVO HOST EN EL FICHERO LOCALHOST.CFG

Editamos en la siguiente dirección:

Page 20: Manual final nagios

20

nano -w /usr/local/nagios/etc/objects/localhost.cfg

define host{

use linux-server

host_name linux

alias mylinux

address 192.168.1.106

}

Agregamos los servicios que deseamos que tenga:

define service{

use local-service

host_name Ubuntu2

service_description PING

check_command check_ping!100.0,20%!500.0,60%

}

define service{

use local-service

host_name Ubuntu2

service_description Root Partition

check_command check_local_disk!20%!10%!/

}

define service{

use local-service

host_name Ubuntu2

service_description Current Load

check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0

}

Page 21: Manual final nagios

21

define service{

use local-service

host_name Ubuntu2

service_description Swap Usage

check_command check_local_swap!20!10

}

define service{

use local-service

host_name Ubuntu2

service_description SSH

check_command check_ssh

notifications_enabled 0

}

define service{

use local-service ; Name of service template to use

host_name Ubuntu2

service_description HTTP

check_command check_http

notifications_enabled 1

}

Reiniciamos Nagios.

/etc/init.d/nagios restart

En este punto ya tenemos 3 host agregados y en nagios ya deben aparecer

Page 22: Manual final nagios

22

INSTALACIÓN DE OCS INVENTORY NG AGENT 2.0

OCS Inventory NG es una herramienta que facilita el seguimiento de la configuración y el

software instalado en los ordenadores de una red local, así como la instalación remota de

aplicaciones desde un servidor Web. Es una aplicación que se utiliza para realizar

inventario de los equipos de la red mediante un agente que se instala en el cliente.

También permite el despliegue de paquetes en computadores Windows y Linux

El agente OCS Inventory NG para Linux sólo puede crearse a nivel local. No se puede

implementar el agente a través de la red. Sin embargo, se puede elegir durante la

instalación para activar la actualización automática del agente si se ha elegido el método

HTTP inventario.

Para la instalación debe tener privilegios de root para configurar el servidor de

administración para arriba.

En Debian, como Linux, se puede utilizar "apt-get" herramienta para instalar los módulos

necesarios:

Page 23: Manual final nagios

23

Instalamos los módulos necesarios:

apt-get install dmidecode

apt-get install libxml-simple-perl

apt-get install libcompress-zlib-perl

apt-get install libnet-ip-perl

apt-get install libwww-perl

apt-get install libdigest-md5-perl

apt-get install libnet-perl-SSLeay

Instalamos los módulos opcionales:

apt-get install-libcrypt ssleay-perl (para usar SSL)

apt-get install libnet-snmp-perl (para utilizar la característica SNMP)

apt-get install libproc-pid-file-perl

apt-get install libproc-daemon-perl

apt-get install net-tools

apt-get install libsys-syslog-perl

apt-get install pciutils

apt-get install smartmontools

apt-get install lectura edid

apt-get install nmap

Agente de Unix 2.0 está instalado sin guión "setup.sh". Durante la compilación,

configuración y la información de las dependencias son de retorno. Sin embargo, nunca se

actualiza un módulo de instalación. Si un módulo tiene una versión inferior a sus

necesidades usted debe actualizarla.

Descomprimirlo.

tar –xvzf Ocsinventory-Agent-2.0rc1.tar.gz

cd Ocsinventory-Agent-2.0rc1

Compruebe la configuración de perl con el Makefile.PL guión. Su aspecto en la

Page 24: Manual final nagios

24

configuración de Perl, una máquina, bibliotecas ... y genera el Makefile

perl Makefile.PL

Compilación

make

make install

Configuración del servidor de gestión.

Un servidor de administración está formado por cuatro componentes principales:

El servidor de base de datos, que almacena la información del inventario

El servidor de comunicación, que se ocupa de las comunicaciones HTTP entre el

servidor de base de datos y de los agentes.

Consola de administración, que permite a los administradores para consultar el

servidor de base de datos utilizando su navegador favorito.

El servidor de implementación, que almacena toda la configuración de

implementación de paquetes (requiere HTTPS!)

Suponemos que usted tiene:

Servidor de base de datos MySQL corriendo en alguna parte y escuchando en el

puerto por defecto 3306 con comunicación TCP / IP activado.

El servidor Web Apache instalado y funcionando para el servidor de Comunicación

y el servidor de administración.

PHP y Perl instalados y disponibles al servidor web Apache para la consola de

administración.

Perl y mod_perl instalados y disponibles al servidor web Apache para el servidor de

Comunicación.

Page 25: Manual final nagios

25

Nota: la instalación del servidor OCS Inventory NG de verificación de todos estos

componentes y se cerrará si no se encuentra.

Instalación de servidor de Comunicación módulos PERL requeridos.

El servidor Web requiere la comunicación del servidor web Apache y Perl 5 lenguaje de

scripts y módulos adicionales de Perl 5. Actúa como un módulo de Apache, que controla

las solicitudes HTTP OCS agentes de inventario para un directorio virtual / ocsinventory.

Advertencia: Debe tener privilegios de root para instalar módulos de perl necesarios para

arriba.

Instalar Servidor OCS Inventory NG 1.0 para Debian

En Debian, como Linux, puede utilizar "apt-get" para instalar los módulos necesarios:

apt-get install libxml-simple-perl

apt-get install libcompress-zlib-perl

apt-get install libdbi-perl

apt-get install libdbd-mysql-perl

apt-get install libapache-dbi-perl

apt-get install libnet-ip-perl

apt-get install libsoap-lite-perl

cpan -i XML::Entities

Si un paquete precompilado no está disponible para su distribución, se puede descargar el

código fuente del paquete de http://search.cpan.org y construir en su sistema (marca y

compilador de C debe estar disponible). Por ejemplo:

tar –xvzf package_name.tar.gz

cd package_name

Page 26: Manual final nagios

26

perl Makefile.PL

make

make test

make install

Nota: Si usted no está utilizando el sistema intérprete perl, sino otro como el XAMPP /

intérprete LAMPP perl, usted debe llamar a este intérprete de perl, no el sistema de uno,

especificando la ruta completa para el intérprete de perl. Por ejemplo:

/ Opt / lampp / bin / perl Makefile.PL

Instalación de la consola de administración requiere módulos de PHP

La consola de administración web requiere un servidor web Apache y PHP 4 lenguaje de

scripting y algunos módulos adicionales para PHP (ver Requisitos).

Advertencia: Debe tener privilegios de root para instalar la consola de administración.

Entonces, si usted tiene instalado perl, sólo tienes que escribir

pear install zip

Si no tiene instalado perl, o no hay conexión a Internet, descarga del paquete "zip-

1.3.1.tgz" de http://pecl.php.net/package/zip. En Debian / Ubuntu como sistema,

asegúrese de tener instalado libpcre3 y libpcre3-dev paquetes antes de instalar PECL_ZIP.

Instálelo (paquete php desarrollo es necesario):

tar –xvzf zip-1.3.1.tgz

cd zip-1.3.1

phpize

./configure

make

Page 27: Manual final nagios

27

make install

También es necesario instalar el soporte GD para PHP.

En Debian, como Linux, puede utilizar "apt-get" para instalarlo:

apt-get install php5-gd

Instalación de servidor de administración.

Usted debe tener privilegios de root para configurar el servidor de gestión de arriba.

Nota: Asegúrese de que el motor MySQL InnoDB esté activo en el servidor de base de

datos. Abra my.cnf y asegúrese de que hay una línea "skip-innodb" o esta línea es un

comentario (comienza con'#').

Ver todas las letras OCSNG_LINUX_SERVER_1.01.tar.gz "de OCS Inventory sitio Web.

Descomprimirlo.

tar –xvzf OCSNG_UNIX_SERVER-1.02.1.tar.gz

cd OCSNG_UNIX_SERVER-1.02.1

Ejecutar "setup.sh" instalador. Durante la instalación, la opción por defecto se presenta

entre []. Por ejemplo, [y] / n significa que "y" (sí) es la opción por defecto, y "n" (no) es la

otra opción.

sh setup.sh

Nota: El instalador escribe un archivo de registro "ocs_server_setup.log" en el mismo

directorio. Si encuentra algún error, por favor vaya a este registro de error detallada

Mensajes.

Page 28: Manual final nagios

28

Instalación de Servidor OCS Inventory NG 1.0 para Windows

Instalación del servidor de administración.

Advertencia: Debe tener privilegios de administrador para configurar servidor OCS

Inventory NG bajo Windows NT4, Windows 2000, Windows XP o Windows Server 2003.

Descargar OCSNG_WINDOWS_SERVER_1.02.1.zip de OCS Inventory Sitio Web,

descomprimirlo y lanzar OcsWin32ServerSetup.exe.

Si los componentes XAMPP (servidor y perl addon) no están instalados, el programa de

instalación le indicará que usted tiene que configurar. De lo contrario, el programa de

instalación instalará automáticamente el servidor OCS de inventario en los directorios de

XAMPP.

Haga clic en [Siguiente] para iniciar el asistente de instalación.

Haga clic en [Siguiente] y acepte el acuerdo de licencia.

Seleccione la guía de instalación, por defecto C: \ Archivos de programa \ OCS Inventory

NG. Se necesitan 400 MB de espacio libre en disco duro si los componentes XAMPP no

están instalados, de lo contrario, sólo se requieren 10 MB.

Nota: Al actualizar, debe asegurarse de que el programa de instalación detecta la carpeta

incluyendo el directorio XAMPP. Consulte Actualización de servidor de administración.

Entonces, usted tiene que validar los componentes a instalar. Sólo OCS Inventory NG

Server es necesario, si los componentes XAMPP ya están instalados.

Nota: la instalación del servidor OCS Inventory GN ahora uso estándar de instalación de

XAMPP. Por lo tanto, puede ser capaz de actualizar la instalación existente de XAMPP. Sin

embargo, por defecto, el programa de instalación _no_ actualizar los componentes

XAMPP. Consulte Actualización de servidor de administración

Page 29: Manual final nagios

29

A continuación, hay que elegir el nombre del grupo del programa en el menú de inicio,

donde los iconos de OCS Inventory NG se creó y, a continuación, haga clic en [Instalar] para

iniciar la instalación.

Si la instalación de XAMPP seleccionado, el programa de instalación primero pondrá en

marcha XAMPP 1.5.5 de instalación en modo silencioso. Esto creará una carpeta xampp en

la carpeta de destino, y un programa de grupo de amigos de Apache en el menú de inicio.

Se le pedirá para iniciar XAMPP Control Panel. Por favor, responda No.

A continuación, se pondrá en marcha el programa de instalación de XAMPP complemento

perl en modo silencioso.

Último programa de instalación, se instalarán los archivos del servidor OCS Inventory NG,

configurar servidores XAMPP Apache y MySQL para el servidor OCS Inventory NG, y se

inicia automáticamente servidores MySQL y Apache.

Al final del proceso, el programa de instalación se iniciará el explorador predeterminado

para iniciar la configuración del servidor OCS Inventory NG (véase Configuración de

servidor de administración).

La instalación se ha terminado y usted puede hacer clic en [Finalizado] botón.

Nota: la configuración de OCS Inventory NG para Windows se ha instalado XMAPP

componentes bajo xampp subcarpeta del directorio de instalación seleccionado. Servidor

web Apache documento directorio raíz se encuentra en el subdirectorio htdocs de XAMPP.

Esto es aquí que la administración ocsreports archivos de consola se han instalado.

Archivos del servidor de Comunicación se encuentran ahora en librerías estándar PERL.

Apache logs (access.log, error.log, phperror.log) y el servidor de comunicaciones registros

(ocsinventory-NG.log) se encuentran en el sub-directorio Apache \ Logs ".

Configuración del servidor de administración.

Abra su navegador web favorito en el servidor y apunte a la http://localhost/ocsreports

Page 30: Manual final nagios

30

dirección URL para conectar el servidor de administración.

Se le pedirá información para conectar con el servidor de base de datos MySQL con un

usuario que tiene la capacidad de crear bases de datos, tablas, índices, etc:

MySQL nombre de usuario root por defecto

MySQL contraseña de usuario (contraseña en blanco por defecto)

nombre de host MySQL, localhost

En este punto ya podrá ingresar a ocs reports:

Ingrese su usuario y contraseña y le aparecerá su ocs reports con todos los hosts que ha agregado :

Page 31: Manual final nagios

31

Page 32: Manual final nagios

32

Page 33: Manual final nagios

33

INSTALACION DE PNP4 PARA VISUALIZACION DE GRAFICAS

Previamente necesitamos RRDTool instalado para poder continuar, ya que RRDTool es una

herramienta para guardar y desplegar datos de tiempo-serie (ejemplo: ancho de banda de

una red, temperatura de una maquina en un cuarto, etc., lo bueno de este software es que

guarda la información en una forma muy compacta y que a la larga no se expande

demasiado y puede usarse vía scripts o frontends.

RRD significa Round Robin Database.

INSTALACION DE RRDTOOLS

apt-get install RRDtools

INSTALACIÓN PNP4 (GRAFICAS):

PNP4Nagios es un addon para Nagios que básicamente, nos genera gráficas con los

resultados de los análisis de Nagios, para poder llevar un control más general de la

monitorización de un determinado servidor o servicio en las últimas horas, días, semanas,

meses o incluso años.

cd /usr/local/src/

wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-

0.6.4.tar.gz?use_mirror=ignum

tar zxvf pnp4nagios-0.6.4.tar.gz

cd pnp4nagios-0.6.4

./configure

make all

make install

make install-config

make install-init

nano /usr/local/nagios/etc/nagios.cfg

Page 34: Manual final nagios

34

process_performance_data=1

enable_environment_macros=1

host_perfdata_command=process-host-perfdata

service_perfdata_command=process-service-perfdata

Page 35: Manual final nagios

35

verificamos que no esten comentados process-service-perfdata y process-host-perfdata y

agregamos los siguientes:

nano /usr/local/nagios/etc/objects/commands.cfg

define command {

command_name process-service-perfdata

command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl

}

define command {

command_name process-host-perfdata

command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d

HOSTPERFDATA

}

luego guardar los cambios(ctrl+o) y salir (ctrl+x)

en la consola digitar:

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

cp -pr /usr/local/src/pnp4nagios-0.6.4/sample-config/httpd.conf

/etc/apache2/conf.d/pnp4nagios.conf

/etc/init.d/apache2 reload/restart

cp -pr /usr/local/src/pnp4nagios-0.6.4/contrib/ssi/status-header.ssi

/usr/local/nagios/share/ssi

mv /usr/local/pnp4nagios/etc/npcd.cfg-sample /usr/local/pnp4nagios/etc/npcd.cfg

/etc/init.d/npcd start

*Ahora podemos comprobar si pnp4nagios puede funcionar correctamente accediendo a

http://servernagios/pnp4nagios

Nos tendría que aparecer un test de dependencias, si todo sale correcto aparecerá el

siguiente mensaje:

Page 36: Manual final nagios

36

“Your environment passed all requirements. Remove or rename the install.php file now.”

en la consola:

mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.old

*Volvemos a acceder a http://servernagios/pnp4nagios y nos tendría que aparecer el panel

de pnp4nagios con todas las gráficas.

INTEGRACIÓN PNP4 CON PANEL NAGIOS

Editar el archivo de configuracion:

nano /usr/local/nagios/etc/objects/templates.cfg

escribir en define host la url que hara la conexión de los host con PNP4:

action_url /pnp4nagios/graph?host=$HOSTNAME

process_perf_data 1

Page 37: Manual final nagios

37

escribir en define service la siguiente linea:

process_perf_data 1

Guarde su archivo de configuración (ctrl+o) y salga (ctrl+x)

reinicie nagios

/etc/init.d/nagios restart

/etc/init.d/npcd restart

Page 38: Manual final nagios

38

En nagios debera aparecer el icono que nos enviara a PNP4

INSTALACION DE NSCLIENT++

Monitoreando Equipos con Windows

Describe como monitorear servicios “privados” y atributos en máquinas con Windows,

como por ejemplo:

Uso de Memoria

Carga en CPU

Uso en Disco Duro

Estado en Servicios

Procesos ejecutandose

etc.

Page 39: Manual final nagios

39

Descripción

El monitorear servicios privados o atributos de una máquina con Windows requiere

que usted instale un agente. Este agente actúa como un proxy entre el plugin de

Nagios que realiza el monitoreo y el servicio actual o atributo de la máquina

Windows. Sin instalar un agente en Windows, Nagios no podria monitorear

servicios privados o atributos de Windows.

Para lo cual se instalará el complemento NSClient++ en la máquina con Windows y

se utilizara el plugin check_nt para comunicarnos con el complemento NSClient++.

El plugin check_nt debera ya estar instalado en el servidor de Nagios.

Pasos:

Hay algunos pasos que se deben seguir en orden para monitorear la nueva máquina

Windows.

1. Realizar prerequisitos por primera vez

2. Instalar un agente de monitoreo en la máquina Windows.

3. Crear nuevas definiciones de nuevo equipo (host) y nuevo servicio (service) para

monitorear a la máquina Windows.

4. Reiniciar el servicio de Nagios.

Page 40: Manual final nagios

40

Que es lo que ya se ha hecho por usted?

Algunas tareas de configuración ya se han realizado de manera automática:

Una definición del comando check_nt ha sido agregado al archivo commands.cfg. Esto

permite que se utilice el plugin check_nt para monitorear servicios de Windows.

Una plantilla de equipo de servidor Windows (llamada windows-server) ha sido creada en

el archivo templates.cfg. Esto permite el agregar nuevas definiciones de equipos con

Windows de una manera simple.

Los archivos de configuración anteriormente mencionados pueden ser localizados en el

directorio /usr/local/nagios/etc/objects/.

Prerequisitos:

La primera vez que usted configure Nagios para monitorear una máquina Windows, usted

necesitara realizar un poco más de trabajo. Recuerde, usted necesita realizar esto para la

primera máquina Windows que va a monitorear.

Edite su archivo de configuración de Nagios principal (main).

vi /usr/local/nagios/etc/nagios.cfg

Quite el caracter (#) de la siguiente línea de su archivo de configuración principal:

#cfg_file=/usr/local/nagios/etc/objects/windows.cfg

Page 41: Manual final nagios

41

Guarde su archivo de configuración (ctrl+o) y salga (ctrl+x)

¿Qué es lo que ha hecho?

Le acaba de decir a Nagios que vea el archivo /usr/local/nagios/etc/objects/windows.cfg

para buscar definiciones adicionales de objetos.

Ahi es donde se agregaran definiciones de equipos y servicios Windows.

Este archivo de configuración ya contiene algunos ejemplos de definiciones de equipos,

grupos de equipos (hostgroups) y servicios. Para la primer máquina Windows,

simplemente modifique las definiciones de equipo y servicio en ese archivo, no hay

necesidad de crear nuevos, solo copie, pegue y modifique.

Instalando el agente Windows

Antes de monitorear servicios privados y atributos de las máquinas con Windows, usted

necesita instalar un agente a estas máquinas. Se recomienda utilizar el complemento

NSClient++, que puede ser localizado en http://sourceforge.net/projects/nscplus. Estas

instrucciones lo llevaran a traves de una instalación básica del complemento NSClient++,

asi como la configuración de Nagios para monitorear la máquina Windows.

Page 42: Manual final nagios

42

Descargue la última versión estable del complemento NSClient++ desde:

http://sourceforge.net/projects/nscplus

Descomprima los archivos de NSClient++ en un nuevo directorio C:\NSClient++

Abra un command prompt y cambiese al directorio

C:\NSClient++

Registre el servicio de NSClient++ con el siguiente comando:

nsclient++ /install

Page 43: Manual final nagios

43

Instale el “systray” de NSClient++ con el siguiente comando (‘SysTray’ es case-sensitive):

nsclient++ SysTray

Abra el manejador de servicios y asegurese que el servicio NSClientpp es permitido para

interactuar con el escritorio (vease el tab ‘Log On’ en el manejador de servicios). Si no esta

permitido para interactuar con el escritorio, seleccione el cuadro para permitirlo.

Page 44: Manual final nagios

44

Click en ok.

Edite el archivo NSC.INI (localizado en el directorio C:\NSClient++) y realize los siguientes

cambios:

Descomente todos los módulos que aparecen listados en la sección [modules], excepto

CheckWMI.dll y RemoteConfiguration.dll

Opcional, si requiere una contraseña para los clientes, cambie la opción ‘password’ en la

sección [Settings].

Descomente la opción ‘allowed_hosts’ en la sección *Settings+. Agregue la dirección IP de

su servidor de Nagios en esta línea o dejela en blanco para permitir a todos los equipos

conectarse.

Asegurese que la opción ‘port’ en la sección *NSClient+ esta descomentada y asignada a

‘12489’ (el puerto por default).

Page 45: Manual final nagios

45

Inicie el servicio de NSClient++ con el siguiente comando:

nsclient++ /start

Si fue instalado adecuadamente, un nuevo icono debera aparecer en la barra del sistema

(systray). Será un circulo amarillo con una M negra dentro.

Correcto! El servidor Windows ahora puede ser agregado a la configuracion de Nagios para

su monitoreo...

Configurando Nagios

Ahora es tiempo de definir objetos en sus archivos de configuración de Nagios en orden

para monitorear la nueva máquina de Nagios.

Abra el archivo windows.cfg para editarlo.

nano /usr/local/nagios/etc/objects/windows.cfg

Agregue una definición nueva de equipo para la máquina Windows que usted desea

monitorear. Si esta es la primer máquina Windows que va a monitorear, simplemente

tendrá que modificar la definición de ejemplo del equipo en windows.cfg. Cambie el

host_name, alias, y address por lo valores apropiados para su equipo con Windows.

define host{

use windows-server

host_name winserver

alias My Windows Server

address 192.168.1.2

}

AGREGANDO SERVICIOS

Ahora puede agregar algunas definiciones de servicios (en el mismo archivo de

configuración) en orden para decirle a Nagios que se van a monitorear varios aspectos de

la máquina Windows. Si es la primer máquina Windows que va a monitorear, usted

Page 46: Manual final nagios

46

simplemente puede modificar las definiciones de servicios de ejemplo en windows.cfg.

Nota: Reemplace “winserver” en las definiciones de ejemplo en la parte inferior con el

nombre que usted especifico en la directiva host_name en la definición de equipo que

usted agregó.

Agregue la siguiente definición de servicio para monitorear la version del complemento

NSClient++ que se esta ejecutando en el servidor Windows. Esto es útil cuando llega el

tiempo de actualizar en los servidores Windows una nueva versión del complemento, y

usted podra decir cual de las máquinas Windows necesitan que se actualice a la última

version de NSClient++.

define service{

use generic-service

host_name winserver

service_description NSClient++ Version

check_command check_nt!CLIENTVERSION

}

Agregue la siguiente definición de servicio para monitorear el tiempo de actividad del

servidor Windows.

define service{

use generic-service

host_name winserver

service_description Uptime

check_command check_nt!UPTIME

}

Agregue la siguiente definición de servicio para monitorear el uso de CPU en el servidor

Windows y generar una alerta CRITICA si en 5 minutos la carga de CPU es de 90% o más o

una alerta PRECAUCIÓN (WARNING) si en 5 minutos la carga es de 80% o más.

define service{

use generic-service

host_name winserver

service_description CPU Load

Page 47: Manual final nagios

47

check_command check_nt!CPULOAD!-l 5,80,90

}

Agregue la siguiente definición de servicio para monitorear el uso de memoria del servidor

Windows y generar una alerta CRITICA si el uso de memoria es de 90% o más y una alerta

de PRECAUCIÓN (WARNING) si el uso de memoria es de 80% o más.

define service{

use generic-service

host_name winserver

service_description Memory Usage

check_command check_nt!MEMUSE!-w 80 -c 90

}

Agregue la siguiente definición de servicio para monitorear el uso en el disco C:\ del

servidor Windows y generar una alerta CRITICA si el uso en disco es de 90% o más y una

alerta de PRECAUCIÓN (WARNING) si el uso en disco es de 80% o mas.

define service{

use generic-service

host_name winserver

service_description C:\ Drive Space

check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90

}

Agregue la siguiente definición de servicio para monitorear el estado del servicio W3SVC

en una máquina Windowsy generar una alerta CRITICA si el servicio es detenido.

define service{

use generic-service

host_name winserver

service_description W3SVC

check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC

Page 48: Manual final nagios

48

}

Agregue la siguiente definición de servicio para monitorear el proceso Explorer.exe de una

máquina Windowsy generar una alerta CRITICA si el proceso no se esta ejecutando.

define service{

use generic-service

host_name winserver

service_description Explorer

check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

}

Eso es todo por ahora. Usted a agregado algunos servicios básicos que deben ser

monitoreados en un máquina Windows.

Guarde su archivo de configuración (ctrl+o) y salga (ctrl+x)

Protección con Contraseña

Si usted especificó una contraseña en el archivo de configuración de NSClient++ para una

máquina Windows, usted necesita modificar la definición del comando check_nt para

incluir la contraseña. Abra el archivo commands.cfg para editarlo.

nano /usr/local/nagios/etc/commands.cfg

Cambie la definición del comando check_nt para incluir el argumento “-s <PASSWORD>”

(donde PASSWORD es la contraseña que se especifico en la máquina Windows) así

define command{

command_name check_nt

command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$

$ARG2$

}

Guarde su archivo de configuración (ctrl+o) y salga (ctrl+x)

Page 49: Manual final nagios

49

Reiniciando Nagios

Usted ya terminó de modificar la configuración de Nagios, por lo cual usted necesita

verificar sus archivos de configuración y reiniciar Nagios.

Con el siguiente comando podemos comprobar que los cambios realizados en la

configuración son correctos:

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

El cual debe darnos una salida terminada en:

vistawarning falta

Total Warnings: 0

Total Errors: 0

Si es correcto reiniciamos Nagios:

/etc/init.d/nagios restart

Si el proceso de verificación produce un error, arregle los archivos de configuración antes

de continuar. Asegúrese de no reiniciar Nagios hasta que el proceso de verificación se

complete sin errores!!!!!

Instalacion de MySQL

MySQL es uno de los Sistemas Gestores de Bases de Datos Relacional multihilo y

multiusuario, más populares,

Compilacion

Debemos descargar el paquete de su web oficial y proceder a compilarlo.

root@localhost # groupadd mysql

root@localhost # useradd -g mysql mysql

root@localhost # gunzip < mysql-VERSION.tar.gz | tar -xvf -

root@localhost # cd mysql-VERSION

root@localhost # ./configure --prefix=/usr/local/mysql

root@localhost # make

root@localhost # make install

Page 50: Manual final nagios

50

root@localhost # cp support-files/my-medium.cnf /etc/my.cnf

root@localhost # cd /usr/local/mysql

root@localhost # bin/mysql_install_db --user=mysql

root@localhost # chown -R root .

root@localhost # chown -R mysql var

root@localhost # chgrp -R mysql .

root@localhost # bin/mysqld_safe --user=mysql &

Establecer la contraseña del usuario root

Por defecto, el usuario root no tiene asignada una contraseña y esto no es nada

recomendable, así que vamos a establecer una. Utilizamos el comando:

mysqladmin -u root password 'contraseñadificil'

Cambiar ‘loquesea’ por la contraseña que desemos establecer, pero es importante no

olvidarse de teclear las comillas simples.

Comprobamos la nueva contraseña abriendo una sesión en mysql:

mysql -u root –p

Nos pedirá la contraseña, la tecleamos (toor), y si todo es correcto entraremos en la

interfaz del cliente de MySQL, podemos teclear algún comando de mysql para interactuar

con el servidor, por ejemplo:

mysql> show databases;

Nos mostrará las bases de datos que existan en el servidor, normalmente y si acabamos de

instalar, aparecerán las bases de datos mysql y test.

Deberemos crear una base de datos llamada Nagios

mysql>create database nagios;

Query OK, 1 row affected (0.00 sec)

mysql>show databases;

+----------+

| Database |

Page 51: Manual final nagios

51

+----------+

| mysql |

| nagios |

| test |

+----------+

3 rows in set (0.01 sec)

Ahora deberemos crear un usuario con privilegios de SELECT, INSERT, UPDATE, DELETE

CREATE USER nagios IDENTIFIED BY 'nagios123';

Y darle privilegios sobre la base de datos nagios

mysql> GRANT ALL ON nagios.* TO nagios@localhost IDENTIFIED BY "nagios";

Query OK, 0 rows affected (0.00 sec)

mysql> quit

Tecleamos exit o quit para salir del programa cliente.

Paquetes

La instalacion de MySQL, en el caso de tenerlo empaquetado en nuestra distribucion

Linux, es bastante simple

INSTALAR NDOUTILS:

cd /usr/local/src

wget http://downloads.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-

1.4b9.tar.gz?use_mirr or=heanet

tar zxvf ndoutils-1.4b9.tar.gz

cd ndoutils-1.4b9

./configure --prefix=/usr/local/nagios --enable-mysql --with-mysql-lib=/usr/local/mysql/lib

make

Copiamos los binarios y ficheros de configuración:

cp -p src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o

cp -p src/ndo2db-3x /usr/local/nagios/bin/ndo2db

cp -p config/ndo2db.cfg /usr/local/nagios/etc/ndo2db.cfg

cp -p config/ndomod.cfg /usr/local/nagios/etc/ndomod.cfg

Page 52: Manual final nagios

52

Creamos la base de datos nagios y la inicializamos con el script installdb:

cd db

mysql -u root -p

mysql> create database nagios;

mysql> CREATE USER nagios@localhost IDENTIFIED BY 'nagios123';

Query OK, 0 rows affected (0.01 sec)

mysql> GRANT USAGE ON *.* TO nagios@localhost IDENTIFIED BY 'nagios123' WITH

MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0

MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON nagios.* TO nagios@localhost WITH GRANT OPTION ;

Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

./installdb -u root -p '' -h localhost -d nagios

Editaremos los archivos de configuración ndo2db.cfg y ndomod.cfg:

nano ndomod.cfg

instance_name=default

output_type=unixsocket

output=/opt/nagios/var/ndo.sock

tcp_port=5668

output_buffer_items=5000

buffer_file=/opt/nagios/var/ndomod.tmp

file_rotation_interval=14400

file_rotation_timeout=60

reconnect_interval=15

reconnect_warning_interval=15

data_processing_options=-1

config_output_options=2

nano ndo2db.cfg

ndo2db_user=nagios

ndo2db_group=nagios

Page 53: Manual final nagios

53

socket_type=unix

socket_name=/opt/nagios/var/ndo.sock

tcp_port=5668

db_servertype=mysql

db_host=localhost

db_port=3306

db_name=nagios

db_prefix=nagios_

db_user=nagios

db_pass=nagios123

max_timedevents_age=1440

max_systemcommands_age=10080

max_servicechecks_age=10080

max_hostchecks_age=10080

max_eventhandlers_age=44640

debug_level=0

debug_verbosity=1

debug_file=@localstatedir@/ndo2db.debug

max_debug_file_size=1000000

Añadiremos la configuración de broker en Nagios para que haga uso del módulo ndomod:

nano nagios.cfg

event_broker_options=-1

broker_module=/usr/local/nagios/bin/ndomod.o

config_file=/usr/local/nagios/etc/ndomod.cfg

6.- A continuación arrancamos el demonio NDO2DB que montará el socket

"/usr/local/nagios/var/ndo.sock". Si aparece un error es porque puede haber quedado el

socket creado anteriormente y no se haya borrado. Borraremos el archivo y arrancaremos

de nuevo.

/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Could not bind socket: Address already in use

rm /usr/local/nagios/var/ndo.sock

Page 54: Manual final nagios

54

/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Cuando reiniciemos Nagios aparecerán nuevos logs en "/usr/local/nagios/var/nagios.log".

Veremos si NDOMOD ve el "sumidero" de datos (el ndo.sock).

Nota: si el proceso ndo2db estuviera parado y el broker arrancado, este acumula items que

debe traspasar a la base de datos...

[1208969593] Nagios 3.0.1 starting... (PID=5397)

[1208969593] Local time is Wed Apr 23 18:53:13 CEST 2008

[1208969593] LOG VERSION: 2.0

[1208969593] ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan

Galstad ([email protected])

[1208969593] ndomod: Successfully connected to data sink. 0 queued items to flush.

[1208969593] Event broker module '/opt/nagios/bin/ndomod.o' initialized successfully.

CREACION DE ARCHIVO DE CONFIGURACION PARA GUARDAR LOS HOST DETECTADOS

Crear un archivo de configuración plantilla.cfg y agregar lo siguiente:

Page 55: Manual final nagios

55

SCRIPT PARA LA DETECCCION AUTOMATICA DE HOST

Generar el siguiente script:

Page 56: Manual final nagios

56

Este script nos permitirá la detección automática de host buscando los que estén

conectados a la red especificada.

nota: [email protected] deberá ubicarse el numero de celular al que desea

le sea avisada la detección de un nuevo host (en este caso es para un acompañia digicel)

Guardar el script en donde nos parezca

Para correr el script solo escribimos en la consola sh autodetec.sh y se comenzara a hacer

la búsqueda de host.

CAMBIO DE ASPECTO WEB

Para cambiar el aspecto web es necesario modificar los archivos cgi, hostextinfo y también

los archivos php que están guardados en la dirección /usr/local/nagios/share/

El archivo cgi.cfg

En este archivo se puenden configurar varias cosas entre ellas el modo en que se va a ver

el mapa del status de Nagios (statusmap.cgi), primero es localizar la siguiente sección:

Page 57: Manual final nagios

57

Aquí se puede modificar la vista del mapa, como se puede en este ejemplo las

coordenadas se pueden definir (User-defined coordinates 0), estas coordenas se

especifican en el archivo hostextinfo.cfg.

En este archivo también se puede cambiar el fondo (background) del mapa 2D, esto se

hace de la siguiente forma:

Descomentamos la linea

statusmap_background_image=miimagen.gd2

En este caso las imagenes tienen que se .gd2 por lo cual se crea el fondo deseado y se

graba como .png y se utiliza la herramienta png2gd2 para poder convertirla en gd2:

isuraeru@localhost$ png2gd2 imagen.png /usr/local/nagios/share/images/miimagen.gd2

1 1

Es importante dejar los parametros 1 1 al final ya que son indispensables para la creación

de estos archivos y esta manera se tiene fondo personalizado.

Page 58: Manual final nagios

58

CAMBIO DE IDIOMA

Para hacer el cambio de idioma se modificarán los archivos side.php que es donde se

encuentra el panel principal de Nagios. En el archivo main.php se encuentra el inicio de

Nagios, y por último en el archivo index.php se pueden cambiar el idioma.

Para acceder a estos archivos colocamos la siguiente dirección en la consola:

nano /usr/local/nagios/share/main.cfg por ejemplo, una vez dentro de ese archivo se

procede a modificar el idioma.

MODIFICANDO LA PRIORIDAD DE LAS NOTIFICACIONES

Modificar el archivo de configuración templates.cfg

Editamos el fichero:

nano -w /usr/local/nagios/etc/objects/templates.cfg

Page 59: Manual final nagios

59

Ahí podemos especificar que tipo de servicios queremos que sean notificados, para este

ejemplo solo le pedimos que nos notifique los warning:

define contact{

name generic-contact

service_notification_period 24x7

host_notification_period 24x7

service_notification_options w

host_notification_options d,u,r,f,s

service_notification_commands notify-service-by-email,service-notify-by-sms

host_notification_commands notify-host-by-email

register 0

}

Page 60: Manual final nagios

60

TOPOLOGIA DE RED

Page 61: Manual final nagios

61

PROTOCOLOS Y SERVICIOS UTILIZADOS

Simple Mail Transfer Protocol (SMTP)

Protocolo Simple de Transferencia de Correo, es un protocolo de la capa de aplicación. Protocolo

de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre

computadoras u otros dispositivos.

Hypertext Transfer Protocol (HTTP)

Protocolo de Transferencia de Hipertexto, es el protocolo usado en cada transacción de la World

Wide Web.

Simple Network Managment Protocol (SNMP)

Es un protocolo de la capa de aplicación el cual facilita el intercambio de información entre los dispositivos de la red, es parte del Transmission Control Protocol/Internet Protocol (TCP/IP).

Transmission Control Protocol (TCP/IP)

La familia de protocolos de Internet es un conjunto de protocolos de red en los que se basa Internet y que permiten la transmisión de datos entre redes de computadoras.

Current Load

Indica cual es el estado de corriente de voltaje actual.

Current Users

Muestra cuantos usuarios están actualmente.

Root Partition

Es un servicio que muestra el estado de la partición del servidor.

Swap Usage

Muestra cuanto espacio del disco se ha utilizado y cuanto queda libre.

Page 62: Manual final nagios

62

W3SVC

Este servicio permite saber si existe conectividad en la red.

Uptime

Muestra el tiempo en que un equipo de trabajo ha estado encendido sin ningún tipo de actividad.

Ping

Permite verificar que todas las estaciones de trabajo se comuniquen entre si.

Memory Usage

Muestra la memoria usada de los equipos de trabajo.

Total Proccess

Muestra el total de los procesos activados.

CPU load

Muestra el estado de la carga del CPU.

Drive Space

Muestra el espacio total, libre y utilizado del disco duro.

SSH

Es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red.

Page 63: Manual final nagios

63

ASPECTO WEB FINAL

Con todos los cambios implementados en el aspecto web, queda de la siguiente manera: