如果您是InfluxData社区的成员,那么您可能希望在某些时候跨测量执行数学运算。你做了一些谷歌搜索并偶然发现了这个GitHub问题3552并且流下了一滴小小的泪水。好吧,今天我成了好消息的承载者。InfluxData发布了Flux的技术预览,Flux是一种新的查询语言和时间序列数据引擎,它具有跨测量执行数学运算的能力。
在本文中,我将分享两个如何跨测量执行数学运算的示例:
- 如何计算每个请求写入数据库的行的批量大小。以下示例是探索测量数学的最快方法。您可以简单地启动并运行沙箱,然后复制并粘贴代码以自行尝试。
- 如何“监控”热交换器的效率随着时间的推移。您可以找到此部件的数据集和Flux查询位于此仓库中。
如何计算每个请求写入数据库的行的批量大小
克隆沙箱并运行后./sandbox up
,您将使整个TICK堆栈以容器化方式运行。“telegraf”数据库包含从本地计算机收集的多个指标。要计算要收集和写入InfluxDB的度量的批量大小,我们需要找到随时间写入数据库的行数,并将该值除以同一时间段内的写入请求数。
首先,过滤数据以隔离所写的写请求数和写入的行数。将该数据分别存储在两个表中,“httpd”和“write”。
httpd = from(bucket:"telegraf/autogen") |> range(start: dashboardTime) |> filter(fn:(r) => r._measurement == "influxdb_httpd" and r._field == "writeReq")
write = from(bucket:"telegraf