Report to find out servers not rebooted for 'n' number of days

Hello All,

Good Evening!!

This is Dhyanesh Mehta, back again with another query. Is there any way we can generate a report to scan and find out which devices/servers have not been rebooted since last 30 days or lets say n number of days? If it is then will you please guide me how?

IP Monitor Version: 10.8.2

Please let me know in case more information is needed from my side.


Dhyanesh Mehta

  • Dhyanesh,

    If these devices are using SNMP, you could try a report based on system up time (

  • Hello Kyle,

    Thanks for the reply. Yes all devices i want to monitor has SNMP. I already tried to add Uptime in the report but issue i am facing is it gets all monitors in Uptime not jus Ping. For example what i did was i go to report> Add custom report> Select group of Device> i selected a group which contains multiple devices each have multiple monitors like Ping, drive space, Ram, CPU and Windows Services. Now when i select Uptime parameter for Last Month and click on preview it brings status report of all monitors which are up since last month that includes Ping, Drive Space, Service and all.

    What i am interested is only Ping so i can determine this device has been up and running since last 30 days or not. So can you please guide me how can select Ping only? I could not fine Server Uptime as parameter in Report only Uptime is there.


    Dhyanesh Mehta

  • Hello,

    Its been a while since i did not get any help here. Please guys somebody help me out here.


    Dhyanesh Mehta

  • Hello Kyle,

    Can you please guide me how can i generate report as per SNMP string you provided? I am not that much expert at it so if you can list down the steps it will really help.


    Dhyanesh Mehta

  • Hello,

    You can try this, add the sysUptime OID in UnDP and monitor it for the group of devices you want, you can further take a report of the UnDP and filter for the ones with time less than 30 days.

    Not sure how far this would work, scanning system Uptime would be the best guess.



  • Hello Malcom,

    Thanks for the reply. Just to clarify is UnDP configuration for NMP or IPMonitor too as i could only find information about UpDP in NPM product so far.

    if it is possible to configure UnDP using SNMP OID in IpMonitor can you please tell me how or share a document?


    Dhyanesh Mehta

  • Hello BKyle,

    I finally figured out what you mentioned by sysuptime SNMP. I successfully added sysuptime custom SNMP monitor.

    1 question i have now is it gives result in Seconds. Is it possible to configure it to give result in Days? So when any monitor is down and we check it shows directly this device has not been rebooted since 40 days instead of x seconds.


    Dhyanesh Mehta

  • Hello,

    I assume you resolved this. For anyone else interested, we achieved the equivalent by adding a "SNMP: USER EXPERIENCE" monitor to each server based on with a numeric check to be less that the value for the period to be monitored - in seconds. If we wanted to report, we could create a smart group with just those monitors and report on the group. 

    A the monitor records the SNMP value, if we wanted to see servers up more than any specific time, we could add a filter to the smart group to check for the value returned exceeding the number of days, converted to seconds. It is not as neat as being able to specify a value in days, but it works pretty close.

  • One caution to using that SNMP counter is the number rolls over after enough time passes, I believe its just a bit short of 2 years, so systems up longer than that will show as having rebooted.  Servers rarely stay up that long uninterrupted but network devices and appliances are more likely to do so.

  • For windows servers, I would look at the LastBoot setting.   This should also be present for all SNMP devices.  If not, then I would resort to the UnDP.

    Just be aware that on SNMP monitored devices, if the agent was restarted - the last boot will reflect the time when the agent was started.


    The code is same as Node DOwn with duration code with changing the eventtime to lastboot.  I added a condition for just windows servers; this can be changed based on need.

    I've had clients set up several of these.  One for Networking, one for Servers, etc.



    -- Node

    n.Caption AS [Node Name]

    ,DetailsUrl AS [_LinkFor_Node Name]

    ,'/Orion/images/StatusIcons/Small-' + StatusIcon AS [_IconFor_Node Name]

    -- IP and availability

    ,n.IP_Address as IP_Address

    ,'/Orion/DetachResource.aspx?ViewID=2123&ResourceID=21222&NetObject=N:'+tostring(n.nodeid) as [_LinkFor_IP_Address]

    ,'/Orion/Images/SubViewIcons/VitalStats03.png' as [_IconFor_IP_Address]


    --,'Edit' AS [Edit]

    --, '/Orion/Nodes/NodeProperties.aspx?Nodes=' + ToString(n.NodeID) AS [_LinkFor_Edit]

    --,'/Orion/images/nodemgmt_art/icons/icon_edit.gif' as [_IconFor_Edit]

    --,n.CustomProperties.City as [City]


    ,SUBSTRING(tostring(tolocal(n.LastBoot)),12,8)) as Downtime

    ,CONCAT(HOURDIFF(tolocal(n.LastBoot),getdate())/24,' Day(s) ',

            HOURDIFF(tolocal(n.LastBoot),getdate())-(HOURDIFF(tolocal(n.LastBoot),getdate())/24)*24,'h ',

            MINUTEDIFF(tolocal(n.LastBoot),getdate())-(MINUTEDIFF(tolocal(n.LastBoot),getdate())/60)*60,'m') AS [LastBoot]

    FROM Orion.Nodes n

    WHERE STATUS = 1 and n.Vendor like 'Window%'

    --and n.caption like '%${SEARCH_STRING}%' or n.IP_Address like '%${SEARCH_STRING}%'

    ORDER BY MINUTEDIFF(tolocal(n.LastBoot),getdate())  desc