8 Replies Latest reply on Sep 12, 2011 4:13 PM by kevlray

    Solar Winds Database question


      We have the NPM product (not sure what version, but should be close to the latest version if not the latest version) and I have been asked to write an ad hoc report.   I have access to the tables for Solar Winds and I have created other reports from these tables.  But I have not found out where Solar Winds keeps the historical CPU usage and Memory Usage for nodes (in this case for a server).


      Any information would be appreciated.

        • Re: Solar Winds Database question

          Have you looked at Report Writer? You can use it to pretty easily create CPU and Memory Usage reports. For more information about Report Writer, see "Creating and Viewing Reports - Core" in the SolarWinds Orion NPM Admininistrator Guide.

            • Re: Solar Winds Database question

              From what I recall, I need access to the server to create a report.  I am not sure I have that access anymore.  I am well versed in Crystal Reports and would like to use Crystal Reports to create this report.  Is there any documentation on the tables and fields? 

                • Re: Solar Winds Database question

                  So, you have access to the SQL Server, but not the Orion server? If this is the case, you might be able to get someone to post the SQL query to create an existing or customized Orion report. Post what you need, and the community may be able to give you the SQL required to pull it from the db.


                    • Re: Solar Winds Database question

                      Here is what I need:  CPU util, RAM util, Disk util (C:, D:, E:, and L:), Top Processes, and any application downtime for the past six months for a specific server.  I know that after a certain time period, the detail table is rolled up into the hourly table is rolled up to the daily table (at least I believe that is how it works).

                    • Re: Solar Winds Database question


                      You may need APM to get what you're looking for. I've created a SQL query (through APM) that shows the historical CPU usage for this year. Let me know if this is a good starting point for you. I'm sure you'll need to tweak this a little.

                      SELECT  TOP 10000 CONVERT(DateTime,
                      '01/01/' + LTRIM(YEAR(DateTime)),
                      101) AS SummaryYear,
                      Nodes.Caption AS NodeName,
                      APM_AlertsAndReportsData.ApplicationName AS Application_Name,
                      APM_AlertsAndReportsData.ComponentName AS Component_Name,
                      MIN(APM_CPUAndMemoryUsage.MinPercentCPU) AS MIN_of_Minimum_Percent_CPU,
                      AVG(APM_CPUAndMemoryUsage.AvgPercentCPU) AS AVERAGE_of_Average_Percent_CPU,
                      MAX(APM_CPUAndMemoryUsage.MaxPercentCPU) AS MAX_of_Peak_Percent_CPU

                      (Nodes INNER JOIN APM_AlertsAndReportsData ON (Nodes.NodeID = APM_AlertsAndReportsData.NodeId))  INNER JOIN APM_CPUAndMemoryUsage ON (APM_AlertsAndReportsData.ComponentId = APM_CPUAndMemoryUsage.ComponentId)

                      ( DateTime BETWEEN 40542 AND 40784 )

                      GROUP BY CONVERT(DateTime, '01/01/' + LTRIM(YEAR(DateTime)), 101),
                      Nodes.Caption, APM_AlertsAndReportsData.ApplicationName, APM_AlertsAndReportsData.ComponentName

                      ORDER BY SummaryYear ASC

                  • Re: Solar Winds Database question


                    Let us know if Andrew's suggestion worked for you. The feedback would be great.