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;
  • 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).