TimeMonitorManager

ENTERPRISE  This is a SignServer Enterprise feature.


Fully qualified class name: org.signserver.module.timemonitormanager.TimeMonitorManager.

Overview

Similar to the StatusPropertiesWorker, the TimeMonitorManager also supports setting status properties in the status repository. Additionally, the TimeMonitorManager supports dynamic configuration of the TimeMonitor and also gives a complete view of the state of the TimeMonitor.

Worker Properties

All worker properties starting with either "TIMEMONITOR." or "TIMESERVER." are sent to the TimeMonitor if it asks for it. For information on available properties, refer to the SignServer TimeMonitor Manual.

Request Properties

PropertyDescription
x.VALUEWhere x is a status property: Sets the value of the property
x.EXPIRATIONWhere x is a status property: Sets the expiration time for x (x.VALUE must also be specified)

Response Properties

PropertyDescription
x.UPDATEThe time when the property was written 

Status output

Detailed information about the state of the TimeMonitor is available in the getstatus output of the TimeMonitorManager:

  • Time monitor: Indicates if the application is detected to be 'Running', 'Disabled', 'Not running?' or 'Unavailabe'. The state is determined by if the manager has seen an update from the TimeMonitor before the status properties are starting to expire.
  • Last update: The last time the TimeMonitor contacted the manager.
  • Current time: Current time of the server.
  • Time state: The last time state from the TimeMonitor.
  • Report state: The last report state from the TimeMonitor.
  • Leap state: The last leap state from the TimeMonitor.
  • Configuration: Either 'out of sync' or 'up to date' depending on if the current configuration has been read by the TimeMonitor or not. After changing a property in the TimeMonitorManager it is normal that the configuration is marked as 'out of sync' until the TimeMonitor fetches it.
  • Status properties values: Prints the current value and possibly the expiration time for the TIMESOURCE0_INSYNC and LEAPSECOND status properties.
  • Timings: Prints the current time values from the TimeMonitor.
  • Configuration: Prints the configuration values in the manager (not necessarily read by the TimeMonitor yet).
  • Last TimeMonitor log entries: Prints the last log entries obtained from the last update from the TimeMonitor.

Sample output

The following displays an example status output:

Status of Worker with ID 300 (TimeMonitorManager) is:
 Worker status : Active
 Time monitor : Running
 Last update : 2017-08-26 11:43:39,176
 Current time : 2017-08-26 11:43:39,580
 Time state : INSYNC
 Report state : REPORTED
 Leap state : NONE
 Configuration : Up to date
Status Repository values:
 TIMESOURCE0_INSYNC: true
 LEAPSECOND: NONE
Timings:
 NTP server time offset: 0 ms
 NTP server query time: 507 ms
 NTP leap status query time: 8 ms
 Report time: 7 ms
 Total required run time: 522 ms
Configuration:
 NTP server hosts: 192.168.30.25
 NTP query samples: 2
 NTP query timeout: 200 ms
 Max accepted offset: 997 ms
 Warn offset: 500 ms
 Status expire time: 900 ms
 Leap status expire time: 60000 ms
 Warn run time: 800 ms
 Minimum run time: 550 ms
Last TimeMonitor log entries:
 2014-08-26 11:36:29,253 INFO Started
 2014-08-26 11:36:29,287 INFO State changed to: UNKNOWN,REPORTED,UNKNOWN
 2014-08-26 11:36:44,255 INFO Config changed to: 1ccdf46b
 2014-08-26 11:36:44,782 INFO Time back in calibration: offset abs(0) max accepted offset 997
 2014-08-26 11:36:44,793 INFO State changed to: INSYNC,REPORTED,NONE