Para aquellos que trabajan en una mediana a gran empresa, seguramente se han visto en la situacion que le han hecho solicitud para instalar Nagios en un servidor como centro de monitoreo de servicios y notificar ante cualquier inconveniente. Nagios es una excelente herramienta que se maneja a nivel web y permite monitorear variados servicios entre los cuales destacan base de datos, otros servidores, routers, etc. Aca les presento un facil manual para instalar y realizar una configuracion basica de Nagios para un servidor Centos.
Lo primero es instalamos los paquetes necesarios:
yum install httpd php gcc glibc glibc-common gd gd-devel
* Si ya los tienes, puedes obviar este paso. Para verificar si los tienes utiliza:
$rpm -qa paquete
Agregamos al usuario nagios,
/usr/sbin/useradd -m nagios
y seteamos su password,
passwd nagios
Creamos el grupo nagcmd
/usr/sbin/groupadd nagcmd
y agregamos a nagios y a apache a tal grupo,
/usr/sbin/usermod -a -G nagcmd apache
Descargamos nagios y nagios-plugins en /opt :
cd /opt wget http://es.sourceforge.jp/projects/sfnet_nagios/downloads/nagios-3.x/nagios-3.2.1/nagios-3.2.1.tar.gz/ wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
lo desentaramos,
tar xzf nagios-3.2.1.tar.gz
Luego entramos al directorio,
cd nagios-3.2.1
y lo instalamos,
./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode
Nagios se va a instalar por default en la ruta /usr/local/nagios. Lo primero que hacemos es editar el contacto de administrador con nuestros datos,
vi /usr/local/nagios/etc/objects/contacts.cfg
ahora configuramos la interfaz web,
make install-webconf
creamos la cuenta con la que vamos a accesar (user=nagiosadmin, password=xxxxxxxxx),
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
reiniciamos el servicio web,
/etc/init.d/httpd restart
Ahora vamos con los plugins. Para ello regresamos a /opt y desentaramos el archivo de los plugins,
tar xvzf nagios-plugins-1.4.11.tar.gz
entramos al directorio creado,
cd nagios-plugins-1.4.11
y los instalamos,
./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
En este punto, ya podemos levantar el servicio de Nagios y éste funcionará con los archivos de configuración de ejemplo. Antes de iniciar el servicio, checamos que todo esté bien con el siguiente comando:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Esta es una práctica útil a realizar cada vez que efectuamos un cambio en la configuración, agregamos sistemas a monitorear, servicios, etc. Una vez que sabemos que no hay errores, iniciamos el servicio:
/etc/init.d/nagios start
Y configuramos el reinicio del servicio para cada vez que se inicie el servidor,
chkconfig --add nagios chkconfig nagios on
El monitoreo
Su función radica en vigilar los equipos (carga del procesador, uso de espacio en disco, uso de memoria, tráfico, etc.) y servicios que se le especifiquen (snmp, smtp, pop3, http, etc ), alertando cuando alguno de estos falle.Servidor de monitoreo
Dentro del servidor de monitoreo, debemos configurar nagios de acuerdo a los servicios que estaremos siguiendo, los servidores o grupos de éstos que nos interesan, etc./usr/local/nagios/etc/objects/server.cfg
En el servidor de monitoreo vamos a crear un archivo dentro de /usr/local/nagios/etc/objects/ con los datos del servidor a agregar:
/usr/local/nagios/etc/objects/commands.cfg
El archivo /usr/local/nagios/etc/objects/commands.cfg por default incluye los comandos básicos útiles para el monitoreo y basados en los plugins instalados. Nosotros vamos a agregar algunos comandos "extra"Ejemplo:
define command{ command_name check_snmp_storage_v1 command_line $USER1$/check_snmp_storage.pl -H $HOSTADDRESS$ -C nombredenuestracomunidad -S1 -m "^/proc|Swap|memory|Memory|gvfs| media|pipefs|jbLogs|/sys" -e -w 90 -c 95 -o 15000 -f } estamos definiendo el comando check_snmp_storage_v1, que lo que hace es ejecutar el plugin check_snmp_storage.pl en el host $HOSTADDRESS$, usando la comunidad nombredenuestracomunidad, ignorando algunos filesystems que no serían de storage, tomando como warning un consumo del 90% de espacio y como crítico un 95%.
Hay campos en la definición ejemplo que no vamos a explicar aun, pero adelantamos que servirán para el momento en que integremos PNP a nagios para graficar. Tales plugins extra son
- check_snmp_int.pl,
- check_snmp_load.pl,
- check_snmp_mem.py y
- check_snmp_storage.pl.
/usr/local/nagios/etc/objects/service.cfg
Una vez que contamos con los comandos que vamos a utilizar, creamos el archivo /usr/local/nagios/etc/objects/service.cfg en el que definimos los servicios a utilizar para un servidor o grupo de estos, por ejemplo, las siguientes líneasdefine service { use generic-service hostgroup_name linux-nopalitux, linux-nopalitux-2, linux-nopalitux-3, linux-nopalitux-4 service_description Storage check_command check_snmp_storage_v1 } nos dicen que para el grupo de servidores linux-nopalitux, linux-nopalitux-2, linux-nopalitux-3 y linux-nopalitux-4 vamos a usar el comando check_snmp_storage_v1.
/usr/local/nagios/etc/objects/templates.cfg
Como su nombre lo dice, este es el archivo de "templates" y prácticamente lo dejamos como se encuentra por default. Lo único que hemos agregado son más bloques de definición de templates de acuerdo para nuestros grupos de servidores. Ej:## Nopalitux define host{ name linux-nopalitux use generic-host check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive action_url /nagios/pnp/index.php?host=$HOSTNAME$ notification_period workhours notification_interval 120 notification_options d,u,r contact_groups admins register 0 } Claro que podemos llevar a cabo un mayor grado de configuración. Aquí no estoy profundizando en el tema, sin embargo, sirve para mostrar algunas opciones a incluír. Por ejemplo, uno de tales parámetros es el "action_url" que definimos como
action_url /nagios/pnp/index.php?host=$HOSTNAME$ que indica la ruta a vincular con el "host" monitoreado. En mi caso, al tener también instalado y configurado pnp4nagios me resulta útil este vínculo. Si no s interesa conocer más acerca de estos parámetros, debemos consultar la documentación de Nagios.
Sigamos con los archivos de configuración:
/usr/local/nagios/etc/nagios.cfg
En /usr/local/nagios/etc/nagios.cfg incluímos los archivos antes creados. Para cada uno agregamos una línea del tipo:cfg_file=/usr/local/nagios/etc/objects/nopalitux-1.cfg Con esto le estamos diciendo a Nagios que lea tal archivo. En realidad podríamos tener todo en un sólo archivo de configuración, sin embargo, puede resultar dificil de estar manejando. Si separamos todos los archivos como lo he señalado y al final agregamos a /usr/local/nagios/etc/nagios.cfg, nagios leerá todos los documentos.
En este ejemplo incluí a nopalitux-1.cfg. En "la vida real", para cada grupo de servidores pertenecientes a algún proyecto tengo un archivo de configuración. Cada vez que incorporo otro grupo de servidores de un proyecto, creo un nuevo archivo, lo agrego a /usr/local/nagios/etc/nagios.cfg, si se requiere creo el template, verifico con
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg y si todo funciona bien, entonces reinicio el servicio.
PD: Esto solo explica como montar un servidor NAGIOS, sin embargo, para poder monitorear clientes o PC remotos, es necesario instalar un plugin NRPE en cada PC remota, de lo contrario no podras monitorear ningun PC remoto. Si quieres saber como instalar y configurar un servidor remoto con plugin NRPE para que Nagios Server lo monitoree clickea AQUI
FUENTE ORIGINAL DEL TUTORIAL: AQUI
No hay comentarios:
Publicar un comentario