/Alarms ODB tree

From MidasWiki
Jump to navigation Jump to search


Links

Purpose

The ODB /Alarms tree contains user and system information related to alarms (see Alarm System). The information from this tree is displayed in the Alarms Page.

Creating the /Alarms tree

When the ODB is created, the /Alarms tree is automatically created, with

These are shown in the example below.

The user may create other alarms and classes by copying an existing <alarm-name> or <alarm-class> subtree and editing (via Alarms Page or odbedit) as required.

By default, the Alarm System is NOT active. When it is active, the overall alarm is checked once every minute. Once the alarm has been triggered, the message associated with the alarm can be repeated at a different rate.


Example

This example (using odbedit) shows the default /Alarms tree. See also Alarms Page.

$ odbedit
[local:pol:S]/>cd /alarms
[local:pol:S]/Alarms>ls
Alarm system active             y
Alarms
Classes
[local:pol:S]/Alarms>ls -r -lt
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
Alarms                          DIR
   Alarm system active         BOOL    1     4     4h   0   RWD  y
   Alarms                      DIR
       Demo ODB                DIR
           Active              BOOL    1     4     >99d 0   RWD  n
           Triggered           INT     1     4     >99d 0   RWD  0
           Type                INT     1     4     >99d 0   RWD  3
           Check interval      INT     1     4     >99d 0   RWD  60
           Checked last        DWORD   1     4     >99d 0   RWD  0
           Time triggered firstSTRING  1     32    >99d 0   RWD
           Time triggered last STRING  1     32    >99d 0   RWD
           Condition           STRING  1     256   >99d 0   RWD  /Runinfo/Run number > 100
           Alarm Class         STRING  1     32    >99d 0   RWD  Alarm
           Alarm Message       STRING  1     80    >99d 0   RWD  Run number became too large
       Demo periodic           DIR
             Active              BOOL    1     4     >99d 0   RWD  n
           Triggered           INT     1     4     >99d 0   RWD  0
           Type                INT     1     4     >99d 0   RWD  4
           Check interval      INT     1     4     >99d 0   RWD  28800
           Checked last        DWORD   1     4     >99d 0   RWD  1058817867
           Time triggered firstSTRING  1     32    >99d 0   RWD
           Time triggered last STRING  1     32    >99d 0   RWD
           Condition           STRING  1     256   >99d 0   RWD
           Alarm Class         STRING  1     32    >99d 0   RWD  Warning
           Alarm Message       STRING  1     80    >99d 0   RWD  Please do your shift checks
     fePOL                   DIR
           Active              BOOL    1     4     19s  0   RWD  y
           Triggered           INT     1     4     19s  0   RWD  205
           Type                INT     1     4     3s   0   RWD  2
           Check interval      INT     1     4     19s  0   RWD  60
           Checked last        DWORD   1     4     19s  0   RWD  1259196026
           Time triggered firstSTRING  1     32    19s  0   RWD  Wed Nov 25 12:59:33 2009
           Time triggered last STRING  1     32    19s  0   RWD  Wed Nov 25 16:40:26 2009
           Condition           STRING  1     256   3s   0   RWD  Program not running
           Alarm Class         STRING  1     32    19s  0   RWD  Caution
           Alarm Message       STRING  1     80    19s  0   RWD  Program fePOL is not running
 Classes                      DIR
       Alarm                   DIR
           Write system messageBOOL    1     4     27h  0   RWD  y
           Write Elog message  BOOL    1     4     27h  0   RWD  n
           System message interINT     1     4     27h  0   RWD  60
           System message last DWORD   1     4     27h  0   RWD  0
           Execute command     STRING  1     256   27h  0   RWD
           Execute interval    INT     1     4     27h  0   RWD  0
           Execute last        DWORD   1     4     27h  0   RWD  0
           Stop run            BOOL    1     4     27h  0   RWD  n
           Display BGColor     STRING  1     32    27h  0   RWD  red
           Display FGColor     STRING  1     32    27h  0   RWD  black
       Warning                 DIR
           Write system messageBOOL    1     4     >99d 0   RWD  y
           Write Elog message  BOOL    1     4     >99d 0   RWD  n
           System message interINT     1     4     >99d 0   RWD  60
           System message last DWORD   1     4     >99d 0   RWD  0
           Execute command     STRING  1     256   >99d 0   RWD
           Execute interval    INT     1     4     >99d 0   RWD  0
           Execute last        DWORD   1     4     >99d 0   RWD  0
           Stop run            BOOL    1     4     >99d 0   RWD  n
           Display BGColor     STRING  1     32    >99d 0   RWD  red
           Display FGColor     STRING  1     32    >99d 0   RWD  black


/Alarms tree structure

