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

  1. Editamos /etc/zabbix/zabbix_server.conf y añadimos al final del archivo <box>StartIPMIPollers=3</box>
  2. creamos un nuevo host y añadimos la interfaz IPMI.
  3. 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 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.

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