meta data de esta página
¡Esta es una revisión vieja del documento!
Agente IPMI
En nuestro caso vamos a partir de un servidor Dell con una tarjeta BMC (Baseboard Management Controller). Lo primero sería configurar la BMC, para ello
- Cuando se esté inicializando el BMC presionar “Ctrl + E”.
- Activar IPMI sobre LAN.
- Seleccionar “dedicated” en el NIC si sólo se va a usar como BMC
- Establecer una ip estática.
- Crear usuario y contraseña para el BMC.
Una vez configurada la tarjeta de control debemos de activar el IPMI en el Zabbix, ya que por defecto no viene activado.
Activar IPMI en Zabbix
- Editamos /etc/zabbix/zabbix_server.conf y añadimos al final del archivo <box>StartIPMIPollers=3</box>
- creamos un nuevo host y añadimos la interfaz IPMI.
- ponemos el usuario y contraseña que habiamos creado en la BMC en la pestaña IPMI.
Instalar ipmitool
yum install ipmitool
Creamos un archivo en “/etc/zabbix” ipmitool.sh con lo siguiente:
#!/bin/bash /usr/bin/ipmitool -H X.X.X.X -U TuUsuario -P TuContraseña -I lan -L USER sdr > /etc/zabbix/server1.sdr /usr/bin/ipmitool -H X.X.X.X -U TuUsuario -P TuContraseña -I lan -L USER sel > /etc/zabbix/server1.sel /usr/bin/ipmitool -H X.X.X.X -U TuUsuario- P TuContraseña -I lan -L USER fru > /etc/zabbix/server1.fru
Para comprobar la disponibilidad del ítem creamos un archivo llamado comprobar.pl
#!/usr/bin/perl # Script provided for Zabbix community by Rick Wagner (wagner.234@gmail.com) use strict; use warnings; die usage() if ($#ARGV == -1); my $regex = qr/\s*\|\s*/; my $val; #my $OUTPUT; if (open( FILE, "< /etc/zabbix/server1.sdr")) { while (<FILE>) { chomp($_); my @fields = split (/$regex/,$_); #print $fields[0]; if ($#fields >= 2 && $ARGV[0] eq $fields[0]) { last if ($fields[2] eq 'ns'); $val = $fields[1]; last; } } } else { die "Error:. $!\n"; } if (defined($val)) { ($val) = ($val =~ /^(\d+)\s+/); print $val."\n"; exit(0); } else { exit (-1); } sub usage { return "Usage: ./$0 <key>" }
Ahora ejecutamos el archivo seguido del ítem que queramos comprobar
/etc/zabbix/comprobar.pl 'Ambient Temp'
y devolverá la temperatura del servidor.
- una vez localicemos el ítem que queremos monitorizar vamos al frontend de zabbix y en “host/ítems” create ítem.
Name: nombre del ítem. Type: IPMI agent. Key: el nombre que usaremos para llamarlo en un treigger. Host interface: <ipserver>:623 IPMI sensor: el nombre que buscamos anteriormente con el comando ipmitool (e.j. Ambient Temp). Indicar el tipo de dato y el intervalo de actualización.
Información
Liebert IPMI
Implementar IPMI en Zabbix
IPMI zabbix
ipmitool
Mas info ipmitool
External scripts