Telegraf 代理配置以避免指标缓冲区溢出
Telegraf agent configuration to avoid metric buffer overflow
在收到一些 指标缓冲区溢出 警告消息后,我试图更好地了解基本代理参数 interval
、metric_batch_size
、metric_buffer_limit
和 flush_interval
相互影响。
查看specification,这3个参数定义为:
- interval:所有输入的默认数据收集间隔
- metric_batch_size :Telegraf 将最多
metric_batch_size
个指标批量发送指标到输出。
- metric_buffer_limit :Telegraf 将为每个输出缓存
metric_buffer_limit
指标,并在成功写入时刷新此缓冲区。这应该是 metric_batch_size
的倍数并且不能小于 metric_batch_size
. 的 2 倍
- flush_interval :所有输出的默认数据刷新间隔。您不应将其设置在
interval
以下。最大值 flush_interval
将是 flush_interval
+ flush_jitter
我的理解是
- 数据仅在每个
flush_interval
时写入输出。
- 如果不能写入所有数据,则使用缓冲区存储。
我不太明白的是缓冲数据什么时候会再次写入输出?会在下一次 flush_interval
发生吗?
在此先感谢您对此的帮助!
感谢 Jay_Clifford
的回答和解决
Yes. Data will be sent at the next flush interval.
在收到一些 指标缓冲区溢出 警告消息后,我试图更好地了解基本代理参数 interval
、metric_batch_size
、metric_buffer_limit
和 flush_interval
相互影响。
查看specification,这3个参数定义为:
- interval:所有输入的默认数据收集间隔
- metric_batch_size :Telegraf 将最多
metric_batch_size
个指标批量发送指标到输出。 - metric_buffer_limit :Telegraf 将为每个输出缓存
metric_buffer_limit
指标,并在成功写入时刷新此缓冲区。这应该是metric_batch_size
的倍数并且不能小于metric_batch_size
. 的 2 倍
- flush_interval :所有输出的默认数据刷新间隔。您不应将其设置在
interval
以下。最大值flush_interval
将是flush_interval
+flush_jitter
我的理解是
- 数据仅在每个
flush_interval
时写入输出。 - 如果不能写入所有数据,则使用缓冲区存储。
我不太明白的是缓冲数据什么时候会再次写入输出?会在下一次 flush_interval
发生吗?
在此先感谢您对此的帮助!
感谢 Jay_Clifford
的回答和解决Yes. Data will be sent at the next flush interval.