我们的物联网设备大多与互联网连接良好,但网络可能会出现故障。对于这种情况,设备本身将做正确的事情(虽然它不能再被主动控制)。我们仍然希望获得网络停机时间的指标数据。
这意味着设备本地电报需要收集指标数据,存储它并检查网络连接。如果网络已启动(再次),则转发到例如涌入数据库。
是否可以使用Telegraf / InfluxDB或prometheus来实现这种情况?
答案 0 :(得分:0)
如果发生故障,Telegraf无法在本地驱动器上存储指标。但是,在缓冲区中发送失败的指标(我相信在RAM中)并在成功写入时刷新缓冲区。请查看Telegraf配置中的metric_buffer_limit
选项:
# 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关闭时收集的指标仍将保留并稍后重新发送。