Version 1

    I was getting asked by management quite often, "What is on the wire that we are not monitoring in SolarWinds."

    Using the NPM Network discovery function, I was able to take the results of a scheduled discovery and compare the results from what was already in SolarWinds and the resulting set is the items on the wire that are not being monitored in SolarWinds.


    Here's how I solved my problem.

    So first Create a Scheduled Network Discovery for the sub-nets that I want to know about in SolarWinds.  I created multiple because I have a large network. Your scheduled discovery can include your SNMP strings, WMI credentials etc....

    I have mine set to run every night off hours. Make sure you run the discovery at least once so that you have results in the database.

    Then open the Database Manager and query the table dbo.DiscoveryProfiles

    Find the Discovery that you created by Name and find the ProfileID Number, you will need this for the query below. (If you decide to do this with multiple discoveries like I did, you will need the profileid for each and need to run the SQL query for each)


    You can test this query below in Database manager first before moving forward to ensure everything is working, don't forget to replace the profileid with your profileid.


    You can then use this query anywhere you can insert a SQL query. (Resource boxes, Reports)

    I created a View called SolarScan, on that view I have a "Custom Table" resource box where I utilize the query.

    Every time the page is loaded the query will get executed.



    Select DISC.IPAddress, DISC.SysName

    From (Select DN.IPAddress, DN.SysName, N.Caption from dbo.DiscoveredNodes DN

    Left join dbo.nodes N on DN.IPaddress=N.IP_Address

    --Here is where you use the ProfileID from above, Mine was 275 so replace 275 with your profileid

    where DN.ProfileID='275'

    and DN.IgnoredNodeID IS NULL

    and N.IP_Address IS NULL

    ) AS DISC

    --Compare against the NodeIPAddresses table

    LEFT JOIN dbo.NodeIPAddresses NIP on DISC.IPAddress=NIP.IPAddress

    --Exclude Matching results

    where NIP.IPAddress IS NULL

    Order by DISC.IPAddress