【问题标题】:InfluxDB: Empty tags cause field to be 0InfluxDB:空标签导致字段为0
【发布时间】:2021-02-03 03:14:15
【问题描述】:

我有一个 python 工作者,只要值存在,它就会使用 tags 值向 influxDB 发送测量值。当这个tags 值不存在时,我将tags 设置为空字典。

def emit_measurements(self, values: Dict, tags: Optional[Dict[str, str]] = None):

    if tags is None:
        tags = {}
    
    measurement = {
        "measurement": "some_name",
        "tags": tags,
        "time": datetime.now(tz=pytz.UTC).isoformat(),
        "fields": values,
    }

    self._influx_client.write_points([measurement])

在我的 influx 数据库中,每当tags 不存在时,我都会看到字段的正确值,但是一旦使用tags 发出一个事件,所有字段都会变为 0 并保持不变。

(我假设只要存在tags,测量表就会损坏,这会导致每个字段值都为0)

这个tags 可以在某些事件不发出的情况下是可选的吗?

【问题讨论】:

  • “所有字段都变为 0”是什么意思?你的意思是所有以前存储的数据都更新为 0?
  • 不,更像是后面的数据设置为0

标签: python database grafana influxdb influxdb-python


【解决方案1】:

是的,标签是测量的可选元数据。

引用tags documentation

InfluxDB 数据结构中记录的键值对 元数据。标签是数据结构的可选部分,但它们 对于存储常用查询的元数据很有用;标签被索引,所以 对标签的查询是高效的。查询提示:将标签与字段进行比较; 字段未编入索引。

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 1970-01-01
    • 2020-08-24
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-31
    • 2023-02-18
    相关资源
    最近更新 更多