4 Replies Latest reply on May 28, 2015 8:58 PM by jimspargo

    Weekly server performance report

    jimspargo


      hello,

      I am trying to produce a weekly report that will show

      Server  CPU % time  Memory pages/sec   Disk Q-length   Volume

                  Avg |Peak       Avg | Peak                 Avg  | Peak      Size | Free space | %free

      on of the techs for Solarwinds provided the following SQL query but it doesn't provide memory page/sec

       

      thanks

      Jim

        • Re: Weekly server performance report
          jimspargo

          sorry forgot to add the query

          select * from

          (select  nodes.caption as NodeName,nodes.nodeid, avg(AvgLoad) as AvgCPU, max(maxload) as PeakCPU

          from cpuload, nodes

          where nodes.nodeid=cpuload.nodeid and DATEDIFF(WW,DateTime,GETDATE())=1

          group by nodes.caption, nodes.nodeid) a,

          (select volumes.nodeid, caption as VolumeName, avg([AvgDiskQueueLength]) as AvgDiskQ, max(maxdiskqueuelength) as PeakDiskQ,

          avg(AvgDiskReads) as AvgDiskRead, max(maxDiskReads) as PeakDiskReads,avg(AvgDiskWrites) as AvgDiskWrites, max(maxDiskWrites) as PeakDiskWrites

          from VolumePerformance, volumes

          where volumetypeid in (4,10,100) and volumes.volumeid=volumeperformance.volumeid and DATEDIFF(WW,DateTime,GETDATE())=1

          group by volumes.nodeid, caption) b

          where a.nodeid=b.nodeid

          order by a.nodeid

           

          cheers Jim

          • Re: Weekly server performance report
            jimspargo


            hi all I have had some success by querying the apm alerts and stattisics data see the query below

            select * from
            (select  nodes.caption as NodeName,nodes.nodeid, avg(AvgLoad) as AvgCPU, max(maxload) as PeakCPU
            from cpuload, nodes
            where nodes.nodeid=cpuload.nodeid and DATEDIFF(WW,DateTime,GETDATE())=1
            group by nodes.caption, nodes.nodeid) a,

            (select volumes.nodeid, caption as VolumeName, avg([AvgDiskQueueLength]) as AvgDiskQ, max(maxdiskqueuelength) as PeakDiskQ,
            avg(AvgDiskReads) as AvgDiskRead, max(maxDiskReads) as PeakDiskReads,avg(AvgDiskWrites) as AvgDiskWrites, max(maxDiskWrites) as PeakDiskWrites
            from VolumePerformance, volumes
            where volumetypeid in (4,10,100) and volumes.volumeid=volumeperformance.volumeid and DATEDIFF(WW,DateTime,GETDATE())=1
            group by volumes.nodeid, caption) b,

            (SELECT   Nodes.NodeID AS NodeID,
            AVG(APM_StatisticsUsage.AvgStatisticData) AS AVERAGE_of_Statistic_Data,
            MAX(APM_StatisticsUsage.AvgStatisticData) AS MAX_of_Statistic_Data

            FROM
            (Nodes INNER JOIN APM_AlertsAndReportsData ON (Nodes.NodeID = APM_AlertsAndReportsData.NodeId))  INNER JOIN APM_StatisticsUsage ON (APM_AlertsAndReportsData.ComponentId = APM_StatisticsUsage.ComponentID)


            WHERE
            ( DateTime BETWEEN 42144 AND 42151.4583333333 )
            AND 
            (
              (APM_AlertsAndReportsData.ComponentName = 'Page File Usage') AND
              (
               (APM_AlertsAndReportsData.ApplicationName = 'Windows Server 2003-2008') OR
               (APM_AlertsAndReportsData.ApplicationName = 'Windows Server 2003-2012 Services and Counters '))
            )


            GROUP BY Nodes.NodeID, Nodes.Caption) c

            where a.nodeid=b.nodeid  and a.nodeid=c.nodeid
            order by a.nodeid

            I am not the best at SQl  so be easy on me.

            Jim