最新のトリガーイベントに対する HTTP リクエストの例

http://myController:8080/controller/rest/applications/${latestEvent.application.name}/nodes/${latestEvent.node.name}

トリガーイベントのリストを反復処理する HTTP リクエストの例

#foreach(${event} in ${fullEventList})
http://myController:8080/controller/rest/applications/${event.application.name}/nodes/${event.node.name}
#end

件名が動的に変わるメールの例

アプリケーションをモニタリングする複数の正常性ルールがあり、すべての正常性ルールについて 1 つのポリシーでメール通知を送信する場合、正しい情報を通知から検索するのが難しいことがあります。通知をトリガーしたイベントに基づいてメールの件名が動的に更新されるよう、変数を定義することができます。

必ず、メール本文で件名の変数を定義し、件名フィールドにそれを含めてください。

Subject: $subject
Body:
...
<!-- Subject changes dynamically based on the triggering event -->
#foreach(${events} in ${fullEventList})
#set($subject = ${events.eventType.toString()}) #end
...

メールの HTML 本文の例

Splunk AppDynamics はこのメールテンプレートを使用して、アプリケーションで発生したイベントの詳細を通知します。イベントタイプを有効にすることで、通知が必要なイベントの詳細をカスタマイズできます。

<!-- Default AppDynamics email template -->
#if( $!{notificationConfigText} != '' )
$!{notificationConfigText}
#else
AppDynamics
#end
Event Notification for the "${latestEvent.application.name}" Application
Event Notification Name: ${policy.name}
Event Notification Severity: ${topSeverity}
Summary of events occurring during the ${policy.digestDurationInMins}+ minute(s) prior to ${action.triggerTime}:
## Summary table
|| Event Type | Count ||
## Copy this row for each event type and count
#foreach($eventTypeEntry in $fullEventsByTypeMap.entrySet())
|| ${eventTypeEntry.getKey()} | ${eventTypeEntry.getValue().size()} ||
#end
## Full List of Events
The following events occurred during the time frame:
#if ($clamped)
Warning: The event list has been clamped at ${clampLimit} results! Please see the event and/or request snapshot viewers for the full list of events.
#end
|| Event Time | Event Type | Severity | Tier | Node | Summary ||
#foreach($eventList in $clampedEventsByTypeMap.values())
#foreach($event in $eventList)
|| ${event.eventTime} | ${event.displayName} | ${event.severity} | $!{event.db.name} | $!{event.tier.name} | $!{event.node.name} | ${event.summaryMessage} ||
#end
#end
Event Notification from AppDynamics.
This is an auto-generated email summarizing events on the "${latestEvent.application.name}" application. You are receiving this because you are configured as a recipient on the "${policy.name}" event notification. This is not necessarily an exhaustive list of all events during this time frame. Only those event types enabled in the notification will appear in this message.

反復処理を使用してイベントの詳細を抽出する例

次の例では、eventList を反復処理して、指定された期間中に発生した各イベントの詳細を抽出します。

<h1>Summary of events occurring during the ${policy.digestDurationInMins}+ minute(s) prior to ${action.triggerTime}:</h1>
<table>
#foreach(${eventList} in ${fullEventsByTypeMap.values()})
#foreach(${event} in ${eventList})
<tr>
<td>
<!-- Event icon -->
<img src="${event.severityImage.mimeContentRef}" alt="${event.severity}" />
</td>
<td>
<!-- Event name with event link -->
<a href="${event.deepLink}">${event.displayName}</a>
</td>
<td>
<!-- Event message -->
${event.eventMessage}
</td>
</tr>
#end
#end
</table>

すべての変数を一覧表示するコードの例

次のテンプレートを使用して、すべての変数をリストできます。

#foreach($eventList in $fullEventsByTypeMap.values())
#foreach($event in $eventList)
|| ${event.eventTime} | ${event.displayName} | ${event.severity} | $!{event.db.name} | $!{event.tier.name} | $!{event.node.name} | ${event.summaryMessage} ||
#end
#end

このテンプレートを使用して、エンティティに関連付けられているすべてのタグを取得できます。

このテンプレートを使用して、エンティティに関連付けられているすべてのタグを取得できます。

#foreach(${event} in ${fullEventList})
Event App Name: ${event.application.name}
Event Name: ${event.displayName}
Event HR Name: ${event.healthRule.name}
Event Affected Entities:
#foreach(${affectedEntity} in ${event.affectedEntities})
Affected Entity Name: ${affectedEntity.name}
Affected Entity Type: ${affectedEntity.entityType}
Affected Entity Tags: ${affectedEntity.tagValues}
#end
#end