Telegraf 聚合插件
Telegraf 聚合插件会在多个指标之间聚合数据。聚合插件会创建聚合指标——例如,通过实现平均值、最小值和最大值等统计函数。
基本统计
此插件计算一组指标的基本统计信息,如计数、差值、最小值、最大值、平均值、非负差值等,并每 period 发出这些统计值。
导数
此插件计算聚合指标的所有字段的导数。
最终
此插件发出连续序列的最后一个指标,该序列定义为在 series_timeout 的时间周期内接收更新的序列。连续序列可以比 period 定义的时间间隔长。当一个序列在 series_timeout 内未收到更新时,将发出最后一个指标。
或者,插件会为 periodic 输出策略发出 period 内的最后一个指标。
这对于获取生产离散时间序列(如 procstat、cgroup、kubernetes 等)的数据源的最终值,或对以更高频率收集的指标进行降采样非常有用。
所有发出的指标的字段名称默认都带有 _final 后缀。
直方图
此插件创建直方图,其中包含配置范围内字段值的计数。直方图指标每 period 发出一次。
在 cumulative 模式下,添加到存储桶的值也会添加到分布的连续存储桶中,创建一个累积直方图。
默认情况下,存储桶计数在周期之间不会重置,在 Telegraf 运行时会非严格递增。可以通过设置 reset 参数来改变此行为。
合并
此插件将相同系列和时间戳的指标合并为具有超级字段集的新指标。这里的系列由度量名称和标签键值集定义。
当字段分布在多个具有相同度量、标签集和时间戳的指标中时,请使用此插件。
最小值-最大值
此插件聚合每个字段的最小值和最大值,每 period 秒发出一次聚合结果,字段名称分别附加 _min 和 _max 后缀。
分位数
此插件将每个数值字段按度量聚合到指定的量级,并每 period 发出量级。支持不同的聚合算法,具有不同的精度和限制。
Starlark
此插件允许通过 Starlark 脚本实现自定义聚合插件。
Starlark 语言是 Python 的方言,对于有 Python 语言经验的人来说会很熟悉。但是,存在重大差异。现有的 Python 代码不太可能在未修改的情况下正常工作。
执行环境是沙箱化的,无法访问本地文件系统或执行网络操作。这是 Starlark 语言作为配置语言的设计使然。
此插件使用的 Starlark 脚本需要由定义聚合器的三个方法组成:add、push 和 reset。
add 方法在新指标添加到插件时调用,将指标添加到聚合器。在 period 之后,调用 push 方法输出结果指标,最后通过使用 Starlark 脚本的 reset 方法重置聚合。
Starlark 函数可以使用全局函数 state 来保存聚合信息,例如已添加的指标等。
有关语法和可用函数的更多详细信息,请参阅Starlark 规范。
值计数器
此插件计算字段中唯一值的出现次数,并每 period 发出一次计数器,字段名称后缀为转换为 string 的唯一值。
要计数的字段必须使用 fields 设置进行配置,否则将不计数任何字段,也不会发出任何指标。
此插件对于例如在定义的 period 内计算 HTTP 状态码或其他分类值的出现次数非常有用。
计数具有大量潜在值的字段可能会产生大量新字段,并导致内存使用量增加。请注意仅计数具有有限值集的字段。
此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 Telegraf 和本文档提出反馈和 bug 报告。要获取支持,请使用以下资源
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。