===== 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 StartIPMIPollers=3
- 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.
para poder saber la clave que debemos usar a la hora de monitorizar un ítem en un host, debemos instalar IPMItools y realizar una búsqueda en el equipo que vamos a monitorizar.
== Instalar ipmitool ==
yum install ipmitool
Creamos un archivo para recopilar la información de los items disponibles en ese servidor 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
Cuando ejecutemos el comando se crearán tres archivos con información referente al servidor. De los tres archivos que crea el **sdr** es el más importante
Para comprobar la disponibilidad del ítem creamos un archivo llamado comprobar.pl ((en el script debemos modificar la ruta del archivo en el que va a buscar si se ha cambiado el lugar o el nombre del archivo. ))
#!/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 () {
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 "
}
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 trigger.
* Host interface: :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.
==== Enlaces ====
* http://systemadmin.es/2010/06/obtener-la-temperatura-ambiente-de-un-servidor-mediante-ipmi
* [[http://www.emersonnetworkpower.com/es-EMEA/Brands/Avocent/Innovation/Pages/AvocentThoughtLeadershipIPMI.aspx|Liebert IPMI]]
* https://www.zabbix.com/wiki/howto/monitor/ipmi/dell
* https://www.zabbix.com/documentation/1.8/manual/tutorials/remote_actions
* http://linux.die.net/man/1/ipmitool
* http://docs.oracle.com/cd/E19464-01/820-6850-11/IPMItool.html
* http://sysengblog.com/?p=49