ENTERPRISE This is a SignServer Enterprise feature.
Fully qualified class name: org.signserver.module.timemonitormanager.TimeMonitorManager.
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.
All worker properties starting with either "TIMEMONITOR." or "TIMESERVER." are sent to the TimeMonitor if it asks for it. For information on available properties, see TimeMonitor Configuration.
|x.VALUE||Where x is a status property: Sets the value of the property|
|x.EXPIRATION||Where x is a status property: Sets the expiration time for x (x.VALUE must also be specified)|
|x.UPDATE||The time when the property was written|
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.
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