Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Gliffy
imageAttachmentIdatt314638341
baseUrlhttps://atomiton.atlassian.net/wiki
nameAlarm State Transition Copy
migration1
diagramAttachmentIdatt314638337
containerId293372058

Table of Contents


Gliffy
imageAttachmentIdatt261554178
baseUrlhttps://atomiton.atlassian.net/wiki
migration1
nameAlarm Heirarchy
diagramAttachmentIdatt261750785
containerId236748960
timestamp1521175914647

Cluster Monitoring Model Description

AlarmCondition Model


AttributeDescription/ Purpose
1SidUnique ID
2NameName of the Rule
3DescriptionDescription and purpose of Rule
4EnabledIdentifies if a rule must be executed (Values: true/false)
5LastRunStores the last time the rule was executed
6LastStatusStores the result of the last run (Values: Success/ ERRCON1/ ERRCON2.. ) In case of error, the time between subsequent executions can be inceased and Rule disabled with fatal message at  point. Value will be the most severe failure in case of multiple conditions
7CheckCondition1..* Contitions to be executed for this rule (e.g. A presence of a facet and a http connection check for a task group)
8isRecoverableIndicates if the rule has a recovery action
9RecoveryActionRecovery Action
10TypeThe type of condition to be tested
11ComponentNameThis is a logical grouping of Alarm conditions based on the target application needs
12AlertCountCount of successive Alerts raised for this Condition (Reset when Condition is successful)


ConditionDef


AttributeDescription/ Purpose
1SidUnique Id
2Protocolhttp or https
3URLHostHostName or IP Address
4URLPortPort Number
5URLEndpointTarget endpoint (e.g. fid-TopicFacet)

Types and atributes:

The ConditionDef will have each of these attributes but will be populated based on the type of the Condition

Type: Facet

Test: Check if the Facet is running


AttributeDescription/ Purpose
1FacetNameName of the facet to be checked
2URLThe URL to be called


Type: HTTP

Test: Check if the HTTP endpoint is UP


AttributeDescription/ Purpose
1URLThe URL to be called
2QueryThe query to be executed
3TimeOutAutoConnectionTimeout for the request
4Headers?0..* header as key value pairs


Type: WS

Test: Check if the websocket endpoint is UP


AttributeDescription/ Purpose
1URLThe URL to be called
2QueryThe query to be executed
3TimeOutAutoConnectionTimeout for the request


Type: Sequence

Test: Check if the sequence is executing


AttributeDescription/ Purpose
1URLThe URL to be called
2SequenceNameThe sequence to be tested


Type: Log

Test: Check if the sequence is executing


AttributeDescription/ Purpose
1MessageMessage to be checked
2SourceSource of the message
3LevelLevel of the message


RecoveryActionModel


AttributeDescription/ Purpose
1SidUnique Id
2RuleIdIdentifies the Rule this condition belongs to
3TypeThe type of recovery action to be taken
4Active(True/False) A recovery action becomes active when the Condition is successful, and inactive when the a condition fails. This prevent the recovery from running before the condition is up and running. Also it prevents multiple attempts at recovery, specially when previous recovery is still in progess
5AttemptAfterCountThe number of alerts after which recovery must be attempted. If value is 1, recovery will be attempted instantly.

Type: ExecuteQuery

Test: Check if the sequence is executing


AttributeDescription/ Purpose
1URLThe URL to be called
2QueryQuery to be executed


Type: Script

Test: Check if the sequence is executing


AttributeDescription/ Purpose
1ScriptLocationLocation of the script to be executed

Alert Model


AttributeDescription/ Purpose
1IdUnique Identifier for Alert
2AlarmIdId of the Alarm that failed, caued an alert to be raised
3ClusterIdId of the daemon on which the Alert was created (Only on the Mgmt backend, absent on the daemon)
4InstanceNameName of the node for which the Alert was raised
5RaisedDateThe timestamp when of the alert
6CauseReason of the failuer
7DetailedMessageDetailed message if there is one.
8LevelLevel of the error (Error/ Fatal)
9HasReadIndicates whether the Alert is new or has been read.

...

  1. Rules are added by the use through the API or csv file upload
  2. A job is executed every minute that does the following:
    1. Picks up a AlarmCondition
    2. Executes the condition
    3. On Success
      1. Updates the LastRun with current time and LastStatus to 'Success'
    4. On Failure
      1. Updates the LastRun with current time and LastStatus to 'Failure'
      2. Generates an alert with Condition, ClusterId, InstanceName, and Error Reason
      3. If Recovery Action is present try and execute the action recovery could be
        1. Try and restart failing component
        2. Try and restart the A-Stack engine on the failing node
  3. Find new alerts (Newer than the last run) Sends email notification for the alert

Alarm State Transition Diagram

Gliffy
imageAttachmentIdatt314638341
baseUrlhttps://atomiton.atlassian.net/wiki
migration1
nameAlarm State Transition Copy
diagramAttachmentIdatt314638337
containerId293372058

Command Line API

Load Alarm Conditions

...