Timmy Tam (Customer) asked a question.

System Uptime Report - Is there a way to have a report that lists the server name and system uptime field?

We would like to have report to list out the server uptime, so we can arrange teammate to reboot the server if the server haven't restart for a long period.


  • Mike Rockwell (Progress Software)

    There currently isn't one. The system Uptime is only updated when you Scan/Re-Scan a device.

     

    you can create an Active Script Performance monitor to track it via SNMP and then graph that.

     

    In the Monitor library

    ·        Click the plus

    ·        Select Performance Monitor

    In the Select Performance Monitor Type dialog

    ·         In the drop down select Active Script Performance Monitor

    •Add New Active Script Performance monitor

    •Name: System Up Time

    •Description: Tracks how long an SNMP enabled device has been Up in Hours

    •Script Type: JScript

    Add New Reference Variable

    •Enter

    •Name: RVsysUpTime

    •Description: The time (in hundredths of a second) since the network management portion of the system was last re-initialized.

    •Select: SNMP

    •Enter

    •Counter: 1.3.6.1.2.1.1.3

    •Instance: 0

    Save it

     

    In the script box enter

    1. // This script is a JScript that demonstrates how to use a reference variable in a script.
    2. // The reference variable "RVsysUpTime" is an SNMP reference variable defined
    3. // with an OID of 1.3.6.1.2.1.1.3 and instance of 0.
    4. // Poll reference variable RVsysUpTime
    5. var RVsysUpTime = Context.GetReferenceVariable("RVsysUpTime");
    6. if (RVsysUpTime == null) {
    7. // Pass a non zero error code upon failure with an error message.
    8. // The error message will be logged in the Performance Monitor Error Log
    9. // and in the eventviewer.
    10. Context.SetResult(1, "Failed to poll the reference variable.");
    11. }
    12. else {
    13. // Success, use the polled value to convert sysUpTime in hours.
    14. // sysUpTime is an SNMP timestamp which is in hundredths of seconds:
    15. var sysUpTimeHours = RVsysUpTime / 3600 / 100;
    16. // Save the final value to graph:
    17. Context.SetValue(sysUpTimeHours);
    18. }

    And Save it.

  • RJ Davis (Radford University)

    1. 'Sending log message to the WhatsUp Event Viewer
    2. Context.LogMessage "Checking Address=" & Context.GetProperty("Address")
    3.  
    4. 'Get the value of the reference variable A
    5. A = Context.GetReferenceVariable("iTimeTicks") / 8640000
    6.  
    7. 'Set the performance monitor value to graph
    8. Context.SetValue A

    Here is the script we use, similar to MIke's solution -

     

     

    uptime in daysOnce we have a performance monitor polling the uptime every hour we then use Alert center to create an alert threshold that notifies a group of people.