Ir al contenido principal

Instalar Nagios en Ubuntu 12.04

Instalación de Nagios

apt-get install nagios3 postfix nagios-nrpe-plugin
 

Establecer el correo electrónico:

sudo vi /etc/nagios3/conf.d/contacts_nagios2.cfg

define contact{
        contact_name                    root
        alias                           Root
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                           micorreo@midominio.es

        }


Configurando postfix para el envío de correos mediante gmail:

Instalar postfix como "Sitio de Internet":

aptitude install postfix


Editar el fichero /etc/postfix/main.cf y añadir las siguientes líneas al final del archivo:
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls = yes
smtp_tls_CAfile = /etc/postfix/cacert.pem
 
Crear el archivo /etc/postfix/sasl/passwd con el siguiente contenido:
[smtp.gmail.com]:587    [CUENTA]@gmail.com:[CONTRASEÑA]
 
ejemplo:
echo "[smtp.gmail.com]:587    pepitopalotes@gmail.com:123456" > /etc/postfix/sasl/passwd

Permisos:
chmod 600 /etc/postfix/sasl/passwd
 
Transformar el archivo a un fichero indexado de tipo hash:
postmap /etc/postfix/sasl/passwd
 
creará  /etc/postfix/sasl/passwd.db

Instalar certificados:
aptitude install ca-certificates
 
Para añadir la autoridad certificadora Equifax (la que certifica correos de Gmail) al fichero de certificados que utilizará postfix, ejecutamos el siguiente comando en una consola de root:
cat /etc/ssl/certs/Equifax_Secure_CA.pem > /etc/postfix/cacert.pem


Reiniciar:
/etc/init.d/postfix restart
 
Prueba:
echo "Éste es un correo de prueba" | mail prueba@gmail.com

Configuración de Nagios local

Por defecto ya está configurado el servicio para monitorizar el servidor donde lo hemos instalado. Podemos acceder a la web en http://localhost/nagios3 con usuario nagiosadmin y la clave que le hayamos asignado.

En /etc/nagios3/conf.d tenemos los ficheros de los dispositivos a monitorizar. En hostgroups_nagios2.cfg  están definidos los grupos y podemos cambiarlos o ampliarlos según nuestras necesidades, por ejemplo:

 define hostgroup {
        hostgroup_name migrupo

        alias           Mis equipos de nagios
        members         mi-linux

        }

En locahost_nagios2.cfg podemos modificar el nombre de nuestro servidor e indicar por ejemplo mi-linux.






Configuración de Nagios Remoto

En el servidor remoto a monitorizar instalamos:

sudo apt-get install nagios-nrpe-server

 y modificamos el fichero de configuración para dar permiso de acceso al servidor de nagios e indicar los servicios disponibles:

sudo vi /etc/nagios/nrpe_local.cfg

allowed_hosts=ip-del-servidor-de-nagios

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10%
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 50% -c 


Reiniciamos nagios para que tome los cambios:

sudo service nagios-nrpe-server restart

En el servidor de nagios creamos un nuevo fichero de host:


sudo vi remoto_nagios2.cfg

define host{
        use          generic-host            ; Name of host template to use
        host_name               remoto
        alias                   remoto.dominio.es
        address                 ip-servidor-remoto
        }

define service{
        use          generic-service         ; Name of service template to use
        host_name                       remoto
        service_description             Disk Space
        check_command                   check_nrpe_1arg!check_all_disks
        }


define service{
        use           generic-service         ; Name of service template to use
        host_name                       remoto
        service_description             Current Users
        check_command                   check_nrpe_1arg!check_users
        }

define service{
        use            generic-service         ; Name of service template to use
        host_name                       remoto
        service_description             Total Processes
        check_command                   check_nrpe_1arg!check_total_procs
        }


define service{
        use            generic-service         ; Name of service template to use
        host_name                       remoto
        service_description             Current Load
        check_command                   check_nrpe_1arg!check_load
        }

Reiniciamos nagios para que tome los cambios:

sudo service nagios3 restart

Fuentes de información:

http://www.nagios.org
http://lowendbox.com/blog/remote-server-monitoring-with-nagios/ 
http://www.nosolounix.com/2010/04/instalar-nagios-en-ubuntu.html
http://www.nosolounix.com/2010/06/configurar-nagios-en-ubuntu.html
http://www.zonadeseguridad.net/instalar-nagios-en-ubuntu-server-12-04/
http://huntingbears.com.ve/utilizando-postfix-para-enviar-correos-a-traves-de-gmail.html 

Comentarios

Entradas populares de este blog

Instalación Django en NAS Synology con FastCGI

Los NAS Synology no traen el módulo de apache mod-wsgi por lo que he utilizado el módulo mod-fastcgi en su lugar para hacer funcionar Django en los NAS Synology. Necesitamos del módulo mysql-python , para su instalación podemos seguir la entrada que ya se publicó en este mismo blog:  http://ilizaran.blogspot.com.es/2014/09/instalacion-del-modulo-mysql-python-en.html De la instalación de mysql-python ya tendremos instalado pip en el NAS por lo que podremos instalar Django con algunos módulos necesarios: pip install Django pip install setuptools pip install flup Para saber que la instalación de Django ha sido correcta y verificar la versión podemos realizar: python import django  django.VERSION Ahora modifcamos la configuración de apache editando el fichero /etc/httpd/conf/httpd.conf-user  para hacer accesible los ficheros css, imágenes y javascript de la parte administrativa de Django, por lo que añadimos: Alias /static/admin /usr/local/packages/@appstore/Python/usr/l

Calcular en Mysql el primer y último día del mes

SELECT DATE_FORMAT(now(),'%Y-%m-01') AS first_day; SELECT date_add(date_add(LAST_DAY(now()),interval 1 DAY),interval -1 MONTH) AS first_day; SELECT LAST_DAY(now()) AS last_day; Calcular en Mysql el primer y último día del mes anterior: SELECT date_add(date_add(LAST_DAY(now()),interval 1 DAY),interval -2 MONTH) AS first_day; SELECT LAST_DAY(date_add(last_day(now()),interval -1 MONTH)) AS last_day;

Instalación del módulo mysql-python en NAS Synology

Instalar gcc en Synology Para la instalación de mysql-python es necesario el compilador gcc, por lo que lo obtendremos de Synology Open Source Project (http://sourceforge.net/projects/dsgpl). El paquete a descargar dependerá de la versión de NAS Synology que tengamos, por lo que tendremos que utilizara el comando: uname -a para conocer la versión de nuestro kernel y arquitectura instalada y descargar el paquete correspondiente. En mi caso he descargado: gcc463_glibc213_i686_cedarview-GPL.tgz pues mi equipo muestra cedarview y i686. Ahora lo descargamos y lo extraemos: cd /usr/local http://kent.dl.sourceforge.net/project/dsgpl/DSM%205.2%20Tool%20Chains/Intel%20x86%20Linux%203.2.40%20%28Cedarview%29/cedarview-gcc463_glibc213_i686_patched-GPL.txz tar -xvJf cedarview-gcc463_glibc213_i686_patched-GPL.txz rm cedarview-gcc463_glibc213_i686_patched-GPL.txz Instalación de las fuentes de Mysql Synology utiliza MariaDB, pero para la compilación del módulo de python podemos utiliz