The /Alarms ODB tree is split into 2 subtrees:

  • Alarms subtree containing as many alarms (i.e. <alarm-name> subtrees) as the user desires. Each alarm must be one of the four defined Alarm Types. These also define the conditions that trigger the alarm.
  • Classes subtree containing as many classes (i.e. <class-name> subtrees) as the user desires. Each class defines the action to be taken when the alarm occurs. Two Classes (Alarm and Warning) are defined by default (see Example).

See also Alarm System.



Keys in the /Alarms ODB tree

Alarm system active

  • Type: BOOL
  • Default: "n"

If this key in the /Alarms ODB tree is set to "y", the alarm system is active. Set to "n" to deactivate.





Alarms subtree

  • Type: DIR


Sub-tree in the /Alarms ODB tree defining each individual alarm condition.






<alarm-name> subtree

  • Type: DIR


This subtree in the /Alarms/alarms subtree specifies the name of one of the defined alarms, where name is substituted for <alarm-name>. This subtree will be repeated with a different name for each defined alarm. In the example two <alarm-name> subtrees are shown, called "demo odb" and "demo periodic"






Active

  • Type: BOOL
  • Default: "n"

If this key in the <alarm-name> subtree is set to "y" , this particular alarm is active.







Triggered

  • Type: INT
  • Default: 0

If this key in the <alarm-name> subtree is non-zero, this alarm has been triggered. Filled by System.







Type

  • Type: INT
  • Default:

This key in the <alarm-name> subtree must be one of the listed Alarm Types.






Check interval

  • Type: INT
  • Default: 60


This key in the <alarm-name> subtree contains the frequency in seconds at which this alarm condition is to be checked by the alarm system.






Checked last

  • Type: DWORD
  • Default:


This key in the <alarm-name> subtree is written by the Alarm System.







Time triggered first

  • Type: STRING
  • Default:


This key in the <alarm-name> subtree is written by the Alarm System.






Time triggered last

  • Type: STRING
  • Default:


This key in the <alarm-name> subtree is written by the Alarm System.







Condition

  • Type: STRING
  • Default:


This key in the <alarm-name> subtree contains the condition on which alarm should trigger for evaluated alarms. See #Evaluated Alarm conditions.






Alarm class

  • Type: STRING
  • Default:


This key in the <alarm-name> subtree is set to one of the existing Alarm classes, e.g. the defaults "Alarm","Warning" or a user-defined class, e.g. "Caution". The Alarm class must be defined in the Classes subtree.





Alarm message

  • Type: STRING
  • Default:

This key in the <alarm-name> subtree constains the message to be written when alarm triggers.






Classes subtree

  • Type: DIR

Sub-tree in the /Alarms ODB tree defining each individual alarm class. Each class defines the individual action to be performed by a predefined and requested alarm.





<class-name> subtree

  • Type: DIR

This subtree in the Classes subtree defines one of the alarm classes of name name, where name is substituted for <class-name>. This subtree will be repeated with a different name for each defined class. In the example above, two <class-name> subtrees are shown, named "Alarm" and "Warning".






Write System Message

  • Type: BOOL
  • Default: "y"


If this key in the <class-name> subtree is set to "y", a message will be sent to the System log when an alarm with this alarm class is triggered.





Write Elog Message

  • Type: BOOL
  • Default: "n"


If this key in the <class-name> subtree is set to "y", a message will be written to the Elog when an alarm with this alarm class is triggered.







System message interval

  • Type: INT
  • Default: 60

This key in the <class-name> subtree contains the interval in seconds between successive system messages when an alarm with this alarm class is triggered.

Set this key to 0 to ensure that every alarm is recorded into the MIDAS log file.

See important note on the implementation of this key by the alarm system.




System message last

  • Type: DWORD
  • Default: 0

This key in the <class-name> subtree contains the time when the last alarm system message was written. It is filled by the alarm system.






Execute command

  • Type: STRING
  • Default: ""

This key in the <class-name> subtree may contain a command to be executed when an alarm with this alarm class is triggered. This parameter can be used to trigger Email or SMS alerts.






Execute interval

  • Type: INT
  • Default: 0

When an alarm with this alarm class is triggered, if a valid Execute command is supplied, the command will be repeated at an interval in seconds designated by this key in the <class-name> subtree, providing the interval set is greater than 0.






Execute last

  • Type: DWORD
  • Default: 0

This key in the <class-name> subtree contains the time when the alarm system last executed the command in the key Execute command. It is filled by the alarm system.






Stop run

  • Type: BOOL
  • Default: "n"

This key in the <class-name> subtree if set to "y" will cause the run to stop when an alarm with this alarm class is triggered.






Display BGColor

  • Type: STRING
  • Default: "red"

This key in the <class-name> subtree contains the background colour of the alarm banner on the mhttpd Status Page. The alarm banner appears if the alarm is triggered.






Display FGColor

  • Type: STRING
  • Default: "black"

This key in the <class-name> subtree contains the foreground colour of the alarm banner on the mhttpd Status Page. The alarm banner appears if the alarm is triggered.