NOC 5.0 Script to extract detailed message description field content from an App Manager alarm

  • 7015706
  • 29-Sep-2014
  • 17-Oct-2014

Environment

NetIQ Operations Center 5.0 running with a configured running App Manager adapter

Situation

There may be times when clients would like to be able to extract the contents of the Message Description field that resides on incoming App Manager Alarms. Professional Services has created a server-side operation script which allows this functionality to be performed.

Resolution

This script should be added to a server-side operation:

var details = "not found!";

if ( this.alarms[0]['ParentEventID'] != 0 )
{
details = this.alarms[0].element.getAlarmDetailedMessage(this.alarms[0].id);
}
else
{
var childAlarm = getChildAlarm( this.alarms[0].element, this.alarms[0].id );
if (childAlarm != null)
{
details = childAlarm.element.getAlarmDetailedMessage(childAlarm.id);
}
}

if ( details == undefined )
formula.log.info("DETAIL: undefined" );

if ( details == "" )
formula.log.info("DETAIL: emtpty" );

formula.log.info("DETAIL: " + details );

if ( details != undefined )
{
var transformedString = this.alarms[0].element.adapter.transformDetailMessageToHTML( details )
if ( details == "" )
this.session.sendMessage(" ");
else
this.session.sendMessage(transformedString);
}
else
this.session.sendMessage("undefined");

// returns one appManager child alarm for the given id
// or null if not found
function getChildAlarm ( theElement, parentID )
{
var childAlarm = null;
var allAlarms = theElement.alarms;
for (var i=0; i < allAlarms.length; i++)
{
if ( allAlarms[i]['ParentEventID'] == parentID )
{
childAlarm = allAlarms[i];
}
}
return childAlarm;
}