influxdb 的记录是以行协定存储的,行协定中蕴含 measurement、tag set、field set 和 timestamp。
拿到 measurement 的数据当前,如何晓得哪些是 tag 字段,哪些是 field 字段呢?
以上面的时序数据为例:
> select * from cpu_used_percent order by time limit 3
name: cpu_used_percent
time dstype endpoint step value
---- ------ -------- ---- -----
2021-07-13T08:42:00Z GAUGE dfe16db6-719f-4394-ad08-1bafd072576b 60 8.529119896523099
2021-07-13T08:42:00Z GAUGE dfe16db6-719f-4394-ad08-1bafd072576b 60 7.076256223852596
2021-07-13T08:42:00Z GAUGE dfe16db6-719f-4394-ad08-1bafd072576b 60 7.157941185740853
查问 tag 字段:
> show tag keys from cpu_used_percent;
name: cpu_used_percent
tagKey
------
dstype
endpoint
step
能够看到 dsType/endpoint/step 是 tag 字段,tag 的 value 是 string。
查问 field 字段:
> show field keys from cpu_used_percent;
name: cpu_used_percent
fieldKey fieldType
-------- ---------
value float
能够看到 value 是 field 字段,因为 value 能够是 float/int/string/bool 等类型,这里的 value 是 float。