问题描述
我想弄清楚如何将带时间戳的传感器数据记录到 VictoriaMetrics 的实例中。我有一个带有传感器的嵌入式控制器,每秒读取一次。我希望 VictoriaMetrics 每分钟轮询一次控制器,并将所有 60 个读数及其相关时间戳记录到 TSDB 中。
我有服务器和客户端在运行,测量系统指标很容易,但我找不到如何让嵌入式客户端报告一批传感器读数的例子,我也无法计算从文档中提取出来。
欢迎提供任何见解!
解决方法
VictoriaMetrics 支持通过 various protocols 获取数据。所有这些协议都支持批处理,即可以在单个请求中发送多个测量值。因此,您可以选择最适合的协议,将收集的测量结果批次插入到 VictoriaMetrics 中。例如,如果选择 Prometheus text exposition format 进行数据摄取,则一批指标可能如下所示:
measurement_name{optional="labels"} value1 timestamp1
...
measurement_name{optional="labels"} valueN timestampN
,
VictoriaMetrics 可以通过 HTTP 从配置的地址轮询(抓取)指标。它期望应用程序以说明文本格式返回度量值。说明文本格式与 Prometheus 兼容,因此其不同语言的 libraries 也将与 VictoriaMetrics 兼容。
还有一个操作指南,用于检测 golang 应用程序以通过 VictoriaMetrics here 公开指标和抓取。它描述了任何服务或应用程序的监控基础。