How can I push any report from Solarwinds to Elasticsearch?

Hi everyone,

First of all, I can get the data of a Solarwinds report manually with excel. but how can I do this with a script?

Do I need to write a query with an api?

I was able to export xml, but I could not find the report data in this xml file.

My goal is to transfer these report data to elasticsearch with python script.

  • Orion has a RESTful Web API, which can be leveraged to extract data to use in your external application.

    You would use the Query URI to pass a SWQL query in to the API and get the results in a JSON response. The following resources will help:

    I hope this helps and if you do anything with this, be sure to post about it here, so others can be inspired to do more with their platforms too!

  • Hi, 

    I managed to write a query. but I want to be able to show only hourly values ​​according to interface name as in web reports.

    SELECT TOP 10000 i.Caption, i.Name,
      t.DateTime, t.InAveragebps, t.InMinbps, t.InMaxbps, t.InTotalBytes, t.InTotalPkts, 
      t.InAvgUniCastPkts, t.InMinUniCastPkts, t.InMaxUniCastPkts, t.InAvgMultiCastPkts, t.InMinMultiCastPkts, t.InMaxMultiCastPkts, 
      t.OutAveragebps, t.OutMinbps, t.OutMaxbps, t.OutTotalBytes, t.OutTotalPkts, t.OutAvgUniCastPkts, t.OutMaxUniCastPkts, 
      t.OutMinUniCastPkts, t.OutAvgMultiCastPkts, t.OutMinMultiCastPkts, t.OutMaxMultiCastPkts, t.TotalBytes, t.TotalPackets, 
      t.Averagebps, t.OutPercentUtil, t.InPercentUtil, t.PercentUtil, e.Caption
    FROM Orion.NPM.Interfaces as i
    INNER JOIN Orion.NPM.InterfaceTraffic as t ON i.InterfaceID=t.InterfaceID
    INNER JOIN Orion.Nodes as e ON i.NodeID=e.NodeID
    WHERE (t.DateTime > ADDHOUR (-1,GETDATE()))

    Look at the data I got right now.

    DateTime InAveragebps InMinbps
    2022-07-06 00:37:28.124794 204531,9 204531,9
    2022-07-06 00:37:28.124794 12712,58 12712,58
    2022-07-06 00:37:28.124794 0 0
    2022-07-06 00:37:28.1091695 341445,9 341445,9

    How can I arrange these data as 00.00 , 01.00 every hour?

    Please help me.

    Thank you.

  • To create a summarised by hour report output, you need to use the Group By clause. Add after the WHERE clause, which will need to be adjusted as it only loads the last hours data, the following:

    Group BY DateTrunc('hour',t.DateTime)

Reply Children
No Data