check_ipmi_sensor Status: Critical [Name = State]

  • Guten Tag,
    nachdem ich nun einfach nicht mehr weiterkomme muss ich mal versuchen hier die Hilfe zu bekommen. Ich will einige Server per IPMI abfragen bei Servern mit Supermicro Boards ist mir das problemlos gelungen. bei den Intel Systemen bin ich allerdings am Verzweifeln. Ich setze Hier auf die check_ipmi_sensor version 2.4-dev


    die klassische abfrage des Sensors schlägt immer wieder fehl

    Code
    1. test@icinga:/usr/local/icinga/libexec# ./check_ipmi_sensor -H 192.168.199.12 -f /usr/local/icinga/etc/login/ipmi_icinga.cfg
    2. IPMI Status: Critical [Name = State, SMI Timeout = N/A] | 'Name'=Units 'BB EDGE Temp'=C 'PCH Temp'=C 'BB BMC Temp'=C 'BB CPU VR Temp'=C 'Processor Fan'=RPM 'P1 Therm Margin'=C 'P1 Therm Ctrl %'=% 'P1 DTS Therm Mgn'=C 'DIMM Thrm Mrgn 1'=C 'BB +12.0V'=V 'BB +5.0V1'=V 'BB +3.3V'=V 'BB +5.0V2'=V 'BB +12.0V V2'=V 'BB +1.75V Vccp'=V 'BB VBAT'=V 'BB +1.05V PCH'=V 'BB +1.05V AUX'=V 'BB +1.35V MEM'=V 'BB +12.0V V1'=V


    also habe ich noch mal den Sensor normal abgefragt anbei die Ausgabe :

    Hier habe ich also die Sensoren mit der ID 35 u. 44 die einen Wert NA ausgeben, also sollte das Plugin mit -x 35 -x 44 doch einen erfolg bringen.
    leider aber nicht .

    Code
    1. test@icinga:/usr/local/icinga/libexec# ./check_ipmi_sensor -H 192.168.199.12 -f /usr/local/icinga/etc/login/ipmi_icinga.cfg -x 35 -x 44
    2. IPMI Status: Critical [Name = State, SMI Timeout = N/A] | 'Name'=Units 'BB EDGE Temp'=C 'PCH Temp'=C 'BB BMC Temp'=C 'BB CPU VR Temp'=C 'Processor Fan'=RPM 'P1 Therm Margin'=C 'P1 Therm Ctrl %'=% 'P1 DTS Therm Mgn'=C 'DIMM Thrm Mrgn 1'=C 'BB +12.0V'=V 'BB +5.0V1'=V 'BB +3.3V'=V 'BB +5.0V2'=V 'BB +12.0V V2'=V 'BB +1.75V Vccp'=V 'BB VBAT'=V 'BB +1.05V PCH'=V 'BB +1.05V AUX'=V 'BB +1.35V MEM'=V 'BB +12.0V V1'=V

    Auch die abfrage einer ID die Ohne fhler auftaucht klappt leider nicht.

    Code
    1. test@icinga:/usr/local/icinga/libexec# ./check_ipmi_sensor -H 192.168.199.12 -f /usr/local/icinga/etc/login/ipmi_icinga.cfg -T 'Temperature'
    2. Sensor Type 'Temperature' Status: Critical [Name = State] | 'Name'=Units 'BB EDGE Temp'=C 'PCH Temp'=C 'BB BMC Temp'=C 'BB CPU VR Temp'=C 'P1 Therm Margin'=C 'P1 Therm Ctrl %'=% 'P1 DTS Therm Mgn'=C 'DIMM Thrm Mrgn 1'=C


    Ich weis leider wirklich nicht mehr weiter und hoffe das Ihr mir sagen könnt was ich falsch mache.
    Vielen dank schon mal im Vorraus.

  • Hi, ich nehme an für OP ist es zu spät aber da ich selbst nach diesem Problem gesucht habe poste ich hier mal die Lösung, damit Sie jemand anderem Hilft.


    Zuerst mal das Problem: die Ausgabe von ipmimonitoring, auf dem der check aufbaut, hat sich geändert ab der version 1.0


    Die Lösung ist es direkt im check diese Zeile:

    Code
    1. $4 !~ /Monitoring Status/ {

    durch

    Code
    1. $4 !~ /State/ {

    zu ersetzten.

    Sowie

    Code
    1. sensor_units[NR]=$5
    2. sensor_reading[NR]=$6


    mit

    Code
    1. sensor_units[NR]=$6
    2. sensor_reading[NR]=$5

    Dadurch erhält man wieder Werte.


    Quelle:

    https://jira.op5.com/browse/MON-6419

    https://jira.op5.com/secure/at…8/check_ipmi_sensor.patch


    Außerdem ist es ganz gut Sensoren die im State "N/A" haben, raus zu filtern.


    Per

    Code
    1. /usr/sbin/ipmimonitoring -h <IP> -u <USER> -p <PW> -l <priv level> -D <Driver>

    Die Liste raus holen und dann per ID filern (-x <ID>)