IGETEVENT(8)
π IGETEVENT(8) π
okay bestie, so this is ipmiutil_getevt from the System Manager's Manual, and it's literally the "wait for IPMI events" girlie. sit down, grab a strawberry drink, we're doing this π
β¨ NAME β¨
ipmiutil_getevt β wait for IPMI events π¦
β¨ SYNOPSIS β¨
ipmiutil getevt [-abosx -t secs -N node -U user -P/-R pswd -EFJTVY]
β¨ DESCRIPTION β¨
ipmiutil getevt is a program that uses IPMI commands to wait for IPMI events sent from the BMC firmware. no cap, that's the whole job. those events also get sent to the IPMI System Event Log (SEL), fyi. this utility can use either the /dev/ipmi0 driver from OpenIPMI, the /dev/imb driver from Intel, the /dev/ipmikcs driver from valinux, direct user-space IOs, or the IPMI LAN interface if -N is in the chat. π
so some server management functions want to trigger custom actions or alerts when IPMI hardware-related events happen, but they do not want to track all the events, just the newly occurring ones. main character energy only. this utility waits a specified timeout period for any events, and returns interpreted output for each event. it's designed as a scriptable command-line utility, but if the timeout is infinite (-t 0), then this code could be used for a sample service as well. slay. π
there are several methods to do this which are implemented here:
πΈ The SEL method πΈ
this method polls the SEL once a second, keeps track of the last SEL event read, and only new events are processed. this ensures that in a series of rapid events, all events are received in order β however, some transition-to-OK events may not be configured to write to the SEL on certain platforms π. this method is used if getevent -s is specified. it's the only method supported over IPMI LAN, i.e. with -N.
π The ReadEventMessageBuffer method π
this uses an IPMI Message Buffer in the BMC firmware to read each new event. it receives any event, but if two events occur nearly simultaneously, only the most recent of the two will be returned with this method. an example of simultaneous events might be, if a fan stops/fails, both the non-critical and critical fan threshold events would occur at that time. this is the default method for getevent. β¨
π¦ The OpenIPMI custom method π¦
different IPMI drivers may have varying behavior. for instance, the OpenIPMI driver uses the IPMI GetMessage commands internally and does not allow client programs to use those commands. it has its own custom mechanism, see getevent_mv(). this method is used if the OpenIPMI driver is detected, and no other method is specified. iykyk. π
π The Async Event method π
this only gets certain Asynchronous requests from the BMC to an SMS OS service, like a remote OS shutdown, and get_software_id. this method is disabled by default and only turned on if the getevent -a option is specified. this method is only supported via the Intel IMB and OpenIPMI driver interfaces. there's an init script provided with ipmiutil to automate the task of starting this async event daemon:
# chkconfig --add ipmiutil_asy (skip this if no chkconfig)
# /etc/init.d/ipmiutil_asy start
this listens for IPMI LAN requests for soft-shutdown, and logs the output to /var/log/ipmiutil_asy.log π
β¨ OPTIONS β¨
command line options are described below. bestie, there's a lot, but they're all iconic, i promise.
-aβ use the Async request method, which receives SMS OS requests from the BMC using the IMB or OpenIPMI driver interface. this services remote SMS bridge agent requests, like remote OS shutdown and getsoftware_id. π«Ά-bβ run in Background as a daemon. if this option is specified, normal output will be redirected to/var/log/ipmiutil_getevt.log. the default is to run in foreground.-cβ show output in a canonical format, with a delimiter of'|'. clean, organized, ate. π-e Nβ wait for a specific event sensor typeN. the parameter can be in hex (0x23) or decimal (35). the default is0xFFwhich means wait for any event. β¨-r Fβ run script fileFwhen an event occurs. the filename can include a full path. the script will be passed the event description as a parameter. a sampleevt.shscript is included with the ipmiutil package. π-oβ only run one pass to wait for the first event. default is to loop for multiple events for the timeout period. one and done, periodt.-sβ use the SEL method to get events. this polls the SEL once a second for new events. the last SEL record read is saved in/usr/share/ipmiutil/evt.idx. otherwise, the default is to use the ReadEventMessageBuffer method to get new events. πΎ-t Nβ set the timeout period toNseconds. default is120seconds. a timeout of0means an infinite period. β°-xβ causes extra debug messages to be displayed. lowkey my fave for when things are weird.-N nodenameβ nodename or IP address of the remote target system. if a nodename is specified, IPMI LAN interface is used. otherwise the local system management interface is used. π-P/-R rmt_pswdβ remote password for the nodename given. the default is a null password.-U rmt_userβ remote username for the nodename given. the default is a null username.-Eβ use the remote password from Environment variableIPMI_PASSWORD. π-F drv_tβ force the driver type to one of the following:imb,va,open,gnu,landesk,lan,lan2,lan2i,kcs,smb. note thatlan2imeanslan2withintelplus. the default is to detect any available driver type and use it. π-Jβ use the specified LanPlus cipher suite (0 thru 17):0=none/none/none,1=sha1/none/none,2=sha1/sha1/none,3=sha1/sha1/cbc128,4=sha1/sha1/xrc4_128,5=sha1/sha1/xrc4_40,6=md5/none/none, ...14=md5/md5/xrc4_40. default is3. π’-Tβ use a specified IPMI LAN Authentication Type:0=None,1=MD2,2=MD5,4=Straight Password,5=OEM. πͺͺ-Vβ use a specified IPMI LAN privilege level.1=Callback level,2=User level,3=Operator level,4=Administrator level(default),5=OEM level. π-Yβ Yes, do prompt the user for the IPMI LAN remote password. alternatives for the password are-Eor-P. π
β¨ SEE ALSO β¨
ipmiutil(8) ialarms(8) iconfig(8) icmd(8) idiscover(8) ievents(8) ifru(8) ihealth(8) ilan(8) ireset(8) isel(8) isensor(8) iserial(8) isol(8) iwdt(8)
the whole friend group, fr fr π«Ά
β¨ WARNINGS β¨
see http://ipmiutil.sourceforge.net/ for the latest version of ipmiutil and any bug fix list. π
β¨ COPYRIGHT β¨
Copyright (C) 2009 Kontron America, Inc.
see the file COPYING in the distribution for more details regarding redistribution.
this utility is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. β οΈ
β¨ AUTHOR β¨
Andy Cress <arcress at users.sourceforge.net> π
and that's the whole page, bestie!! this was Version 1.2, dated 17 Feb 2010 β yeah she's a lil vintage but she still serves. go read your events, you absolute icon π β¨
π¦ where this page comes from
- alpine 3.24: ipmiutil-doc 3.2.1-r0 Β· BSD-2-Clause BSD-3-Clause GPL-2.0-or-later
- debian bookworm: ipmiutil 3.1.8-4 Β· BSD-3-Clause
- debian trixie: ipmiutil 3.2.1-1 Β· BSD-3-Clause
- nixos 26.05: ipmiutil 3.2.2
- nixpkgs unstable: ipmiutil 3.2.2
- opensuse-leap 16.0: ipmiutil 3.1.9-bp160.1.12 Β· BSD-3-Clause
- opensuse-leap 16.0: ipmiutil 3.1.9-bp160.1.12 Β· BSD-3-Clause
- opensuse-leap 16.0: ipmiutil 3.1.9-bp160.1.12 Β· BSD-3-Clause
- opensuse-leap 16.0: ipmiutil 3.1.9-bp160.1.12 Β· BSD-3-Clause
- ubuntu jammy: ipmiutil 3.1.8-1 Β· BSD-3-Clause
- ubuntu noble: ipmiutil 3.1.9-3build2 Β· BSD-3-Clause
- ubuntu questing: ipmiutil 3.2.1-1
- ubuntu resolute: ipmiutil 3.2.1-1build1 Β· BSD-3-Clause
- ubuntu stonking: ipmiutil 3.2.2-1ubuntu2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms