 |
» |
|
|
 |
An EVM event is a package of data that can be passed between
various software components and also stored for later review. An event must match an event template that
is stored in the EVM database. Data items for an event can be supplied
in either the posted event itself or by the matching template. The
contents of the event received by the event subscriber result from
merging the data items in the posted event with those in the event
template. For more information about matching and merging, see “Matching the Names of Posted Events with
Event Template Names” and “Merging Data Items from Templates and Posted Events” . A typical event life cycle includes the following operations: Templates are created for all events that a process
may want to post, and these templates are stored in an EVM database
when the product or the subsystem is installed. Processes that are interested in receiving events
establish a connection with the EVM daemon and then issue subscription requests,
specifying a filter that identifies the set of events in which they
are interested. When a process or kernel component detects an eventworthy
status change, it connects to EVM and posts the event that corresponds
to that status change. Alternatively, if the event is posted to an event channel
other than EVM, the channel processes the event in its own way,
which may include logging it. The channel then converts the event
to EVM format and pass it to EVM. EVM validates the request to post the event by checking
if the event has a corresponding template in the EVM template database,
and if the poster is authorized to post the event. If it is valid,
EVM creates a merged version of the event by combining data items
in the posted event with data items in the template. EVM passes the merged event to all processes that
have subscribed to receive the event. Subscribers handle the event in an appropriate way.
For example, they may store it, send mail to the system administrator,
or initiate an application failover.
|