Smarts NOTIF uses a named queue to process incoming events. Events are normalized into a common structure and pushed into this queue through MODEL methods. The named queue for events is notifInterface::notifEventQueue. The method used to push an event into the queue is:
void pushEvent ( string encodedEvent, string sourceSystemId );
The encodedEvent is a pipe-separated ("|") string having the normalized format described in “Raw event normalization” on page 26. The sourceSystemId is a string identifying where this event came from.
The following example ASL file shows how a raw SNMP event is pushed into Smarts NOTIF:
rawEvent.asl START { .. eol } do { queue = object("notifInterface", "notifEventQueue"); if(queue->isNull()) { print(queue . " was null!"); return; } eventTimeStamp = time(); eventAgent = "192.168.1.100"; enterprise = "TestECI"; generic = ""; specific = ""; oid1 = "testOID"; oidValue1 = "test value"; completeString = eventTimeStamp . "|" . eventAgent . "|" . enterprise . "|" . generic . "|" . specific . "|" . oid1 . "|" . oidValue1; queue->pushEvent(completeString, "rawEvent.asl"); }