W32 - Disk Stats Data Query Template
Moderators: Developers, Moderators
-
- Posts: 31
- Joined: Fri Jul 01, 2005 12:07 pm
W32 - Disk Stats Data Query Template
Here is another data query template that will help you verify high / over-utilized disk I/O on a system.
- Attachments
-
- cacti_graph_template_w32_disk_stats.xml
- (21.27 KiB) Downloaded 967 times
-
- W32_LogicalDisk.xml
- Put this in your "Resource/Script_Queries" directory.
- (1.41 KiB) Downloaded 790 times
-
- w32_query_LogicalDisk.pl.txt
- Put into your "Scripts" directory and remove the .txt off the filename.
- (5.86 KiB) Downloaded 1014 times
Last edited by thisisharper on Wed Oct 12, 2005 8:02 am, edited 1 time in total.
-
- Posts: 31
- Joined: Fri Jul 01, 2005 12:07 pm
Thanks for the addition. I would just like to write a caveat to this graph.
FYI: %DISK TIME (READ + WRITE) may not always match. Mutiple disk systems will may show high %DISK time because they have multiple spindles working on the data being read / written. Please only take into account this information use this for multiple disk systems.
http://www.oreillynet.com/pub/a/network ... kperf.html
Also %Disk Time is not a very good metric at determining SAN / RAID disk performance. It is just an indicator of how often the Operating System is reading / writing to the disk. Even if the OS is reading / writing to the disk 100% of the time, that does not indicate a bottleneck if the back end interconnect can handle the data stream.
Queue Length / Disk Write/Sec is a good metric at analyzing bottlenecks.
FYI: %DISK TIME (READ + WRITE) may not always match. Mutiple disk systems will may show high %DISK time because they have multiple spindles working on the data being read / written. Please only take into account this information use this for multiple disk systems.
http://www.oreillynet.com/pub/a/network ... kperf.html
Also %Disk Time is not a very good metric at determining SAN / RAID disk performance. It is just an indicator of how often the Operating System is reading / writing to the disk. Even if the OS is reading / writing to the disk 100% of the time, that does not indicate a bottleneck if the back end interconnect can handle the data stream.
Queue Length / Disk Write/Sec is a good metric at analyzing bottlenecks.
Last edited by Phobos182 on Tue Oct 18, 2005 10:50 am, edited 4 times in total.
[size=84][color=red] Electronic Frontier Foundation[/color]
[url]http://eff.org[/url][/size]
[url]http://eff.org[/url][/size]
-
- Posts: 31
- Joined: Fri Jul 01, 2005 12:07 pm
That's not true... I manage over 200 RAIDed servers here that would prove that disk % read and write counters work perfectly on RAID sets. I really built this graph to focus on the disk queueing piece. It shows me when I need to add more spindles to my RAID sets or increase my SAN bandwidth to a particular device.
Maybe you mean software RAID? I don't have any servers that use it, so I couldn't verify that.
Maybe you mean software RAID? I don't have any servers that use it, so I couldn't verify that.
Hi. I am very much interested in your template. It is exactly what I was looking for. Unfortunately it does not work in my Cacti installation (0.8.6g on Windows host).
The graph is being created, but not populated. Besides that the graph template you posted is not the same as shown in your JPG.
Do you have any what I can do?
Could you please also post the graph template you were using, when you created your JPG file?
The graph is being created, but not populated. Besides that the graph template you posted is not the same as shown in your JPG.
Do you have any what I can do?
Could you please also post the graph template you were using, when you created your JPG file?
-
- Posts: 31
- Joined: Fri Jul 01, 2005 12:07 pm
Hi Harper, thank you for the update. I am still not able to make it work (I'm still kind of new to cacti). Whe I try to create a graph I have to fill in the following fields, but got no clue what to fil in:
Index Type
Index Value
Output Type ID
Do you have any idea what went wrong (pls see the picture)?
Index Type
Index Value
Output Type ID
Do you have any idea what went wrong (pls see the picture)?
- Attachments
-
- Disk_Stats_Template.JPG (100.23 KiB) Viewed 15825 times
-
- Posts: 31
- Joined: Fri Jul 01, 2005 12:07 pm
-
- Posts: 34
- Joined: Wed Sep 14, 2005 9:25 am
- Location: Omaha, NE
-
- Posts: 31
- Joined: Fri Jul 01, 2005 12:07 pm
If you check those three boxes, it wont take those values from the graph template, but from each individual host.
That's why it's asking you when you create a new graph what these values are.
Un check them, and it wont ask you anymore. But after looking at this graph, it's just plain broken. There's no data input method to run the script / graph the data.
That's why it's asking you when you create a new graph what these values are.
Un check them, and it wont ask you anymore. But after looking at this graph, it's just plain broken. There's no data input method to run the script / graph the data.
[size=84][color=red] Electronic Frontier Foundation[/color]
[url]http://eff.org[/url][/size]
[url]http://eff.org[/url][/size]
-
- Posts: 31
- Joined: Fri Jul 01, 2005 12:07 pm
After looking at this template, there are some problems.
First, the WMI Class "Win32_PerfFormattedData_PerfDisk_PhysicalDisk" is only available on Windows 2003 server from what I can tell in my network environment. After enumerating the classes available on Windows 2000, this class was not available. The Win32_RawData was available, but this requires a lot of math, and timeframes to get the counters into something you can understand, which is just not worth it to me to design.
Second, running this script on a 2003 server yields 99% of the time a "0" result. Looking at the raw perfdisk metrics shows data. It's my belief that the formatted data is done poorly. To be effective, you would have to gain a time sample from the raw data, and do the math between the two to gather the final result
(1 - (N2 - N1) / (D2 - D1)) * 100
No thanks. The metrics IMHO would not be very accurate as it would only base it's facts on the time sampling you gave it. AKA you waited 1 second between grabbing the first / second values, you will get the %Disk Time for 1 second. I would want a 5 minute average myself.
Win32_PerfFormattedData_PerfDisk_PhysicalDisk
Win32_PerfRawData_PerfDisk_PhysicalDisk
First, the WMI Class "Win32_PerfFormattedData_PerfDisk_PhysicalDisk" is only available on Windows 2003 server from what I can tell in my network environment. After enumerating the classes available on Windows 2000, this class was not available. The Win32_RawData was available, but this requires a lot of math, and timeframes to get the counters into something you can understand, which is just not worth it to me to design.
Second, running this script on a 2003 server yields 99% of the time a "0" result. Looking at the raw perfdisk metrics shows data. It's my belief that the formatted data is done poorly. To be effective, you would have to gain a time sample from the raw data, and do the math between the two to gather the final result
(1 - (N2 - N1) / (D2 - D1)) * 100
No thanks. The metrics IMHO would not be very accurate as it would only base it's facts on the time sampling you gave it. AKA you waited 1 second between grabbing the first / second values, you will get the %Disk Time for 1 second. I would want a 5 minute average myself.
Win32_PerfFormattedData_PerfDisk_PhysicalDisk
Code: Select all
AvgDiskBytesPerRead: 0
AvgDiskBytesPerTransfer: 0
AvgDiskBytesPerWrite: 0
AvgDiskQueueLength: 0
AvgDiskReadQueueLength: 0
AvgDisksecPerRead: 0
AvgDisksecPerTransfer: 0
AvgDisksecPerWrite: 0
AvgDiskWriteQueueLength: 0
Caption:
CurrentDiskQueueLength: 0
Description:
DiskBytesPersec: 0
DiskReadBytesPersec: 0
DiskReadsPersec: 0
DiskTransfersPersec: 0
DiskWriteBytesPersec: 0
DiskWritesPersec: 0
Frequency_Object:
Frequency_PerfTime:
Frequency_Sys100NS:
Name: 0 C: E:
PercentDiskReadTime: 0
PercentDiskTime: 0
PercentDiskWriteTime: 0
PercentIdleTime: 100
SplitIOPerSec: 0
Timestamp_Object:
Timestamp_PerfTime:
Timestamp_Sys100NS:
AvgDiskBytesPerRead: 0
AvgDiskBytesPerTransfer: 0
AvgDiskBytesPerWrite: 0
AvgDiskQueueLength: 0
AvgDiskReadQueueLength: 0
AvgDisksecPerRead: 0
AvgDisksecPerTransfer: 0
AvgDisksecPerWrite: 0
AvgDiskWriteQueueLength: 0
Code: Select all
AvgDiskBytesPerRead: 950931697152
AvgDiskBytesPerRead_Base: 151090897
AvgDiskBytesPerTransfer: 1192401479680
AvgDiskBytesPerTransfer_Base: 178971210
AvgDiskBytesPerWrite: 241469782528
AvgDiskBytesPerWrite_Base: 27880313
AvgDiskQueueLength: 24689264777000
AvgDiskReadQueueLength: 5464084809000
AvgDisksecPerRead: -487160804
AvgDisksecPerRead_Base: 151090897
AvgDisksecPerTransfer: -1563577253
AvgDisksecPerTransfer_Base: 178971210
AvgDisksecPerWrite: -1076416449
AvgDisksecPerWrite_Base: 27880313
AvgDiskWriteQueueLength: 19225179968000
Caption:
CurrentDiskQueueLength: 0
Description:
DiskBytesPersec: 1192401479680
DiskReadBytesPersec: 950931697152
DiskReadsPersec: 151090897
DiskTransfersPersec: 178971210
DiskWriteBytesPersec: 241469782528
DiskWritesPersec: 27880313
Frequency_Object: 0
Frequency_PerfTime: 3400210000
Frequency_Sys100NS: 10000000
Name: 0 C: E:
PercentDiskReadTime: 5464084809000
PercentDiskReadTime_Base: 127742923598249412
PercentDiskTime: 24689264777000
PercentDiskTime_Base: 127742923598249412
PercentDiskWriteTime: 19225179968000
PercentDiskWriteTime_Base: 127742923598249412
PercentIdleTime: 15165581039000
PercentIdleTime_Base: 127742923598249412
SplitIOPerSec: 1407765
Timestamp_Object: 0
[size=84][color=red] Electronic Frontier Foundation[/color]
[url]http://eff.org[/url][/size]
[url]http://eff.org[/url][/size]
Who is online
Users browsing this forum: No registered users and 4 guests