This solution may be useful if you observe time discrepancies such as the Duration status column for a service (incorrectly) showing +364 days or a graph displaying a time that is several hours in the future.
This type of discrepancy may be caused by inconsistent time zone configurations between the OS, database, PHP and the JVM.
- Verify the time of the OS on the Uptime Infrastructure Monitor Monitoring Station and Database Server.
- Login as the Uptime Infrastructure Monitor user and verify the time configuration of the Uptime Infrastructure Monitor database.
- On MySQL
select now()
- On SQL Server
select current_timestamp;
- On Oracle
select current_timestamp() from dual;
- On MySQL
- To verify the PHP time configuration:
- Browse to your /<uptime dir>/GUI directory.
- Create a file named time.php with the following content:
<?php echo "current timestamp:" .time(); echo " current time: " .date("F j, Y, g:i a");?>
- Save the file and browse to time.php to verify:
http://<impactedhostname>:9999/time.php
If all time zones tested above match your desired time zone and you continue to experience a time discrepancy, the issue is likely with the JVM. To force the JVM to a specific time zone, make the following change to the wrapper.conf (Windows) or uptime.lax (Linux) file:
- Append the following values to the additional parameters:
Java Additional Parameters wrapper.java.additional.1= -Duser.timezone=<time/zone>
JVM time zone
Where <time/zone> is a standard Java Time Zone value (click here for an alphabetical list).