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.

How to get solarwinds to automatically pick up a renamed volume

I'm labeling some volumes on some of my servers to identify them as data volumes. After I label the volume data, the change is not reflected in solarwinds unless I edit the node and select the volume again and then it shows two drives, one with the old label and one with the new label. How do I get solarwinds to update itself automatically when I make a change like this?

  • As far as I know this cannot be done and when this happens to me the existing volume disappears and goes unknown it drives me crazy.  What I have resulted to do doing is creating an alert that contains the query I will need to use to manually remove the specific volume from the database.  And then I run a discovery nightly on the servers to easily import all the new volumes at once. 

  • this seems like a big problem solarwinds should fix. I have other administrators that will present a new bigger volume and copy data over and then swap drive letters. Is there a way to get an alert when a new volume is presented to a server?

  • I'm not sure if there is a way to alert for new volumes but if you have a discovery schedule setup for your servers it will notify on the web interface when it finds new volumes. 

  • i don't have full confience in the solarwinds discovery. I have it scheduled to run everyday but I've had it miss servers. does anyone else know a way to do this?

  • FormerMember
    0 FormerMember in reply to krfitzgerald

    I have this same issue and no solution yet besides manually removing the volumes from the database.  I use this custom SQL report to track those volumes with a non-unique drive letter:

    SELECT     dbo.Nodes.Caption, dbo.Nodes.IP_Address, LEFT(dbo.Volumes.Caption, 3) AS Expr1, COUNT(*) AS Expr2

    FROM         dbo.Volumes LEFT OUTER JOIN

                          dbo.Nodes ON dbo.Volumes.NodeID = dbo.Nodes.NodeID

    WHERE     (dbo.Volumes.VolumeType = 'Fixed Disk') AND (CHARINDEX('\', dbo.Volumes.Caption) = 3)

    GROUP BY LEFT(dbo.Volumes.Caption, 3), dbo.Nodes.Caption, dbo.Nodes.IP_Address

    HAVING      (COUNT(*) > 1)

  • thank you, when I ran the SQL query it returned about 2 dozen servers, but none of them are listed twice. Is that suppose to happen? I need to learn more about the SQL query reports, I've been asked to do some reports that require this but I'm new to sql queries. Is there a query that will tell me if a volume has not been selected in the list resources? I have admins that will add a volume and not tell anyone.

    do you happen to have a query that will return:

    Site

    Server Name

    Physical or virtual

    OS version

    # of CPU

    Memory

    Hard drive Capacity and in use

    I Know some of these I can get from a regular report but when I tried to get physical or virutal I could not find a drop down for it and solarwinds support said I needed to use a custom sql report.

    is there a good learning tool that will help me learn how to duild these queries on my own? thank you very much. this is very much appreciated.

  • Here is modified sql query from msawyer which should include everything what you need. Reason why non are listed more than one is because in query is Group By clause and it is intention not to display it more.


    SELECT Info.*, V.VolumeSpaceAvailable, V.VolumeSize, N.TotalMemory, N.MemoryUsed,N.CPULoad FROM
    (
    SELECT     dbo.Nodes.Caption, dbo.Nodes.NodeID, dbo.Nodes.IP_Address, dbo.Nodes.IOSVersion, dbo.Nodes.MachineType,
    dbo.Volumes.VolumeID,
    LEFT(dbo.Volumes.Caption, 3) AS Expr1, COUNT(*) AS Expr2

    FROM         dbo.Volumes LEFT OUTER JOIN

                          dbo.Nodes ON dbo.Volumes.NodeID = dbo.Nodes.NodeID

    WHERE     (dbo.Volumes.VolumeType = 'Fixed Disk') AND (CHARINDEX('\', dbo.Volumes.Caption) = 3)

    GROUP BY LEFT(dbo.Volumes.Caption, 3), dbo.Nodes.Caption, dbo.Nodes.NodeID, dbo.Nodes.IP_Address,
    dbo.Nodes.IOSVersion, dbo.Nodes.MachineType, dbo.Volumes.VolumeID

    HAVING      (COUNT(*) > 1)
    ) AS Info
    Left OUTER JOIN dbo.Volumes V ON V.VolumeID=Info.VolumeID
    INNER JOIN dbo.Nodes N ON N.NodeID=Info.NodeID

  • thanks, I ran the query you just posted and it returned no results.

  • It depends whether you want return just duplicate or also what is not duplicated. If you want to return everything remove from query clause HAVING (COUNT(*) > 1)

  • will this work for volumes that have not been selected under list resources?