#*
--------------------------------------------------------------------
This script is provided as an example and is not officially supported by Moogsoft.
--------------------------------------------------------------------
*#
##Clean Summary and Event Message from unwanted text
#set( $sm = ${latestEvent.summaryMessage} )
#set( $sm = $sm.replace("", "") )
#set( $sm = $sm.replace("", "") )
#set( $sm = $sm.replace("
", "") )
#set( $em = ${latestEvent.eventMessage} )
#set( $em = $em.replace("", "") )
#set( $em = $em.replace("", "") )
#set( $em = $em.replace("
", "") )
#set( $em = $em.replace("AppDynamics has detected a problem with", "") )
#*
--------------------------------------------------------------------
Extract and store fields
--------------------------------------------------------------------
*#
#set($currentSeverity=0)
#if( ${topSeverity} == "ERROR" )
#set($currentSeverity=5)
#elseif( ${topSeverity} == "WARN" )
#set($currentSeverity=3)
#elseif( ${topSeverity} == "INFO")
#set($currentSeverity=0)
#end
#if ($latestEvent.application.id)
#set ($applicationId=${latestEvent.application.id})
#else
#set( $applicationId= "" )
#end
#if ($latestEvent.application.name)
#set ($applicationName=${latestEvent.application.name})
#else
#set( $applicationName= "" )
#end
#if ($latestEvent.tier.name)
#set ($tierName=${latestEvent.tier.name})
#else
#set( $tierName= "" )
#end
#if ($latestEvent.tier.Id)
#set ($tierId=${latestEvent.tier.Id})
#else
#set( $tierId= "" )
#end
#if ($latestEvent.node.name)
#set ($nodeName=${latestEvent.node.name})
#else
#set( $nodeName= "" )
#end
#if ($latestEvent.node.Id)
#set ($nodeId=${latestEvent.node.Id})
#else
#set( $nodeId= "" )
#end
#set ( $machineName= "")
#set ($machineIP="")
#foreach(${value} in ${fullEventsNodeMap.values()})
#if(${value.machineName})
#set ( $machineName = ${value.machineName} )
#set ( $machineIP = ${value.ipAddresses} )
#end
#end
#*
--------------------------------------------------------------------
Set affectedEntity
--------------------------------------------------------------------
*#
#set($affectedEntityName=${latestEvent.affectedEntities[0].name})
#set($affectedEntityId=${latestEvent.affectedEntities[0].id})
#set($affectedEntityTypeDisplayName="${latestEvent.affectedEntities[0].entityTypeDisplayName}")
#set($affectedEntityType="${latestEvent.affectedEntities[0].entityType}")
#*
--------------------------------------------------------------------
Set Source
--------------------------------------------------------------------
*#
#set ( $source= "")
#if(${affectedEntityType}=="DB_SERVER")
#set ( $source= ${machineName})
#elseif(${affectedEntityType}=="BUSINESS_TRANSACTION")
#set ( $source= "${tierName}:${affectedEntityName}")
#elseif($nodeName && $nodeName!="" && $affectedEntityTypeDisplayName!="Tier")
#set ( $source= ${nodeName})
#elseif($tierName && $tierName!="")
#set ( $source= ${tierName})
#elseif($applicationName && $applicationName!="")
#set ( $source= ${applicationName})
#end
#*
--------------------------------------------------------------------
Set Signature and Class
--------------------------------------------------------------------
*#
#set ( $dedupe_key= "")
#set ( $class= "")
#if(${latestEvent.healthRuleEvent})
#set ( $class= ${affectedEntityTypeDisplayName})
#if(${affectedEntityType}=="DB_SERVER")
#set ( $dedupe_key= "${latestEvent.healthRule.name}::${affectedEntityName}")
#elseif(${affectedEntityType}=="BUSINESS_TRANSACTION")
#set ( $dedupe_key= "${latestEvent.healthRule.name}::${applicationName}::${tierName}::${affectedEntityName}")
#elseif($nodeName && $nodeName!=""&& $affectedEntityTypeDisplayName!="Tier")
#set ( $dedupe_key= "${latestEvent.healthRule.name}::${applicationName}::${tierName}::${nodeName}")
#elseif($tierName && $tierName!="")
#set ( $dedupe_key= "${latestEvent.healthRule.name}::${applicationName}::${tierName}")
#elseif($applicationName && $applicationName!="")
#set ( $dedupe_key= "${latestEvent.healthRule.name}::${applicationName}")
#end
#end
#if(!${latestEvent.healthRuleEvent})
#set ( $class= ${latestEvent.eventTypeKey})
#if($nodeName && $nodeName!="")
#set ( $dedupe_key= "${latestEvent.eventTypeKey}::${applicationName}::${tierName}::${nodeName}")
#elseif($tierName && $tierName!="")
#set ( $dedupe_key= "${latestEvent.eventTypeKey}::${applicationName}::${tierName}")
#elseif($applicationName && $applicationName!="")
#set ( $dedupe_key= "${latestEvent.eventTypeKey}::${applicationName}")
#end
#end
#*
--------------------------------------------------------------------
Set the JSON payload
--------------------------------------------------------------------
[
{
"account": {
"entityType": "ACCOUNT",
"id": ${account.id},
"name": "${account.name}",
"addEntityType": false,
"entityTypeDisplayName": "Account"
},
"policy": {
"entityType": "EVENT_REACTOR",
"id": ${policy.id},
"name": "${policy.name}",
"digest": "${policy.digest}",
"digestDurationInMins": "${policy.digestDurationInMins}",
"addEntityType": false,
"entityTypeDisplayName": ""
},
"action": {
"entityType": "ACTION",
"id": ${action.id},
"name": "${action.name}",
"triggerTime": "${action.triggerTime}",
"addEntityType": false,
"entityTypeDisplayName": ""
},
"latestEvent": {
"eventType": "${latestEvent.eventType}",
"id": ${latestEvent.id},
"guid": "${latestEvent.guid}",
"displayName": "${latestEvent.displayName}",
"eventTime": "${latestEvent.eventTime}",
"severity": "${latestEvent.severity}",
"deepLink": "${latestEvent.deepLink}",
"summaryMessage": "${latestEvent.summaryMessage}",
"eventMessage": "${latestEvent.eventMessage}",
"healthRuleEvent": ${latestEvent.healthRuleEvent},
"healthRuleViolationEvent": ${latestEvent.healthRuleViolationEvent},
"btPerformanceEvent": ${latestEvent.btPerformanceEvent},
"eventTypeKey": "${latestEvent.eventTypeKey}",
"application": {
"entityType": "APPLICATION",
"id": ${latestEvent.application.id},
"name": "${latestEvent.application.name}",
"addEntityType": false,
"entityTypeDisplayName": "Application"
},
"tier": {
"entityType": "APPLICATION_COMPONENT",
"id": ${latestEvent.tier.id},
"name": "${latestEvent.tier.name}",
"addEntityType": false,
"entityTypeDisplayName": "Tier"
},
"node": {
"entityType": "APPLICATION_COMPONENT_NODE",
"id": ${latestEvent.node.id},
"name": "${latestEvent.node.name}",
"addEntityType": false,
"entityTypeDisplayName": "Node"
},
"affectedEntities": [
#foreach($entity in $latestEvent.affectedEntities)
{
"entityType": "${entity.entityType}",
"id": ${entity.id},
"name": "${entity.name}",
"triggerTime": "${entity.triggerTime}",
"addEntityType": false,
"entityTypeDisplayName": "${entity.entityTypeDisplayName}"
}#if($foreach.hasNext),#end
#end
]
},
"notes": "${notes}",
"topSeverity": "${topSeverity}",
"controllerUrl": "${controllerUrl}"
}
]