Jump to: navigation, search

Monasca/Message Schema

Message Schema

There are several messages that are published and consumed by various components in Monasca via the MessageQ.

Message Produced By Consumed By Kafka Topic Description
Metric API, Transform and Aggregation Engine Persister, Threshold Engine metrics A metric sent to the API or created by the Transform Engine, Event Engine or Anomaly Engine is published to the MessageQ.
AlarmDefinitionCreatedEvent API Threshold Engine events When an alarm definition is created by the API an AlarmDefinitionCreatedEvent is published to the MessageQ.
AlarmDefinitionDeletedEvent API Threshold Engine events When an alarm definition is deleted by the API an AlarmDefinitionDeletedEvent is published to the MessageQ.
AlarmDefinitionUpdatedEvent API Threshold Engine events When an alarm definition is updated by the API an AlarmDefinitionUpdatedEvent is published to the MessageQ.
AlarmCreatedEvent Threshold Engine events When an alarm is created by the Threshold Engine an AlarmCreatedEvent is published to the MessageQ.
AlarmDeletedEvent API Threshold Engine events When an alarm is deleted by the API an AlarmDeletedEvent is published to the MessageQ.
AlarmUpdatedEvent API Threshold Engine events When an alarm is updated by the API an AlarmUpdatedEvent is published to the MessageQ.
AlarmStateTransitionedEvent Threshold Engine Notification Engine, Persister alarm-state-transitions When an alarm transitions from the OK to Alarmed, Alarmed to OK, ..., this event is published to the MessageQ and persisted by the persister and processed by the Notification Engine. The Monitoring API can query the history of alarm state transition events.
AlarmNotification Notification Engine Persister alarm-notifications This event is published to the MessageQ when the notification engine processes an alarm and sends a notification. The alarm notification is persisted by the Persister and can be queried by the Monitoring API. The database maintains a history of all events.

Alarm Definition Events

AlarmDefinitionCreatedEvent

String tenantId String alarmDefinitionId String alarmName String alarmDescription String alarmExpression Map<String, AlarmSubExpression> alarmSubExpressions List<String> matchBy

AlarmDefinitionDeletedEvent

String alarmDefinitionId Map<String, MetricDefinition> subAlarmMetricDefinitions

AlarmDefinitionUpdatedEvent

String tenantId String alarmDefinitionId String alarmName String alarmDescription String alarmExpression String severity List<String> matchBy boolean alarmActionsEnabled Map<String, AlarmSubExpression> oldAlarmSubExpressions Map<String, AlarmSubExpression> changedSubExpressions Map<String, AlarmSubExpression> unchangedSubExpressions Map<String, AlarmSubExpression> newAlarmSubExpressions

Alarm Events

AlarmCreatedEvent

String tenantId String alarmId String alarmName String alarmExpression Map<String, AlarmSubExpression> alarmSubExpressions

AlarmDeletedEvent

String tenantId String alarmId List<MetricDefinition> alarmMetrics String alarmDefinitionId Map<String, AlarmSubExpression> subAlarms

AlarmStateTransitionedEvent

String tenantId String alarmId String alarmDefinitionId List<MetricDefinition> metrics String alarmName String alarmDescription AlarmState oldState AlarmState newState boolean actionsEnabled String stateChangeReason String severity long timestamp

AlarmUpdatedEvent

String alarmId String tenantId String alarmDefinitionId List<MetricDefinition> alarmMetrics Map<String, AlarmSubExpression> subAlarms AlarmState alarmState AlarmState oldAlarmState

Metrics Message

Event Message

Types

AlarmSubExpression

AggregateFunction function MetricDefinition metricDefinition

AlarmOperator operator double threshold threshold int period int periods

MetricDefinition

String name Map<String, String> dimensions

enum AlarmState

UNDETERMINED OK ALARM