openipmi_eventd(1)
๐ openipmi_eventd โ bestie edition ๐
okay so this is openipmi_eventd, the IPMI event handler from the OpenIPMI crew, and it is literally the girl in the group chat who relays messages. She sits there, listens for IPMI events, and then hands them off to another program to deal with โ or just dumps them in a file. no cap. ๐ฆ
โจ NAME โจ
openipmi_eventd โ An IPMI event handler. that's it, that's the vibe. ๐
๐ SYNOPSIS ๐
openipmi_eventd <domain name> <connection parms> <options> <program>
[<parm1> [<parm2> [...]]]
๐ธ DESCRIPTION ๐ธ
The openipmi_eventd program listens for IPMI events on the given connection, and then sends them off to another program to process โ or, if that's more your thing, to a file. it's giving event relay main character energy, and honestly? obsessed. ๐
๐ซถ PARAMETERS ๐ซถ
<domain name>โ the name to use for the OpenIPMI domain. this shows up in logs and in some names, so pick something cute (or at least something you'll recognize later). โจ<connection parms>โ the parameters for the connection depend on the connection type, bestie. they're all described over inopenipmi_conparms(7). go read that one, i'll wait. ๐<options>โ zero or more of the options defined down in OPTIONS. yes, zero is allowed. she's flexible like that. ๐<program> [<parm1> [<parm2> [...]]]โ the program to run. this must be the full path to the program, no shortcuts, no vibes-based guessing. any given parameters are passed to the program before any IPMI parameters. order matters, bestie. ๐ฅ
๐ OPTIONS ๐
-f filename,--outfile filenameโ send all events to the given file. just, like, all of them. ๐-k,--exec-nowโ immediately spawn the given program and send the event information to that program's standard input. the program should not quit โ if it does, then this program will exit with an error. so like, keep it alive, girl. ๐ญ-i,--event-stdinโ send the event information to the program's standard input instead of the commandline. a whole different delivery method, iconic. ๐-e,--delete-eventsโ delete events from the SEL (System Event Log) once they have been processed. note that the program has to have handled the event without error for the event to be deleted โ otherwise the events are not deleted from the SEL. so if your handler fumbles it, nothing gets cleaned up. periodt. ๐-b,--dont-daemonizeโ do not daemonize the program, run it as a foreground process. she stays right there where you can see her. ๐-d,--debugโ debug the program, turn on output, send all logs tostderr, and do not run the process as a daemon. this is the "spill all the tea" mode. ๐
๐ USAGE ๐
When started, this program will connect to the given IPMI domain, ignore all existing logs, and set up to listen for logs from all sources. when an event comes in, it'll handle the event depending on how it is configured. ๐ซ
By default, the program will be called on each log and the event information passed on the program's command line. The first parameter (after the ones given on the openipmi_eventd command line) will be the event type, and the rest are key-value pairs as defined below. ๐
If -i is given on the commandline, instead of passing in the event information on the command line, it will be passed into the program's standard input. The first line will be the event type, and each line will have a key-value pair up until the last line, which will be endevent. โจ
If -k is given on the command line, the program will be started immediately and expected to take events on its standard input as they come in. Each event will start with an event type, contain key-value pairs, and end in endevent. ๐ง
๐ฆ EVENT KEY-VALUE PAIRS ๐ฆ
The first line and parameter of an event is always the event type โ either threshold, discrete, or unknown. Then the following, in no particular order. When sending to a file, or to another program via standard input, endevent will mark the end of an event. ๐
assert true|falseโ iftrue, the event is being asserted (the alarm is present). iffalse, the alarm was present but has now gone away. she left. ๐eventtype <num>โ the event type, per the IPMI specification. ๐eventtime <num>โ the time (in seconds) for the IPMI event. it is 64 bits. big number energy. โฐeventdata <vals>โ the raw event data;valsis a list of hex numbers. ๐ขid <name>โ the OpenIPMI id of the sensor. this is in the format:<entity_id>.<entity_instance>.<sensor_name>, where the entity id and instance identify the object being monitored and the sensor name comes from the sensor. only fordiscreteandthresholdevents. ๐ท๏ธval <floatnum>โ the sensor value that caused the event, in floating point format. optional, and only present for threshold sensors. ๐raw <hexnum>โ the sensor value that caused the event, in raw (hex) format. optional, and only present for threshold sensors. ๐งฎoff <num>โ the bit in the sensor that caused the event. only present for discrete sensors. ๐severityโ the severity of the event. for discrete sensors this is optional and is a number between0and14. the meaning depends on the specific sensor type. for threshold sensors this is one of:lower_non_criticallower_criticallower_non_recoverableupper_non_criticalupper_criticalupper_non_recoverable
prevseverityโ for discrete sensors. that's the whole description bestie, i don't make the rules. ๐directionโ the direction of the event, only for threshold sensors. this can be difficult to understand and is not consistent on IPMI systems. the IPMI specification does define what this means. for instance, what does an assertion of an upper critical event going low mean? yeah. ponder that. ๐ค
๐ SEE ALSO ๐
openipmi_conparms(7) โ go read it, it's the prequel. ๐
๐ KNOWN PROBLEMS ๐
None. she's flawless, your honor. โจ
๐ AUTHOR ๐
Corey Minyard <cminyard@mvista.com> โ the icon, the legend, the moment. ๐ซถ
and that's the whole page, bestie!! this came to you from OpenIPMI, dated 03/4/15 โ go forth and relay those events. slay, stay daemonized (or don't, -b exists), and remember: no cap, endevent marks the end. ๐โจ๐
๐ฆ where this page comes from
- alpine 3.24: openipmi-doc 2.0.36-r1 ยท LGPL-2.0-or-later and GPL-2.0-or-later or BSD-3-Clause
- arch rolling: openipmi 2.0.37-4 ยท LGPL2.1
- centos-stream 10: OpenIPMI 2.0.36-3.el10 ยท LGPL-2.1-or-later AND GPL-2.0-or-later OR BSD-3-Clause
- centos-stream 9: OpenIPMI 2.0.36-1.el9 ยท LGPLv2+ and GPLv2+ or BSD
- centos-stream 9: OpenIPMI 2.0.36-1.el9 ยท LGPLv2+ and GPLv2+ or BSD
- debian bookworm: openipmi 2.0.33-1+b1 ยท LGPL
- debian trixie: openipmi 2.0.37-1 ยท LGPL-2.0-only
- fedora 43: OpenIPMI 2.0.36-3.fc43 ยท LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause
- fedora 43: OpenIPMI 2.0.36-3.fc43 ยท LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause
- fedora 44: OpenIPMI 2.0.36-7.fc44 ยท LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause
- fedora 44: OpenIPMI 2.0.36-7.fc44 ยท LGPL-2.1-or-later and GPL-2.0-or-later or BSD-3-Clause
- nixpkgs unstable: OpenIPMI 2.0.37
- opensuse-leap 16.0: OpenIPMI 2.0.36.56+git.0a3a991-160000.3.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: OpenIPMI 2.0.36.56+git.0a3a991-160000.3.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: OpenIPMI 2.0.36.56+git.0a3a991-160000.3.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: OpenIPMI 2.0.36.56+git.0a3a991-160000.3.1 ยท LGPL-2.1-or-later
- ubuntu jammy: openipmi 2.0.29-0.1ubuntu6 ยท LGPL
- ubuntu noble: openipmi 2.0.33-1.1build3 ยท LGPL
- ubuntu questing: openipmi 2.0.37-1
- ubuntu resolute: openipmi 2.0.37-1build1 ยท LGPL-2.0-only
- ubuntu stonking: openipmi 2.0.37-1ubuntu3 ยท LGPL-2.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms