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.
Muchas gracias por tu tutorial, solo una duda: la definición de servicios la haces en un script APARTE o dentro del mismo que describe al servidor (en tu caso server1.cfg),es decir, el servidor a monitorer y los servicios estan definidos dentro del mismo archivo .cfg?
Saludos y muchas gracias!!