Vamos a tomar la temperatura del chassis de un servidor HP a través de comandos SNMP para pasarle a Nagios una alarma en el caso del que el servidor se sobrecaliente por falta de ventilación o fallo de climatización.
He montado una maquina virtual con CentOS 7 (CentOS-7-x86_64-Minimal-1810.iso) corriendo sobre un servidor Wintel 2012 con Hyper-V.
El primer paso Instalar NAGIOS CORE (nagios-4.4.5.tar.gz) y descargar las librerias de SNMP
Instalar el plugin check_snmp en /usr/local/nagios/libexec y darle permisos de acceso
chmod 755 check_snmp
Una vez instalado, editar los archivos siguientes para dar de alta los host y lo servicios. /usr/local/nagios/etc/objects
- nagios.cfg (configuración general rutas)
- hosts.cfg (basicamente las IP de los Host a auditar)
- commands.cfg (son los comandos con las variables de servicios)
- services.cfg (son los servicios a auditar)
Entrar en ILO y dar de alta usuario y credenciales con el que entraremos por SNMP desde Nagios
asegurarese tener los puertos 161 y 162 abiertos. ir a Management - SNMP Settings y dar de alta un nuevo usuario, poner credenciales para el Protocolo de Autentificacion SHA y el Protocolo de Privacidad AES.
Entrar en la consola de Linux y ejecutar el comando con las credeciales y el OID que vamos a escojer, el cual nos devuelve la temperatura del chassis y luego escribirla en dichos archivos:
Código nagios.cfg:
# OBJECT CONFIGURATION FILE(S)
# These are the object configuration files in which you define hosts,
# host groups, contacts, contact groups, services, etc.
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
# Definitions for monitoring the local (Linux) hostCódigo hosts.cfg:
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
# DEFINICION DE HOSTS
# These are the object configuration files in which you define hosts
define host {
host_name ilo_srvhyperv01
alias ILO de srvhyperv01
address 172.26.0.152
max_check_attempts 5
check_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
}
Código commands.cfg:
# DEFINICION DE COMANDOS
#Aquí es donde definimos los comandos a ejecutar, se pueden ejecutar previamente
# en la linea de comandos para testearlo antes de escribir en este archivo.
# ILO 5 Proliant Server commandCódigo services.cfg:
define command {
command_name check_ilo5_chassis_temp
command_line $USER1$/check_snmp -P 3 -U ilosnmp -L authPriv -a SHA -A authentication_passphrase -x AES -X privacy_passphrase- -H 172.26.0.152 -o $ARG1$ -w $ARG2$ -c $ARG3$
}
# DEFINICION DE SERVICIOS
#Aquí es donde definimos los servicios que vamos a consultar
# el simbolo ! define las variables $ARG$ que se van a pasar al archivo commands.cfg
# en este caso !1.3.6.1.4.1.232.6.2.6.8.1.4.0.29 !50 !60
define service {Reiniciar Nagios:
host_name ilo_srvhyperv01
service_description check ilo5 chassis temp
check_command check_ilo5_chassis_temp!1.3.6.1.4.1.232.6.2.6.8.1.4.0.29!50!60
notifications_enabled 1
max_check_attempts 5
check_interval 5
retry_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
}
service nagios restart
Resultado:
Otros plugins útiles:
http://william.leibzon.org/nagios/
Agentes de Nagios:
Monitoring Windows Machines · Nagios Core Documentation
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/monitoring-windows.html
Monitoring Linux-Unix Machines · Nagios Core Documentation
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/monitoring-linux.html
1. Instalar agente NSCP-0.5.2.35-x64.msi
2. Instalar plugin check_nt en linux (si no estubiera) para comunicarse con el agente.
3. Editar archivo de configuracion y activar las opciones a enabled
ruta: c:\Program Files\NSClient++\nsclient.ini
recordar poner la IP habilitada de Nagios para consultar el agente y la contraseña compartida.
4. Abrir los puertos del firewall puerto: 12489
5. Reiniciar el servicio NSclient Monitoring agent.
+ info sobre instalación de CentOS7 y Nagios Core:
how add host on nagios core
https://community.spiceworks.com/topic/1899607-how-add-host-on-nagios-core
install gcc
https://helloit.es/2012/01/no-acceptable-c-compiler-found-in-path/
Install Nagios Core on CentOS 7
https://linuxhostsupport.com/blog/how-to-install-nagios-core-on-centos-7/
Install net-tools
https://www.itzgeek.com/how-tos/mini-howtos/netstat-command-not-found-on-centos-7-rhel-7-quick-fix.html
Install wget
http://ayuda-it.blogspot.com/2011/07/instalacion-del-comando-wget-en-linux.html
listar servicios activos
https://www.jesusamieiro.com/como-comprobar-que-servicios-estan-en-ejecucion-en-un-sistema-linux/
Object Definitions
https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/objectdefinitions.html
problemas http forbidden
https://nksistemas.com/solucion-en-nagios-a-http-warning-http-1-1-403-forbidden/
Setup network
https://lintut.com/how-to-setup-network-after-rhelcentos-7-minimal-installation/
Abrir puerto 80 firewall
https://stackoverflow.com/questions/24729024/open-firewall-port-on-centos-7
NOTA:
Recordar modificar el archivo del sistema linux hosts (/etc/hosts) con las IPs y nombres que se nombren en el archivo hosts de Nagios (/usr/local/nagios/etc/objects).
No hay comentarios:
Publicar un comentario