This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Need a custom SQL report for discovery results

I am not a SQL expert, so I am having a little trouble with a report that I would like to create for scheduled discovery results.

I want a report that includes node name, IP address, engine ID, discovery profile name, identifies Found vs Changed, when discovery ran, etc. However, the tables in the database do not seem to contain all of these fields.

Has anyone configured such a report? Thank you for any help?

  • Bump. This is an urgent need. Thank you.

  • I'm not sure that all of this is going to be possible.  If some of this data does not live in the SQL database, then it's not going to be possible to pull it into a report.  Now, there should be a way to get some of that information through joining a couple of the discovery tables to the nodes table in a query.  Something I have that might help is:

    Select

    DiscoveryProfiles.Name as Discovery_Name,

    DiscoveredNodes.Hostname as Node_Name,

    DiscoveryProfiles.EngineID as Poller,

    Nodes.IP_Address as IPAddress,

    DiscoveryProfiles.LastRun as LastRun

    From DiscoveredNodes

    Join DiscoveryProfiles on DiscoveredNodes.ProfileID = DiscoveryProfiles.ProfileID

    Join Nodes On Nodes.SysName = DiscoveredNodes.SysName

    Regards,

    Matthew Harvey

    Loop1 Systems

    http://www.loop1systems.com

  • Thanks, mharvey. That is most of what I need. I still need to know if a listed node was designated as Found or Changed, and I also want to list the polling server name as well as the Engine ID. Thanks for your help.

  • Adding the name of the poller is easy.

    Select

    DiscoveryProfiles.Name as Discovery_Name,

    DiscoveredNodes.Hostname as Node_Name,

    DiscoveryProfiles.EngineID as Poller,

    Engines.ServerName as PollerName,

    Nodes.IP_Address as IPAddress,

    DiscoveryProfiles.LastRun as LastRun

    From DiscoveredNodes

    Join DiscoveryProfiles on DiscoveredNodes.ProfileID = DiscoveryProfiles.ProfileID

    Join Nodes On Nodes.SysName = DiscoveredNodes.SysName

    Join Engines on DiscoveryProfiles.EngineID = Engines.EngineID

    As far as changed vs. found. Looking at the tables, there is nothing that identifies this that I can see as to whether a node was new or previously in the database, as such there doesn't seem to be any way to write anything to show that in the report.  And since there is nothing like a Date Added value for nodes, you can't really compare that against the last run of the discovery to use something where if those dates were equal they were added and if the date added was earlier it would be seen as changed.  I'm not thinking there is going to be a way to get that.

  • Technically, you can just go by the NodeID.

    It always is incrementing in order of node creation- even if you delete a node, it doesn't fill back the space.

    Record the largest NodeID, then just have a True/False if it is greater than your listed NodeID to see if it was added afterwards.

    Of course,  this would mean you need to constantly record and change the last known NodeID.

  • I just want to add myself to the list of those who want something like this.  I would like to know what nodes are added to discovery for the last <period of time>.  I think this is an import review point.  Is there nothing that provides that kind of information?

  • FormerMember
    0 FormerMember

    Hi there!

    I'd like to bump this post once again as I am searching for the same information...

    Maybe the Solarwinds tech staff could hook in and reveal how the new/changed/as-is information is calculated from the tables emoticons_happy.png

    Kind regards, Jörg

  • +1

    It would be great to have a solution for this.

  • mharvey,

    I think I am looking for NodeIDs that are in the DiscoveredNodes table, but NOT in the Nodes table, correct? I made a quick examination of the NodeIDs in those two tables and saw some that were the same and some that were not.

    So, how can I list nodes that have been discovered, but not yet added to the database?