 |
» |
|
|
 |
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.
|