telegraf - Telegraf 可以在网络中断期间将指标数据存储在本地系统上,然后再转发吗?
问题描述
我们的物联网设备大部分都很好地连接到互联网,但网络有可能出现故障。对于这种情况,设备本身会做正确的事情(虽然它不能再被主动控制)。我们仍然希望获取网络停机时间的指标数据。
这意味着设备本地电报需要收集指标数据,存储它并检查网络连接。如果网络(再次)启动,则例如转发到 influxDB。
是否可以使用 Telegraf/InfluxDB 或 prometheus 来实现这种情况?
解决方案
Telegraf 无法在发生故障时将指标存储在本地驱动器上。但是,可以缓冲未成功发送的指标(我相信 RAM)并在成功写入时刷新缓冲区。查看metric_buffer_limit
Telegraf 配置中的选项:
# Configuration for telegraf agent
[agent]
## For failed writes, telegraf will cache metric_buffer_limit metrics for each
## output, and will flush this buffer on a successful write. Oldest metrics
## are dropped first when this buffer fills.
## This buffer only fills when writes fail to output plugin(s).
metric_buffer_limit = 10000
这样,只要您不溢出此缓冲区,在 InfluxDB 关闭时收集的指标仍将保留并稍后重新发送。
编辑:您可以在此处跟踪类似的功能请求。
推荐阅读
- r - units::set_units() 无法识别变量中的单位
- javascript - 如何使用 AJAX 和 PHP 生成 .doc
- state - 发票状态问题:在创建新发票后立即支付发票状态,保存后(未验证)
- swift - 由屏幕触摸控制的两个对象之间的 SpriteKit 碰撞问题
- java - 如何有效地根据某个特征引用指定的按钮
- github - 持续集成
- android - Android-Firebase 实时数据库在更新后停止工作
- ssl - SSL/TLS 更改密码规范
- maven - Maven构建战争不更新代码
- android - 尝试设置默认应用时 Android 设置崩溃(基于主机的卡模拟)