Hi Team,
In Brief:
This is regarding Write Wait Time(ms) metric in the Remote Host Monitoring configuration. You should change the formula, so as to obtain accurate values.
Existing Formula (Incorrect): iostat -x
Correct Formula: iostat -xy 1 1
In Detail:
As per ~/apmia/extensions/~/config/linux.json, this metric (i.e. Write Wait Time (ms)) is obtained from 'iostat -x'. However, this command provides the average result since the system had booted and this is inaccurate.
For example, if we execute 'iostat -x 2', the 1st report from iostat
will always print statistics based on the last time the system was booted; so, this is not correct, and we must disregard this. The next report provides values based on the time since the last interval.
Example: The following command lists 18.84 as Write Wait Time in the first report, while it shows as 1.00 in the next reports
# iostat -x 2
Linux 3.10.0-1160.31.1.el7.x86_64 (gcp-use1-casb-prd-con-ms-10-239-10-166) 10/04/2022 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
32.15 0.00 15.32 0.00 0.00 52.53
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdd 0.00 0.16 0.32 1.31 33.98 223.72 317.17 0.03 15.57 2.22 18.84 0.54 0.09
sdb 0.00 0.00 0.00 0.00 0.00 2.63 83045.27 0.00 2.58 0.14 2.81 3.14 0.00
sdc 0.00 0.00 0.00 0.00 0.00 2.63 266967.03 0.00 0.89 0.54 1.06 0.63 0.00
sda 0.00 0.10 0.59 0.71 27.68 7.74 54.74 0.00 2.62 4.35 1.19 0.45 0.06
avg-cpu: %user %nice %system %iowait %steal %idle
35.70 0.00 12.58 0.00 0.00 51.72
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdd 0.00 0.00 0.00 1.00 0.00 4.00 8.00 0.00 1.00 0.00 1.00 2.00 0.20
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 0.00 0.00 0.00 3.00 0.00 12.00 8.00 0.00 0.33 0.00 0.33 1.17 0.35
Changes Required:
Just as you utilize iostat -dy 1 1 to obtain values for KBytes Read Per Second, No. of I/O Requests Per Second, etc., you should use similar thing for Write Wait Time (ms), Read Wait Time (ms), etc.
Release : 1
Linux.json file fixed and can be found in DE547599