hpmgmtbase libraries and utilities generate extensive
decoding of SEL entries. HP Integrity servers support several event
types in the SEL. The first is type 02 events, which are mostly
documented and described in the IPMI specification. It is possible
to synthesize a complete textual description of any type 02 event
by successively decoding the bitfields and looking at various tables
in the IPMI specification. These tables and resolution algorithms
are coded into libezbmc and thus accessible to hpbmc.
Type 02 events have an OEM extension subclass,
which isused for some events. hpbmc decodes those events as well
(obviously a feature not found in the any open source tools).
For various historical and technical reasons,
the coverage of type 02 events is insufficient for the entire HP Integrity
server line. This fact is especially true across multiple operating
systems and the cellular platforms. HP Integrity servers also generate
full OEM events; for that purpose, HP has chosen type E0 and E1 events.
These events consume two SEL entries, one for the primary data set
and the second for a timestamp.
Internally, HP maintains an event database that
contains all these events along with additional information about
each event:
Platforms on which the
event can be generated
Summary/Description/Cause/Action
text (ranging from a few words to entire paragraphs)
SNMP trap OID or WBEM
indication to be sent on event occurence
This database tends to grow over time as new platforms
are added to the server families. A static snapshot of this database
called the event dictionary ships with hpmgmtbase and is crucial to
the decoding and handling of all events. This snapshot is updated
with each release of hpmgmtbase.
There are several hpbmc directives
concerned with event decoding. The first is SELprint which gives the decoded text for all contents of the SEL. Similar
to SELprint is FPLprint. HP
Integrity Servers have a custom log called the Forward Progress Log,
or FPL. This is where all status and transactions are logged, along
with errors and mroe serious events found only in the SEL. The FPL
can be considered a superset of the SEL. The FPL is not part of the
IPMI specification.
SELprintraw and FPLprintraw print the same decoded event data with the actual bytes of the SEL
entry.
Another useful directive is SELdecode. The MP/iLO cards of Integrity Servers and some EFI utilities report
a SEL event in its raw 16-byte form as two large 8-byte numbers. SELdecode takes those numbers as input arguments and provides
a textual decode.
The final event directive is EventLookup, used to generate decodes for partial event information. Entry-level
servers (non- cellular) type 02 events can be categorized by an event
triplet, three of the key bytes from a SEL entry. These triplets
are described in the operations and maintenance guide of each server.
This triplet can be used as input for EventLookup.
Finally, the entire event dictionary can be dumped
with either EventLookup LIST (a very verbose form)
or EventLookup TABLE ( | -separated fields suitable
for further parsing or importing into a spreadsheet).