Table Of Contents
Alarms Database Schema
Introduction
Table Classes
A Note About Time
Detailed Schema Description
VersionInfo Table
Description
Fields
ProductInfo Table
Description
Fields
Objects Table
Description
Fields
OIDNodes Table
Description
Fields
Attributes Table
Description
Fields
OIDNodeAttributes Table
Description
Fields
HyperlinkInfo Table
Description
Fields
Rules Table
Description
Fields
Customers Table
Description
Fields
InstanceNodes Table
Description
Fields
Uptime Table
Description
Fields
Alarms Table
Description
Fields
Events Table
Description
Fields
Simples Table
Description
Fields
ObjectState Table
Description
Fields
AlarmsSummaryHour Table
Description
Fields
AlarmsSummaryDay Table
Description
Fields
Filters Table
Description
Fields
FiltersProductSpecific Table
Description
Fields
How Handles Are Used
Alarm State Transition Diagram
Alarms Database Schema
Introduction
"Remote Monitoring Suite Overview", presented an overview of the main tables in the Alarms Database. This appendix provides the database map (Figure A-1) and describes all of the tables in the database in greater detail.
Table Classes
There are four classes of tables maintained in the database:
1.
Configuration Tables
•
These tables store information related to products, Rule mapping and nodes.
•
Tables in this class include the following:
–
VersionInfo
–
ProductInfo
–
Objects
–
OIDNodes
–
Attributes
–
OIDNodeAttributes
–
HyperlinkInfo
–
NodeTypes
–
Rules
–
Customers
–
InstanceNodes
2.
Alarms Tables
•
These tables store information related to the Listener Event stream processed by the LGMapper and LGArchiver Servers.
•
These tables include:
–
Uptime
–
Alarms
–
Events
–
Simples
–
ObjectState
3.
Summary Statistics Tables
•
These tables store summary information collected during continuous monitoring of Listener Events.
•
The information in these tables represent totals or averages of important metrics related to Alarms and Events.
•
These tables include:
–
AlarmsSummaryHour
–
AlarmsSummaryDay
4.
Filter Tables
•
These tables store information related to server-side filtering options.
•
These tables include:
–
Filters
–
FiltersProductSpecific
Figure A-1 Alarms Database Schema Map
A Note About Time
There are many time fields in tables throughout the database. All times recorded in the database are stored relative to the time zone of the LGMapper/LGArchiver Server machine. Some times represent the time the Event actually occurred at the customer site, other times represent the time an Event is received at the LGMapper, and other times represent the time that an AlarmTracker user assigned an Alarm.
Note
Customers may be located all around the world and when an Event is sent to Listener its Event time is adjusted to be in the time zone of the Listener. When this Event is sent on to LGMapper, the time may be further adjusted if the LGMapper time zone is different than that of the Listener.
Detailed Schema Description
VersionInfo Table
Description
The VersionInfo table stores information related to the schema version and relevant times of updates. This table is updated by the LGCnfg tool and by the LGMapper/LGArchiver Servers.
This table should contain only a single row of information.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
VersionNumber (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
MasterDB
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
MasterDBFile
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
ReplicationTime
|
datetime
|
no
|
8
|
|
|
yes
|
(n/a)
|
(n/a)
|
ReindexTime
|
datetime
|
no
|
8
|
|
|
yes
|
(n/a)
|
(n/a)
|
Note
(PK) is used throughout this document to indicate the Primary Key of the table.
Fields
Column_name
|
Column Description
|
VersionNumber
|
Alarms database schema version number.
|
MasterDB
|
Set to 1 if the database is a Master Database, 0 if it is a Slave Database. Database replication is not currently implemented in Version 2 of the product.
|
MasterDBFile
|
If MasterDB is set to 0, this field contains the location of the Master Database. Database replication is not currently implemented in Version 2 of the product.
|
ModifiedTime
|
The time the configuration information in the database was last changed. Changes made using LGCnfg to any of the Configuration Tables except for Customers and InstanceNodes (refer to the Introduction) update this field.
|
ReplicationTime
|
The time the database was last replicated. Database replication is not currently implemented in Version 2 of the product.
|
ReindexTime
|
The time of the last full re index using DBCC DBREINDEX.
|
AdminLocks
|
The count of Admin locks on the Alarms Database. If an instance of LGCnfg2 has the database open with read/write access, it will increment this value. When it exits, it will decrement this value. When LGMapper or LGArchiver starts up, it will check this field. If it is non-zero, it will fail and exit.
|
ProductInfo Table
Description
This table contains general information about Products supported by the Rule mapping process.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
ProductID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProductName
|
varchar
|
no
|
64
|
|
|
no
|
yes
|
no
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
ObjectsParseTime
|
datetime
|
no
|
8
|
|
|
yes
|
(n/a)
|
(n/a)
|
BeeperParseTime
|
datetime
|
no
|
8
|
|
|
yes
|
(n/a)
|
(n/a)
|
Description
|
varchar
|
no
|
256
|
|
|
yes
|
yes
|
no
|
Fields
Column_name
|
Column Description
|
ProductID
|
Product ID. This ProductID field is used as a foreign key in many other tables.
|
ProductName
|
Product name.
|
ModifiedTime
|
Time this record was last updated.
|
ObjectsParseTime
|
Last time the LGCnfg tool updated the Objects table with a new object.flt file.
|
BeeperParseTime
|
Last time the LGCnfg tool updated the Objects table with a new beeper.v4 file.
|
Description
|
General description of the product.
|
Objects Table
Description
The Objects table stores information about the object.flt and beeper.flt files used at the customer site and at the Listener site to determine which EMS Events are phoned home to Listener and processed by Listener.
Information in this table represents the subset of the EMS messages that the Logger tracks.
Information in this table represents the basis for the Rule mapping process.
The contents of this table can be viewed in the Objects View of the LGCnfg tool.
Column_name
|
Type
|
Computed
|
Length
|
Length
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
ProductID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
MsgID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
yes
|
(n/a)
|
(n/a)
|
State
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
Class
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
Timeout
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
Args
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
AlmArgs
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
TrapNo
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
TrapSev
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
Mnemonic
|
varchar
|
no
|
128
|
|
|
yes
|
yes
|
no
|
Fields
Column_name
|
Column Description
|
ProductID
|
Product ID.
|
MsgID
|
EMS Message ID.
|
ModifiedTime
|
Time this record was last updated.
|
State
|
A decimal value (0..9) indicating the internal state to use when tracking the object. A value of 9 indicates the message is a stateless object/alarm and should always be sent as an alarm. A value of 0 indicates it is a "clear" (reset) for the object. Other events signal a "raise" for the object.
|
Class
|
A name which allows grouping of EMS message IDs into logical objects. There is one Class ID for each kind of object tracked.
|
Timeout
|
Currently unused by the CSFS process (processes that receive the alarm feed such as a process to generate pager notices, would use the time-out value).
|
Args
|
An argument string (max of 16 characters) composed of single hex values(0..F) indicating the arguments from the EMS event that are used internally by the object tracking process (CSFS) to discriminate the event into a unique object. (E.G. 862) Currently the following values are used:
9 DMP System ID
8 SystemName
7 ProcessName
6 Side
5..1 EMS Arguments
|
AlmArgs
|
An argument string (like Object Argument String above except that 9..6 cannot be used!!) that is passed to clients receiving a feed from the CSFS process to use for their own internal processing.
|
TrapNo
|
A number which (also defined in the MIB definition) indicates the trap number to use when forwarding the alarm. This is passed to clients receiving a feed from the CSFS process when an alarm event is detected.
|
TrapSev
|
A decimal value (0..32767) indicating the severity of the alarm. This is passed onto CSFS clients when an alarm event is detected.
|
Mnemonic
|
Description of the event.
|
OIDNodes Table
Description
The OIDNodes table stores information about a generalized hierarchy of objects. This table defines the basic template object structure for the Rule mapping process to use to create Instance Nodes.
The parent-child relationships are represented in the table by having each record contain a ParentID field which contains the NodeID of the parent node.
A graphical representation of this table as a tree view can be seen in the OID Nodes Tree View of the LGCnfg tool.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
NodeID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ParentID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Name
|
varchar
|
no
|
64
|
|
|
no
|
yes
|
no
|
ProductID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
NodeType
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
StateRollup
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
ChildNotifications int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
|
HyperlinkNodeID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AttributeCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Filter
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
NodeID
|
Primary key and unique node identifier. This is an identity column.
|
ParentID
|
NodeID of the parent node. The root node has a ParentID of zero.
|
Name
|
Node name.
|
ProductID
|
Product ID.
|
NodeType
|
Node Type.
|
StateRollup
|
Defines how the State of this node rolls up to its parent.
The possible values are:
• 0 - The State does not roll up to its parent.
• 1 - The State rolls up to its parent.
|
ChildNotifications
|
Defines how State roll up notifications from child nodes are handled.
The possible values are:
• 0 - The node ignores State roll up notifications from its children.
• 1 - The node processes State roll ups in a functional way.
This means that the overall child roll up contribution is computed by ANDing the individual child node States.
If all nodes are up, the roll up contribution is up
If all nodes are down, the roll up contribution is down.
If at least one of the nodes is down, but not all, the roll up contribution is partial impaired.
• 2 - The processes State roll ups in a critical path way.
This means that the overall child roll up contribution is computed by ORing the individual child node States. Thus, the roll up contribution represents the highest State value of all child nodes that roll up their States.
|
HyperlinkNodeID
|
If the node is a Hyperlink node, this field represents the NodeID of the real node that it refers to.
|
AttributeCount
|
Count of the number of Attributes associated with the Node. All nodes must have a State Attribute so this field will have a minimum value of 1.
|
Filter
|
Filter value indicating whether a server-side filter is set for it.
A value of 1 means that the OID Node is being filtered.
A value of 2 means that the OID Node is being filtered as a result of one of its parent nodes being filtered.
A mask value of 0x10 means that the OID Node is filtered as a result of a ProductID filter being set.
|
ModifiedTime
|
Time this record was last updated.
|
Attributes Table
Description
The Attributes table contains a mapping of an AttirbuteID value to an Attribute name. It also contains information about the type of Attribute.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
AttributeID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Name
|
varchar
|
no
|
64
|
|
|
no
|
yes
|
no
|
DataType
|
smallint
|
no
|
2
|
5
|
0
|
no
|
(n/a)
|
(n/a)
|
Rollup
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
DefaultValue
|
varchar
|
no
|
64
|
|
|
yes
|
yes
|
no
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
AttributeID
|
Primary key and identity column containing the AttributeID.
|
Name
|
Attribute name.
|
DataType
|
VARTYPE field. See the MicroSoft Visual C++ documentation for the VARIANT data type for possible values.
|
Rollup
|
Indicates how the value of the Attribute contributes to the node's State value.
The possible values are:
• 0 - The Attribute value does not contribute to the State value.
• 1 - The Attribute value is combined with other Attribute values in a functional way. This means that the overall Attribute contribution is computed by ANDing the individual Attribute values.
• 2 - The Attribute value is combined with other Attribute values in a critical path way. This means that the overall Attributes contribution is computed by ORing the individual Attribute values. Thus, the roll up contribution represents the highest Attribute value of all Attributes that roll up their values.
|
DefaultValue
|
Default value for the Attribute.
|
ModifiedTime
|
Time this record was last updated.
|
OIDNodeAttributes Table
Description
The OIDNodeAttributes table contains the mappings of OIDNodes and the Attributes they contain.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
NodeID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AttributeID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
NodeID
|
NodeID in the OIDNodes table.
|
AttributeID
|
AttributeID in the Attributes table.
|
ModifiedTime
|
Time this record was last updated.
|
HyperlinkInfo Table
Description
The HyperlinkInfo table contains information about Hyperlink nodes including information on how to determine the resulting Instance Node.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
NodeID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
InstanceName
|
varchar
|
no
|
255
|
|
|
no
|
yes
|
no
|
FormatString
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
NodeID
|
NodeID in the OIDNodes table.
|
InstanceName
|
A specification of the how the Instance Name will be formed.
|
FormatString
|
If the Instance Name includes parameters, this field includes C-style formatting information.
|
ModifiedTime
|
Time this record was last updated.
|
Rules Table
Description
The Rules table stores the information that maps a Listener message to a specific Attribute and Instance Node based on the message content. Each Rule is associated with a particular OID Node in the OIDNodes table.
The set of Rules defined for each OID Node can be seen visually in the Rules View of the LGCnfg tool. Each time a different OID Node is selected, the set of Rules for that OID Node is displayed.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
RuleID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProductID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Class
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
OIDNodeID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
InstanceName
|
varchar
|
no
|
255
|
|
|
no
|
yes
|
no
|
AttributeID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Comment
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
MsgID
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
SystemType
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
Side
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
SystemName
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
ProcName
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
EMSParam1
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
EMSParam2
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
EMSParam3
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
EMSParam4
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
EMSParam5
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
Fields
Column_name
|
Column Description
|
RuleID
|
Primary key and identity column that identifies the Rule.
|
ProductID
|
Product ID.
|
Class
|
EMS message Class.
|
ModifiedTime
|
Time this record was last updated.
|
OIDNodeID
|
NodeID in the OIDNodes table associated with this Rule.
|
InstanceName
|
Text string that specifies how the Instance Node name is to be determined from the Listener message content.
|
AttributeID
|
AttributeID from the Attributes table associated with this Rule.
|
Comment
|
Comment field.
|
MsgID
|
EMS Message ID can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression, e.g., = 0xa102c109.
|
SystemType
|
System Type can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression, e.g., = 5'.
|
Side
|
Duplexed side can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression, e.g., ='A'.
|
SystemName
|
System Name can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression, e.g., Like `%A'.
|
ProcName
|
Process name that can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression, e.g., Like '%Logger%'.
|
EMSParam1
|
EMS message parameter 1 that can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression.
|
EMSParam2
|
EMS message parameter 2 that can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression.
|
EMSParam3
|
EMS message parameter 3 that can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression.
|
EMSParam4
|
EMS message parameter 4 that can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression.
|
EMSParam5
|
EMS message parameter 5 that can be used as a criteria to select this Rule for a given Listener message. This field can be NULL or empty if not needed as a criterion. If it is present, it must be a valid SQL expression.
|
Customers Table
Description
The Customers table stores specific Customer instance names. Initially, this table is empty and is populated as the LGMapper/LGArchiver processes Listener messages and encounters new Customers.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
CustomerID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
CustomerName
|
varchar
|
no
|
50
|
|
|
no
|
yes
|
no
|
Handle
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
CreationTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
CustomerID
|
Primary key. Customer ID.
|
CustomerName
|
Customer name.
|
Handle
|
Unique 32-bit Handle associated with the Customer. The Customer Handle is determined from the CustomerID via the following C++ expression: Handle = 0x40000000 | (CustomerID << 14)
|
CreationTime
|
Time this record was created.
|
InstanceNodes Table
Description
The InstanceNodes table stores the entire known hierarchy of Instance Nodes created by the LGMapper/LGArchiver at run time. These nodes are created by mapping Listener Events via the Rules and OIDNodes information to specific Instance Nodes.
The parent-child relationships are represented in the table by having each record contain a ParentHandle field which contains the Handle of the parent node.
A graphical representation of this table as a tree view can be seen in the Instance Nodes Tree View of the LGCnfg tool.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
Handle (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ParentHandle
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
IIDAddress
|
varchar
|
no
|
128
|
|
|
no
|
yes
|
no
|
CustomerID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProductID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
NodeName
|
varchar
|
no
|
64
|
|
|
no
|
yes
|
no
|
HyperlinkHandle
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
NodeID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
Handle
|
Primary key, 32-bit Handle that uniquely defines this node. Handle bits are assigned in a particular manner as described in How Handles Are Used.
|
ParentHandle
|
The Handle of the parent node.
|
IIDAddress
|
An Instance ID Address string that defines the instance node's place in the object hierarchy. This IIDAddress is in the form 1.2.4.13 and is unique for all Instance Nodes. The Root node has IIDAddress 1. First-level child nodes have IIDAddresses 1.1, 1.2, etc. and so on.
|
CustomerID
|
Customer ID.
|
ProductID
|
Product ID.
|
NodeName
|
Node name.
|
HyperlinkHandle
|
For Hyperlink nodes, this value is the Handle of the real node to which it refers. For real nodes, this value is zero.
|
NodeID
|
The NodeID in the [OIDNodes] table to which this node refers to.
|
ModifiedTime
|
Time this record was last updated.
|
Uptime Table
Description
The Uptime table indicates the times during which the LGMapper/LGArchiver Server is processing Listener data. The table consists of pairings of Time and State values.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
Time (PK)
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
State
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
Time
|
Time the LGMapper/LGArchiver started or stopped processing Listener messages.
|
State
|
1 - indicates the LGMapper/LGArchiver started processing data.
0 - indicates the LGMapper/LGArchiver stopped processing data.
|
Alarms Table
Description
The Alarms table is the primary table for storing Alarm object information. A record in the Alarms table represents an Alarm object.
Records in the associated Events table make up the Events or state transitions for the Alarm object.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
AlarmID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
RealAlarm
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
ObjectName
|
varchar
|
no
|
255
|
|
|
no
|
yes
|
no
|
OwnerHandle
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
IIDAddress
|
varchar
|
no
|
128
|
|
|
no
|
yes
|
no
|
CustomerID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProductID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Excluded
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
Active
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
ApplicationError
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
State
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Assigned
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AssignedBy
|
varchar
|
no
|
64
|
|
|
yes
|
yes
|
no
|
AssignedTo
|
varchar
|
no
|
64
|
|
|
yes
|
yes
|
no
|
TicketID
|
varchar
|
no
|
32
|
|
|
yes
|
yes
|
no
|
CreationTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
ReceivedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
CurrentTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
LastEventID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
EventRepeatCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
EventCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AttributeID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AttributeName
|
varchar
|
no
|
50
|
|
|
yes
|
yes
|
no
|
CategoryName
|
varchar
|
no
|
32
|
|
|
yes
|
yes
|
no
|
Class
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
DMPID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
MsgID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProcessName
|
varchar
|
no
|
16
|
|
|
yes
|
yes
|
no
|
SystemName
|
varchar
|
no
|
32
|
|
|
yes
|
yes
|
no
|
Side
|
char
|
no
|
1
|
|
|
yes
|
yes
|
yes
|
SingleState
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
TrapSeverity
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
SystemType
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
AlarmID
|
Primary key, value that uniquely identifies the Alarm object.
|
RealAlarm
|
A flag indicating whether the Alarm object is a "real" Alarm, meaning it was created as a result of a Listener down Event.
This table also stores Listener Base Record information that merely indicate that an object is in an up state. These are not considered real Alarms and, thus, have a value of 0 for this field.
|
ObjectName
|
The Listener ObjectName associated with the Alarm.
|
OwnerHandle
|
The Handle in the InstanceNodes table which identifies the Instance Node associated with this Alarm.
|
IIDAddress
|
IIDAddress in the InstanceNodes table corresponding to the OwnerHandle of the Instance Node associated with this Alarm.
|
CustomerID
|
Customer ID.
|
ProductID
|
Product ID.
|
Excluded
|
1 - Alarm is Excluded.
0 - Alarm is not Excluded.
|
Active
|
1- Alarm is Active.
0 - Alarm is Inactive.
An Active Alarm is an open Alarm. It is an Alarm that is not in its terminal state. See Alarm State Transition Diagram for a State transition diagram for an Alarm object.
|
ApplicationError
|
1- Alarm is an Application Error.
0 - Alarm is not an Application Error.
|
State
|
State value of the Alarm. The range of State values are shown in Alarm State Transition Diagram.
|
Assigned
|
Assignment Status value of the Alarm. The range of Assigned values are shown in Alarm State Transition Diagram.
|
AssignedBy
|
The user name of the person who assigned, cleared, excluded, deleted an Alarm.
|
AssignedTo
|
Text that a user can type in to indicate a person or group responsible for an Alarm.
|
TicketID
|
Text field that can be used to associate an Alarm with a trouble ticket reporting system.
|
CreationTime
|
Time the Alarm event condition was raised.
|
ReceivedTime
|
Time the database Alarm object was created.
|
CurrentTime
|
Time of the last Event record for this Alarm object.
|
LastEventID
|
EventID from the Events table of the last Event for this Alarm object.
|
EventRepeatCount
|
The number of times a duplicate Event was received for this Alarm object.
The LGMapper/LGArchiver implement a form of Event suppression for Alarm objects to control the number of Events stored for an Alarm object.
When an Alarm is in a particular state as shown in Alarm State Transition Diagram, if repeated Events that do not involve a state transition are received, they are inserted only up to a particular threshold value.
The threshold value (default value = 5) is set by the LGMapperCnfg or LGArchiverCnfg programs. Once the number of repeat Events exceed this threshold, they begin to be overwritten to cap the amount of data stored for any particular Alarm.
This field stores the Event repeat count for the current Alarm state.
|
EventCount
|
The total number of Events received for this Alarm.
|
AttributeID
|
The AttributeID from the Attributes table associated with this Alarm.
|
AttributeName
|
The AttributeName from the Attributes table.
|
CategoryName
|
Category Name from the EMS message.
|
Class
|
Class from the EMS message.
|
DMPID
|
DMP ID from the EMS message.
|
MsgID
|
EMS Message ID.
|
ProcessName
|
Name of the process that generated the Alarm/Event.
|
SystemName
|
System name of the machine that generated the Alarm/Event.
|
Side
|
Duplexed side (typically 'A' or 'B') that generated the Alarm/Event.
|
SingleState
|
1 - Alarm is a single-state object.
0 - Alarm is not a single-state object.
Some Alarm objects are defined as single-state Alarms. This means that a Clear Event (see Alarm State Transition Diagram) will never be received for it. An AlarmTracker user must clear this Alarm manually to close it.
|
TrapSeverity
|
SNMP Trap Severity from the EMS message.
|
SystemType
|
System Type from the EMS message.
|
Events Table
Description
The Events table is joined to the Alarms by the AlarmID field and represents all Events received for a particular Alarm object. This table represents all the state transitions of an Alarm object as described in Alarm State Transition Diagram.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
EventID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AlarmID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
MsgID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
MsgType
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
State
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
Assigned
|
int
|
no
|
4
|
10
|
0
|
yes
|
(n/a)
|
(n/a)
|
Time
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
ReceivedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
MsgText
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
OutcomeText
|
varchar
|
no
|
255
|
|
|
yes
|
yes
|
no
|
AssignedBy
|
varchar
|
no
|
64
|
|
|
yes
|
yes
|
no
|
Fields
Column_name
|
Column Description
|
EventID
|
Sequential EventID for an Alarm object. The initial raise Event for the Alarm will always be EventID = 1.
Note that due to Event repeat count suppression and total Event count suppression, the sequence of Events will not always be consecutive, but they will always be in order.
|
AlarmID
|
AlarmID from the Alarms table.
|
MsgID
|
EMS Message ID for the Event.
|
MsgType
|
Message type. The following message types are defined in
Mnemonic -- Value -- Description order:
mtMessage -- 1 -- Customer-generated Listener message
mtHeartbeat -- 2-- Listener Heartbeat message. (Does not appear in Events table).
mtLastBaseRecord -- 3 -- Listener Last Base Record message. (Does not appear in Events table).
mtWorkingOn -- 4 -- User action message. Indicates a user has assigned or unassigned an Alarm.
mtExclude -- 5 -- User action message. Indicates a user has excluded or unexcluded an Alarm.
mtExcludeNode -- 6 -- User action message. Indicates a user has excluded or unexcluded a Node.
mtClear -- 7 -- User action message. Indicates that a user has cleared an Alarm.
mtDelete -- 8 -- User action message. Indicates that a user has deleted an object.
|
State
|
State value of the Event. The range of State values are shown in Alarm State Transition Diagram.
|
Assigned
|
Assignment Status value of the Event. The range of Assigned values are shown in Alarm State Transition Diagram.
|
Time
|
Event time. For a customer-generated Event, this is the time of the Event at the Customer site adjusted to be in the time zone of the LGMapper/LGArchiver.
For an AlarmTracker user Event, this is the time the user Event was generated.
|
ReceivedTime
|
The time the Event was received at the LGMapper/LGArchiver.
|
MsgText
|
Message text.
|
OutcomeText
|
Notes entered by AlarmTracker user.
|
AssignedBy
|
For a user action message. Indicates the user name of the person who initiated the action.
|
Simples Table
Description
The Simples table stores the set of Simple Events sent by Listener. Simple Events are stateless objects and are considered to be less important than Alarm objects so they are maintained in a separate table.
Note
Listener purges Simple Events from its in-memory objects and the LGMapper Server also purges Simple Events to mirror Listener's actions. LGArchiver, on the other hand, does not purge Simple Events based on Listener commands. Instead, Simple Events are purged from the LGArchiver database based on the amount of time history is saved in the database. This parameter is configurable from the LGArchiverCnfg tool.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
AlarmID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ObjectName
|
varchar
|
no
|
255
|
|
|
no
|
yes
|
no
|
OwnerHandle
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
CustomerID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProductID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Excluded
|
bit
|
no
|
1
|
|
|
no
|
(n/a)
|
(n/a)
|
State
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
CreationTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
ReceivedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
CategoryName
|
varchar
|
no
|
32
|
|
|
no
|
yes
|
no
|
DMPID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
MsgID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProcessName
|
varchar
|
no
|
16
|
|
|
yes
|
yes
|
no
|
SystemName
|
varchar
|
no
|
32
|
|
|
yes
|
yes
|
no
|
Side
|
char
|
no
|
1
|
|
|
yes
|
yes
|
yes
|
TrapSeverity
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
SystemType
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
MsgText
|
varchar
|
no
|
255
|
|
|
no
|
yes
|
no
|
Fields
Column_name
|
Column Description
|
AlarmID
|
Primary key, value that uniquely identifies the Alarm object.
|
ObjectName
|
The Listener ObjectName associated with the Alarm.
|
OwnerHandle
|
The Handle in the InstanceNodes table which identifies the Instance Node associated with this Alarm.
|
CustomerID
|
Customer ID.
|
ProductID
|
Product ID.
|
Excluded
|
1 - Alarm is Excluded
0 - Alarm is not Excluded.
|
State
|
State value of the Alarm. The range of State values are shown in Alarm State Transition Diagram.
|
CreationTime
|
Time the Alarm event condition was raised.
|
ReceivedTime
|
Time the database Alarm object was created.
|
CategoryName
|
Category Name from the EMS message.
|
Class
|
Class from the EMS message.
|
DMPID
|
DMP ID from the EMS message.
|
MsgID
|
EMS Message ID.
|
ProcessName
|
Name of the process that generated the Alarm/Event.
|
SystemName
|
System name of the machine that generated the Alarm/Event.
|
Side
|
Duplexed side (typically 'A' or 'B') that generated the Alarm/Event.
|
TrapSeverity
|
SNMP Trap Severity from the EMS message.
|
SystemType
|
System Type from the EMS message.
|
MsgText
|
Message text.
|
ObjectState Table
Description
The ObjectState table is used by LGMapper only and maintains a map of Listener ObjectName to the particular Alarm object (AlarmID) currently associated with it. This table allows the AlarmTracker user to more easily query the current object state in its Object State View.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
ObjectName (PK)
|
varchar
|
no
|
255
|
|
|
no
|
yes
|
no
|
CustomerID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ProductID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AlarmID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
ObjectName
|
The Listener ObjectName associated with the Alarm.
|
CustomerID
|
Customer ID.
|
ProductID
|
Product ID.
|
AlarmID
|
Primary key, value that uniquely identifies the Alarm object.
|
AlarmsSummaryHour Table
Description
The AlarmsSummaryHour table stores summary counts and statistics across all Customers. This table is updated hourly. A thirty (30) day history of hourly records are maintained.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
CustomerID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Time (PK)
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
NewAlarmCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ClosedAlarmCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
UnassignedAlarms
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AssignedAlarms
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ExcludedAlarms
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
NewAppErrCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ClosedAppErrCount int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
|
UnassignedAppErrs int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
|
AssignedAppErrs
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ExcludedAppErrs
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AlarmEventCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AppErrCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
SimpleCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
CustomerID
|
Customer ID.
|
Time
|
Time of update.
|
NewAlarmCount
|
The number of new Alarms that were raised during this hour.
|
ClosedAlarmCount
|
The number of Alarms that were closed (either from a device-generated Clear or a user-generated Clear Event).
|
UnassignedAlarms
|
The number of unassigned Alarm objects that existed at the time of the update.
|
AssignedAlarms
|
The number of open and assigned Alarm objects that existed at the time of the update.
|
ExcludedAlarms
|
The number of open and excluded Alarm objects that existed at the time of the update.
|
NewAppErrCount
|
The number of new Application Error objects that were created during this hour.
|
ClosedAppErrCount
|
The number of Application Error objects that were closed by user-generated Clear Events.
|
UnassignedAppErrs
|
The number of unassigned Application Error objects that existed at the time of the update.
|
AssignedAppErrs
|
The number of open and assigned Application Error objects that existed at the time of the update.
|
ExcludedAppErrs
|
The number of open and excluded Application Error objects that existed at the time of the update.
|
AlarmEventCount
|
The total number of Alarm object Events processed during the hour. This count does not include Simple Events or Application Error Events.
|
AppErrCount
|
The total number of Application Error Events processed during the hour.
|
SimpleCount
|
The total number of Simple Events processed during the hour.
|
AlarmsSummaryDay Table
Description
The AlarmsSummaryDay stores daily summary counts and statistics generated from the AlarmsSummaryHour table across all Customers. This table is updated daily, it is not purged.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullIn
Source
|
CustomerID (PK)
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Time (PK)
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Samples
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
NewAlarmCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ClosedAlarmCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
UnassignedAlarmsAvg float
|
no
|
8
|
53
|
NULL
|
no
|
(n/a)
|
(n/a)
|
|
AssignedAlarmsAvg float
|
no
|
8
|
53
|
NULL
|
no
|
(n/a)
|
(n/a)
|
|
ExcludedAlarmsAvg float
|
no
|
8
|
53
|
NULL
|
no
|
(n/a)
|
(n/a)
|
|
NewAppErrCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ClosedAppErrCount int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
|
UnassignedAppErrsAvg float
|
no
|
8
|
53
|
NULL
|
no
|
(n/a)
|
(n/a)
|
|
AssignedAppErrsAvg float
|
no
|
8
|
53
|
NULL
|
no
|
(n/a)
|
(n/a)
|
|
ExcludedAppErrsAvg float
|
no
|
8
|
53
|
NULL
|
no
|
(n/a)
|
(n/a)
|
|
AlarmEventCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
AppErrCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
SimpleCount
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
CustomerID
|
Customer ID.
|
Time
|
Time of update.
|
Samples
|
The number of samples from the AlarmsSummaryHour table that rolled up into this entry.
If the LGMapper/LGArchiver is running continuously over the 24-hour period, this value will be 24.
If the Server is down for a period, this value may be less than 24.
|
NewAlarmCount
|
The number of new Alarms that were raised during this day.
|
ClosedAlarmCount
|
The number of Alarms that were closed (either from a device-generated Clear or a user-generated Clear Event).
|
UnassignedAlarmsAvg
|
The average number of unassigned Alarm objects over the hourly samples for that day.
|
AssignedAlarmsAvg
|
The average number of open and assigned Alarm objects over the hourly samples for that day.
|
ExcludedAlarmsAvg
|
The average number of open and excluded Alarm objects over the hourly samples for that day.
|
NewAppErrCount
|
The number of new Application Error objects that were created during this day.
|
ClosedAppErrCount
|
The number of Application Error objects closed by user-generated Clear Events.
|
UnassignedAppErrsAvg
|
The average number of unassigned Application Error objects over the hourly samples for that day.
|
AssignedAppErrsAvg
|
The average number of open and assigned Application Error objects over the hourly samples for that day.
|
ExcludedAppErrsAvg
|
The average number of open and excluded Application Error objects over the hourly samples for that day.
|
AlarmEventCount
|
The total number of Alarm object Events processed during the day. This count does not include Simple Events or Application Error Events.
|
AppErrCount
|
The total number of Application Error Events processed during the day.
|
SimpleCount
|
The total number of Simple Events processed during the day.
|
The five (5) count fields (NewAlarmCount, ClosedAlarmCount, AlarmEventCount, AppErrCount and SimpleCount) are actually pro-rated values over a 24 hour period based on the number of Samples recorded. The value stored in one of these fields represents the sum of the hourly count values times the 24 hour pro-rated factor.
e.g.: NewAlarmCount =
(24 / Samples) * SUM (AlarmsSummaryHour.NewAlarmCount)
Note
If Samples = 24, the pro-rated factor is one.
Filters Table
Description
The Filters table stores the server-side filter settings for customer filtering and product filtering.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
FilterField
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Criterion
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
FilterField
|
A value of 1 indicates that this is a Customer filter.
A value of 2 indicates that this is a Product filter.
|
Criterion
|
If FilterField = 1, this value is the CustomerID to be filtered out.
If FilterField = 2, this value is the ProductID to be filtered out.
|
ModifiedTime
|
Time this record was last updated.
|
FiltersProductSpecific Table
Description
The FiltersProductSpecific table stores the server-side filter settings that are product specific. These include Class-level and MsgID-level filters.
Column_name
|
Type
|
Computed
|
Length
|
Prec
|
Scale
|
Nullable
|
Trim
Trailing
Blanks
|
FixedLen
NullInSource
|
ProductID
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
FilterField
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
Criterion
|
int
|
no
|
4
|
10
|
0
|
no
|
(n/a)
|
(n/a)
|
ModifiedTime
|
datetime
|
no
|
8
|
|
|
no
|
(n/a)
|
(n/a)
|
Fields
Column_name
|
Column Description
|
ProductID
|
Product ID.
|
FilterField
|
A value of 3 indicates that this is a Class filter.
A value of 4 indicates that this is a MsgID filter.
|
Criterion
|
If FilterField = 3, this value is the Class to be filtered out.
If FilterField = 4, this value is the MsgID to be filtered out.
|
ModifiedTime
|
Time this record was last updated.
|
How Handles Are Used
A Handle is a 32-bit value that uniquely identifies a Node in the object hierarchy. Although there are no formal restrictions on the value of the Handle (other than it be unique across all Nodes), we have decided to use certain bits to define characteristics about the Node. This section describes how those bit fields are used.
The following table shows the layout of the 32 bits used in the Handle.
Bits
|
31
|
30
|
29
|
...
|
24
|
23
|
...
|
14
|
13
|
...
|
0
|
| |
|
ProductID
|
Customer ID
|
Object ID
|
The following table describes the use of the 32 bits used in the Handle
Bits
|
Description
|
0-13
|
Used to specify an arbitrary Object ID. This allows for 214-1 = 16,383 objects for each ProductID.
|
14-23
|
Reserved for a Customer ID. This allows for 210=11,024 customers. This Customer ID matches that used in the Alarms Database. By convention, the Object ID for the Customer Node is 0.
|
24-29
|
Reserved for a ProductID. This allows for 26-1 = 63 ProductIDs. This ProductID matches that used in the Alarms Database. By convention, the ProductID for the Customer Node is 0. ProductID 1 is assigned to ICM.
|
30
|
Reserved. This bit will always be set by applications using these Handles. The root node of a hierarchy will have only this bit set.
|
31
|
The user bit. Use to create new Nodes in your Client code. That is, you are free to create new LGNode objects and set that bit and not be concerned that the Server may create Node objects that clash with any that you create.
|
By convention the Root Node labeled as "Customers" has a Handle = 0x40000000.
As an example of some other Handles, consider a customer with Customer ID = 38. The Customer Node for this customer is 0x40098000 (0100 0011 0000 1001 1000 0000 0000 0000). The Object IDs and ProductIDs will be different for all other child Nodes, but bits 14-23 will be the same, and bit 30 will always be set.
The following macros in Grid2Common.h may be useful when manipulating Handles.
#define DP_CUSTOMERSHANDLE 0x40000000 // Customers RootNode
#define DPM_DPRESERVED 0xff000000
#define DPM_PRODUCTVALUES 0x3f000000 // ProductIDs
#define DPM_CUSTVALUES 0x00ffc000 // CustomerIDs
#define DPM_OBJECTVALUES 0x00003fff // Object values
#define CUSTIDFROMHANDLE(arg) (((arg) & DPM_CUSTVALUES) >> 14)
#define PRODUCTIDFROMHANDLE(arg) ((arg) & DPM_PRODUCTVALUES) >>
24)
#define CUSTHANDLEFROMHANDLE(arg) ((arg) & (DP_CUSTOMERSHANDLE
| DPM_CUSTVALUES))
#define UNMAPPEDOBJECTSFROMHANDLE(arg) ((arg) &
(DP_CUSTOMERSHANDLE | DPM_CUSTVALUES)) + 1)
#define ISCUSTOMERHANDLE(arg) \
((((arg) == ((arg) & (DP_CUSTOMERSHANDLE | DPM_CUSTVALUES))) &&
\
((arg) & DPM_CUSTVALUES)) ? TRUE : FALSE)
#define ISPRODUCTHANDLE(arg) \
((((arg) == ((arg) & (DP_CUSTOMERSHANDLE | DPM_PRODUCTVALUES |
DPM_CUSTVALUES))) \
&& ((arg) & DPM_PRODUCTVALUES)) ? TRUE : FALSE)
#define MAKELGHANDLE(prodID, custID, objID) \
(DP_CUSTOMERSHANDLE | ((prodID) << 24) | ((custID) << 14) |
(objID))
Alarm State Transition Diagram
Figure A-2 indicates the possible state transition values for an Alarm object. It shows how an Alarm object is created and the different state transitions that it can make.
Figure A-2 Alarm State Transition Model
Red (solid) transition arrows indicate state changes as a result of customer-generated Events.
Blue (dashed) transition arrows indicate state changes as a result of customer support-generated Events (such as Clear, Assign, Exclude).
An Alarm is created when a Listener Raise Event is received at the LGMapper. The initial state of an Alarm object is Down and Unassigned. Figure A-2, shows two mnemonics that indicate the State (corresponding to the Alarms.State and Events.State field values) of the Alarms and its Assignment Status (corresponding to the Alarms.Assigned and Events.Assigned field value).
The following mnemonics for the State values are defined:
svUp
|
= 0,
|
svApplicationError
|
= 1,
|
svPartialImpaired
|
= 2,
|
svDown
|
= 3,
|
The following mnemonics for the Assigned values are defined:
asNoAlarms
|
= 0
|
asUnused
|
=1
|
asExcluded
|
=2
|
asAssigned
|
=3
|
asAssignedTimeout
|
=4
|
asUnassignedAppErr
|
=5
|
asUnassigned
|
=6
|