如何在 Bosun 中使用 win.disk.duration 或如何对计数器类型指标进行下采样?
How do I use win.disk.duration in Bosun or how do I downsample a counter type metric?
我正在使用 Bosun 收集有关硬盘平均响应时间的信息 (win.disk.duration
),它生成的图表如下:
我知道这是显示 WMI 报告值的变化率,AvgDiskSecPerRead
。
我想要做的是对这个计算值进行下采样,取一段时间内的最大值。但是,如果我将 Max
的下采样设置为 5m
的 window,我会得到:
注意 Y 轴比例变化。
如何降低采样率以获得我期望的结果(或者为什么我要求的没有意义)?
看来这个转换是将聚合应用于一阶导数。这是 example using win.disk.duration
metric from scollector but on a different backend.
- 原始数据表示重置后的计数器。
- 一阶导数计算用户定义的时间间隔(1 秒)内的变化率。默认情况下,负增量作为重置处理,但此行为可以 controlled 和
rate-counter=true|false
参数。
- 聚合函数
max
应用于用户定义时间段(5 分钟)内的费率。
不过,我建议使用 95 百分位函数而不是 max
。 p95
统计数据允许您从分析中 discards 不频繁的峰值。
免责声明:我为 Axibase 工作。
目前,由于这是一个计数器,您无法使用 OpenTSDB(由于问题标签,我假设您正在使用的数据源)对其进行正确的下采样。这是因为 OpenTSDB 在设计过程中出现了数学错误,并且尚未修复。更多信息在此 Google groups thread。总之,速率计算(导数)需要在操作顺序上靠前
此外,请注意,目前我们这边 (scollector) 似乎搞砸了一个相关指标 win.disk.percent_time
,该指标仍然需要研究(在此 issue 中进行跟踪)。
我正在使用 Bosun 收集有关硬盘平均响应时间的信息 (win.disk.duration
),它生成的图表如下:
我知道这是显示 WMI 报告值的变化率,AvgDiskSecPerRead
。
我想要做的是对这个计算值进行下采样,取一段时间内的最大值。但是,如果我将 Max
的下采样设置为 5m
的 window,我会得到:
注意 Y 轴比例变化。
如何降低采样率以获得我期望的结果(或者为什么我要求的没有意义)?
看来这个转换是将聚合应用于一阶导数。这是 example using win.disk.duration
metric from scollector but on a different backend.
- 原始数据表示重置后的计数器。
- 一阶导数计算用户定义的时间间隔(1 秒)内的变化率。默认情况下,负增量作为重置处理,但此行为可以 controlled 和
rate-counter=true|false
参数。 - 聚合函数
max
应用于用户定义时间段(5 分钟)内的费率。
不过,我建议使用 95 百分位函数而不是 max
。 p95
统计数据允许您从分析中 discards 不频繁的峰值。
免责声明:我为 Axibase 工作。
目前,由于这是一个计数器,您无法使用 OpenTSDB(由于问题标签,我假设您正在使用的数据源)对其进行正确的下采样。这是因为 OpenTSDB 在设计过程中出现了数学错误,并且尚未修复。更多信息在此 Google groups thread。总之,速率计算(导数)需要在操作顺序上靠前
此外,请注意,目前我们这边 (scollector) 似乎搞砸了一个相关指标 win.disk.percent_time
,该指标仍然需要研究(在此 issue 中进行跟踪)。