SYS.Monitor.SystemSensors
hidden class SYS.Monitor.SystemSensors extends %SYS.Monitor.AbstractSensor
Implements Sensors for the System Monitor. These are used to evaluate the system "health", post alerts using the Log Monitor, and provide metrics for the system Dashboard.Method Inventory
- CertCheck()
- GetCPU()
- GetCSPGateway()
- GetDBStats()
- GetECP()
- GetISCAgent()
- GetJournalSpace()
- GetJournals()
- GetLicense()
- GetLockTable()
- GetMemory()
- GetMirrors()
- GetProcessCount()
- GetSMH()
- GetSensors()
- GetShadows()
- GetTrans()
- GetWD()
- GloStats()
- GloStatsInit()
- InitOpenTx()
- InitSensors()
- Start()
- WDBuffersCheck()
Methods
method CertCheck() as %Status
method GetCPU() as %Status
CPU Utilization for ECP and daemons
method GetCSPGateway() as %Status
CSPGateway sensors have the qualifier: :. For example, "192.12.12.1:33".
method GetDBStats() as %Status
Latency and Reads/Writes
method GetECP() as %Status
DB server = ECP data server (from an ECP standpoint)
ECP server = ECP client system (from an ECP standpoint)
method GetISCAgent() as %Status
method GetJournalSpace() as %Status
Get journal available disk space
method GetJournals() as %Status
Get journal growth rate and number of journal files per minute.
method GetLicense() as %Status
method GetLockTable() as %Status
method GetMemory() as %Status
method GetMirrors() as %Status
Journal latency values:
0 = Error, this node is not connected to the primary mirror member (this
node could be the primary or it could be disconnected).
1 = This node is caught up to the current end of the journal file on the
primary.
negative # is the # of journal files behind the primary we are. -1 would
mean we're receiving the file prior to the current file, -2 the file
prior to that, etc.
positive # means we're receiving the current journal file on the primary
and this is the # of bytes in the file we're behind.
Database latency values:
On a connected backup or async member this returns an indication
of how up to date the active databases are with respect to the journal data
we've received from the primary.
0 = Error, this node is not connected to the primary mirror member (this
node could be the primary or it could be disconnected).
1 = The databases are caught up to the current end of the journal data
negative # is the # of journal files behind the last one. -1 would
mean the journal file prior to the last file is being restore, -2 the file
prior to that, etc.
positive # means we're restoring the current journal file and this is the
number of bytes remainining in the file to be restored
method GetProcessCount() as %Status
method GetSMH() as %Status
method GetSensors() as %Status
Read sensors
The Control process calls GetSensors() every 30 seconds. Some of the sensors take a reading every cycle, averaging readings
over the period of a minute, while others examine a counter after a 1 minute interval.
method GetShadows() as %Status
method GetTrans() as %Status
Get transaction info
Return number of open transactions, average time open, average size as statistics,
Return all size > 100MB and longer than 12 hours as metrics.
method GetWD() as %Status
Get system metric sample
A return code of $$$OK indicates there is a new sample instance.
A return code of 0 indicates there is no sample instance.
method GloStatsInit() as %Status
A return code of $$$OK indicates there is a new sample instance.
A return code of 0 indicates there is no sample instance.
method InitOpenTx() as %Status
method InitSensors() as %Status
Initialize all Health Monitor sensors
Note that InitializeSensor only creates the SensorObject if it doesn't already exist.
method Start() as %Status
Inherited description: USER MAY IMPLEMENT THIS METHOD
The System Monitor Controller calls this method once when it starts. The user may initialize the properties, counters, etc.
A return code of $$$OK indicates there were no errors. A return code of 0 indicates a failure.
method WDBuffersCheck() as %Status
The buffer pool(s) are monitored. The interval between MinBuffBatch (where background jobs will freeze) and total buffers allocated is examined (called "headroom").
If Headroom is at 50%, a first warning is issued. At 25% a second warning is issued. If headroom falls to 0%, a Severe message is issued.
Inherited Members
Inherited Properties
Inherited Methods
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()
- ClearNotifications()
- ClearSensors()
- LogCon()
- LogMsg()
- Notify()
- OpenLog()
- SetSensor()