Custom Report on NPM

Hello there, I am very new to SolarWinds and I am stuck at generating a report.

What I want is to have a report that is scheduled to be sent to a mail every quarter (this is done) and the report should include only specific nodes and if or when they have gone down and the duration it has been down. I have tried creating one but even when I select specific nodes and set it to report only when down, it shows every status. I have also tried sql, which I modified to report only for specific nodes using its IP, but it only shows the duration in minutes and not when it has gone down. I tried searching for queries that matches my requirement but I found none. I also came across a post that said, these reports only provides data upto 30 days, which is useless in my case as I need the data from the past four months.

I would really appreciate it if someone can help me with this issue. Thanks!

  • That's correct, default is 30 days, this can be extended if you're willing to grow your database (Settings > All Settings > Polling Settings > Events Retention). Thats because this report would utilize the 'Events' to track the start and end time of a node down/up event. 

    I would create your report filter logic to look like this. In the second OR block, you can place additional node names if you want more than one.

    As for table construction, I would put these columns and sort/groupby. In order to grab event columns its way down on the list under nodes

    This seems like it gives the data you asked for. Let me know if I misunderstood and something needs to be tweaked but I would guess this is pretty close. 

  • Thank you so much for the answer, Yes it does give me all the details I need except the duration as in how long a specific node has gone down. Right now it has event time but I would also like to have a way to see how long the node has been down as well.

Reply Children
  • I would probably make two different suggestions of getting that extra downtime data. One way, you can drop this table in excel and do a time diff between the two rows. You could even build if statements in the formula so you don't have to go clean up formatting. Even make a macro to do it or VBA script that automatically does this so you can easily click a button or hotkey in the future to get the time diff data in a new column. 

    Another way, you would have to build out an alert (or maybe utilize your current node down alert) and log an event when the alert was triggered, message can just say node is down. But then have the reset event message say "Node is back up after ${N=Alerting;M=DownTime} minutes" so the downtime is printed in the message column. But this would change the filter logic of this report.

  • Thank You for the answer and apologies for the delay in response. I have tried what you have suggested using the alert and it has become very useful. However, this specific report is to be submitted to the board every quarter so they require detailed report on specific nodes downtime, such as the time it went down and how long was it down until it was rebooted or came back up.

    Thank You.