class %Monitor.System.Dashboard
extends %Monitor.Adaptor
^CacheTemp.SysMetrics("LastBackup") /* date/time of last backup
^CacheTemp.SysMetrics("Processes",i) /* cpu time for 5 highest processes
^CacheTemp.SysMetrics("CSPSessions") /* number of current CSP sessions
^CacheTemp.SysMetrics("DatabaseSpace")
Value = OK, Troubled, Warning based on space available > 5MB, < 5MB, <2MB
^CacheTemp.SysMetrics("DatabaseSpace", directory) = directory of low database
^CacheTemp.SysMetrics("SeriousAlerts") /* text of alerts found in alerts.log
^CacheTemp.SysMetrics("ECPServers") /* status of ECP servers if system is a client
Value = OK, Troubled, Warning based on status
^CacheTemp.SysMetrics("ECPServers",name)=name of troubled server
^CacheTemp.SysMetrics("ECPClients") /* status of connections if system is a server
Value = OK, Troubled, Warning based on status
^CacheTemp.SysMetrics("ECPClients",name)=name of troubled client
^CacheTemp.SysMetrics("ECPClientBytesPerSecond")
^CacheTemp.SysMetrics("ECPServerBytesPerSecond")
^CacheTemp.SysMetrics("JournalSpace")
Value = OK, Troubled, Warning based on space in journal directory
^CacheTemp.SysMetrics("JournalSpace","Space")=space available if not OK
^CacheTemp.SysMetrics("LockTable","PerCentUsed")
^CacheTemp.SysMetrics("LockTable","Available")
^CacheTemp.SysMetrics("LockTable","Used")
^CacheTemp.SysMetrics("LockTable")
Value = OK, Troubled, Warning based PerCent Used > 85%, > 95%
^CacheTemp.SysMetrics("ApplicationErrors") /*count of application errors
^CacheTemp.SysMetrics("ApplicationErrors", Namespace) /* application errors in namespaces
^CacheTemp.SysMetrics("Shadows",name)=Status
^CacheTemp.SysMetrics("Shadows",name,"Latency")
^CacheTemp.SysMetrics("ShadowConnections")=OK or "Troubled" based on status on this data source
^CacheTemp.SysMetrics("ShadowConnections",ip,"Latency")=latency
^CacheTemp.SysMetrics("ShadowConnections","Error",datetime)=error information
^CacheTemp.SysMetrics("WriteDaemon") =OK or "Troubled"
A WD is "Troubled" if:
The current WD pass is the same as the last sample, AND
the number of blocks scheduled to be written is not 0 AND
the total count of buffers which are being written as part of the current pass is not 0, AND
the interval between the last check is > 60 seconds.
property Alertfile
as %String;
alerts file
property LastLTPer
as %Numeric;
Last Lock Table percentage use
property Status
as %Monitor.String;
Status
method GetAlerts()
as %Status
method GetDatabase()
as %Status
Get routine 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 GetJournals()
as %Status
Get journal space availability.
method GetLockTable()
as %Status
method GetSample()
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 GetWD()
as %Status
method Initialize()
as %Status
Initialize routine metrics.
method Startup()
as %Status
USER MAY IMPLEMENT THIS CLASS
This method is called once when the control object is created at the beginning of sampleing.
The user may initialize the control class