randy/ipmievd.md
2025-05-24 15:10:12 -07:00

2.5 KiB

Using ipmievd To Monitor IPMI Hardware Detected Issues

References:

Debian Man Page, of course
Way more than you wanted to know
rsyslog's ommail docco
And, as usual, guidance from hak.

Install

ipmievd comes with the ipmitools package, so one likely already has it installed. If not, this page may be helpful. And remember to have the modules loaded in /etc/modules.

cat >> /etc/mocules << EOF
ipmi_si
ipmi_devintf
EOF

Configuration

From what I could read, asynchronous notification looked too unreliable, so i went with SEL Polling. This meant syslog to local4.

I would consider -o supermicro on SuperMicro servers. There was no system specific option for the Dells.

ipmievd configuration defaults looked pretty good all in all.

Test

At a shell prompt, I simply tried ipmievd sel as all the defaults looked good to me.

# grep -i ipmi /var/log/syslog
2025-05-24T19:17:42.398115+00:00 vm21 ipmievd: Reading sensors...
2025-05-24T19:17:43.955724+00:00 vm21 ipmievd: Waiting for events...

was pretty encouraging.

Install as a SyetemDeath Service

cat > /etc/systemd/system/ipmievd.service << EOF
[Unit]
Description=IMMI Hardware Monitoring Service
Documentation=man:ipmievd(8)

# don't run in a vm
ConditionVirtualization=no

[Service]
Type=forking
ExecStart=/sbin/ipmievd sel
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
Alias=ipmievd.service
EOF

And test it

systemctl enable ipmievd.service
systemctl start ipmievd.service
systemctl status ipmievd.service

Reporting

Assuming one runs rsyslog,

cat > /etc/rsyslog.d/ipmi_events.conf << EOF
module(load="ommail")
template (name="mailBody"  type="string"
          string="%timegenerated% %FROMHOST% %syslogtag%%msg%")
template (name="mailSubject" type="string"
          string="WARNING: ipmievd alert")
local4.*
   action(type="ommail"
          server="198.180.152.22"
          port="25"
          mailfrom="root@rg.net"
          mailto="root@rg.net"
          subject.template="mailSubject"
          template="mailBody"
          body.enable="on")
EOF

with the appropriate changes for one's environment.

Maybe one has to

systemctl restart rsyslog.service

2025.05.24