Hi,
Is there a way to create a report for server utilization based on last 30 days or Last Month? The columns should be
NodeID NodeName CPU Memory Disk Availability
1 Server A 80% 99% C: 70% 99%
E: 65%
Can this be done via query?
Hi,
Is there a way to create a report for server utilization based on last 30 days or Last Month? The columns should be
NodeID NodeName CPU Memory Disk Availability
1 Server A 80% 99% C: 70% 99%
E: 65%
Can this be done via query?
What I ended up doing was first creating the CPU / Memory portion of the report using the Gauges and Charts they provide in the custom report builder.
Then added my own Custom Table [SQL Query] at the bottom to handle the Disk/Volume information.
Its working nicely.
SELECT
N.NodeID AS 'Node ID'
,N.Caption AS 'Server Name'
,I.IPAddress as 'IP Addresses'
,V.Caption AS 'Volume Name'
,V.VolumeDescription AS 'Volume Description'
,V.VolumeType AS 'Volume Type'
,V.VolumeTypeID AS 'Volume Type ID'
,ROUND(V.VolumeSize/1073741824,0) AS 'SIZE /GB'
,ROUND(V.VolumePercentUsed,0) AS 'Percent Used'
,ROUND(V.VolumeSpaceUsed/1073741824,0) AS 'USED /GB' --VolumeSpaceUsed is calculated in Bytes (/ by 1073741824 to get GB)
,ROUND(V.VolumeSpaceAvailable/1073741824,0) AS 'FREE /GB' --VolumeSpaceAvailable is calculated in Bytes (/ by 1073741824 to get GB)
,CASE
WHEN V.VolumePercentUsed >= 95 THEN 'WARNING Less than 5% Free'
ELSE ' '
END AS 'Warning'
FROM dbo.Nodes AS N
INNER JOIN dbo.NodeIPAddresses AS I
ON N.NodeID = I.NodeID
INNER JOIN dbo.Volumes AS V
ON N.NodeID = V.NodeID
WHERE
V.VolumeTypeID = (4)
Order BY
N.Caption ASC
What I ended up doing was first creating the CPU / Memory portion of the report using the Gauges and Charts they provide in the custom report builder.
Then added my own Custom Table [SQL Query] at the bottom to handle the Disk/Volume information.
Its working nicely.
SELECT
N.NodeID AS 'Node ID'
,N.Caption AS 'Server Name'
,I.IPAddress as 'IP Addresses'
,V.Caption AS 'Volume Name'
,V.VolumeDescription AS 'Volume Description'
,V.VolumeType AS 'Volume Type'
,V.VolumeTypeID AS 'Volume Type ID'
,ROUND(V.VolumeSize/1073741824,0) AS 'SIZE /GB'
,ROUND(V.VolumePercentUsed,0) AS 'Percent Used'
,ROUND(V.VolumeSpaceUsed/1073741824,0) AS 'USED /GB' --VolumeSpaceUsed is calculated in Bytes (/ by 1073741824 to get GB)
,ROUND(V.VolumeSpaceAvailable/1073741824,0) AS 'FREE /GB' --VolumeSpaceAvailable is calculated in Bytes (/ by 1073741824 to get GB)
,CASE
WHEN V.VolumePercentUsed >= 95 THEN 'WARNING Less than 5% Free'
ELSE ' '
END AS 'Warning'
FROM dbo.Nodes AS N
INNER JOIN dbo.NodeIPAddresses AS I
ON N.NodeID = I.NodeID
INNER JOIN dbo.Volumes AS V
ON N.NodeID = V.NodeID
WHERE
V.VolumeTypeID = (4)
Order BY
N.Caption ASC
The report manager gives you built in charts and gauges to build a report. I just used that.
Reports > All Reports > Report Manager > Create New Report
Add Content > Charts > Average CPU Load
Add Content > Gauges > Average CPU Load & Memory Utilization – Pie Gauges
Then I added my own table content and pasted in the SQL query above.
Add Content > Reports > Custom Table > Advanced Database and SQL Query
SolarWinds solutions are rooted in our deep connection to our user base in the THWACK® online community. More than 200,000+ members are here to solve problems, share technology and best practices, and directly contribute to our product development process.