Kubernetes の定義済みのテンプレート変数
定義済みの変数は、HTTP リクエストテンプレートまたは電子メールテンプレートで使用できます。トリガーイベントのコンテキストにおける変数の値は、実際のリクエストまたはメールを送信する際にポリシーエンジンによって置換されます。
情報クラスとベース名を使用して変数を形成し、電子メールテンプレートと HTML テンプレートでこれらの定義済み変数を使用する必要があります。Notification(通告)にこのテンプレートを使用するには、「Notification(通告)アクション」を参照してください。
ベース名
ベース名は、定義済み変数に対して、対応する情報クラスフィールドとともに使用されます。Kubernetes 関連のトリガーイベントの場合、ベース名は latestEvent です。
変数名の形成
事前定義された変数名を形成するには、変数のベース名を対応する情報クラスのフィールドに結合します。
latestEvent を name, entityTypeDisplayName および ModernEntityInfo クラスの属性フィールドと組み合わせます。これにより、次の変数が形成されます。
${latestEvent.modernEntity.name} (${latestEvent.modernEntity.entityTypeDisplayName})
${latestEvent.modernEntity.attributes}
- entityType:CLUSTER、NAMESPACE、DEPLOYMENT、POD などのエンティティのタイプ。
- entityTypeDisplayName:クラスターなどのエンティティタイプの表示名。
- name:エンティティの実際の名前。
- isLegacyEntity:エンティティが最新(Kubernetes エンティティ)か旧来かを判断します。たとえば、影響を受けるエンティティに対して反復する場合は、このフィールドを使用できます。
- attributes:Kubernetes エンティティに必要な属性を階層的に含めます。以下は、サポートされる属性です。
- k8s.cluster.name
- k8s.namespace.name
- k8s.deployment.name
- k8s.daemonset.name
- k8s.cronjob.name
- k8s.statefulset.name
- k8s.replicaset.name
- k8s.container.name
- k8s.resourcequota.name
- k8s.pod.name
- k8s.entity.type
- k8s.workload.type
情報クラスフィールド
ModernEntityInfoクラスは Kubernetes エンティティに使用されます。EntityInfoクラスには、エンティティが旧来(アプリケーション、階層、ノードなど)であるか、最新(Kubernetes エンティティ)であるかに関する情報を提供する、isLegacyEntityフィールドが含まれます。ModernEntityInfoクラス内の属性フィールドは、階層的に詳細を決定することを目的としています。- 長い識別子は
EntityInfoクラスにのみ適用され、ModernEntityには適用されません。
class EventInfo {
EventType eventType
String guid
String eventTypeKey
Date eventTime
String displayName
String summaryMessage
String eventMessage
EntityInfo application
EntityInfo tier
EntityInfo node
EntityInfo db
ModernEntityInfo modernEntity;
List<EntityInfo> affectedEntities
boolean healthRuleEvent
EntityInfo anomaly // * Only defined in case of anomaly event
EntityInfo healthRule // * Only defined when healthRuleEvent == true
EntityInfo incident // * Only defined when healthRuleEvent == true
boolean healthRuleViolationEvent
NotificationSeverity severity
ImageInfo severityImage
boolean btPerformanceEvent // * true when eventType matches one of the BT performance event types
String deepLink
}
class ImageInfo {
String name
String fileName
String mimeContentRef
String deepLink
}
class EntityInfo {
EntityType entityType
String entityTypeDisplayName
long id
String name
boolean isLegacyEntity;
Map<String, String> tagValues
}
class ModernEntityInfo extends EntityInfo {
String entityTypeDisplayName;
Map<String, Object> attributes;
}
class ModernEntityInfo {
EntityType entityType;
String entityTypeDisplayName;
String name;
boolean isLegacyEntity;
Map<String, Object> attributes;
}
class ActionInfo extends EntityInfo {
Date triggerTime
}
class PolicyInfo extends EntityInfo {
boolean digest
digestDurationInMins
}
class PolicyInfo {
EntityType entityType
String entityTypeDisplayName
long id
String name
boolean digest
int digestDurationInMins
}
class ActionInfo {
EntityType entityType
String entityTypeDisplayName
String name
Date triggerTime
}
enum NotificationSeverity { INFO, WARN, ERROR }
class NodeTemplateVariables {
private String name;
private long tierId;
private String tierName;
private long machineId;
private String machineName;
private boolean machineAgentPresent;
private String machineAgentVersion;
private boolean appAgentPresent;
private String appAgentVersion;
private String ipAddresses;
private AgentType agentType;
private Map<String, String> tagValues;
}