Telegraf配置inputs.influxdb报错:指定字段未被使用求助
问题解决:Telegraf配置InfluxDB输入插件报错
错误原因
你用错了输入插件:[[inputs.influxdb]] 是用来采集InfluxDB服务自身监控指标(比如数据库连接数、写入速率等)的插件,它不需要token、org、bucket这些参数,所以配置里写了这些参数会被判定为未使用,导致加载失败。
而你的需求是从InfluxDB的桶中读取实时数据并发送到MQTT,应该使用专门用于查询InfluxDB 2.x数据的 [[inputs.influxdb_v2]] 插件。
修正后的配置示例
[[inputs.influxdb_v2]] # InfluxDB服务地址 urls = ["http://sitioweb:8086"] # 认证token token = "$_TOKEN" # 组织名 org = "my_org" # 要读取数据的桶 bucket = "recepcionData" # 查询语句:获取最近10秒的所有数据(和output的interval匹配) query = '''from(bucket: "recepcionData") |> range(start: -10s)''' [[outputs.mqtt]] servers = ["tcp://sitioweb:1883"] topic = "dataInflux/prueba" qos = 0 username = "publicador" password = "112323434" interval = "10s" metric_batch_size = 1000 data_format = "influx"
关键说明
query参数必须配置:它定义了你要从桶中读取哪些数据,示例中是读取最近10秒的全量数据,你可以根据实际需求修改(比如指定测量值、过滤标签等)。- 确保
interval(Telegraf的采集间隔)和查询语句中的start范围匹配,避免重复读取或遗漏数据。 - 验证
$_TOKEN是否有读取recepcionData桶的权限,避免后续出现权限错误。
内容的提问来源于stack exchange,提问作者FaMolano
相关产品推荐
相关产品推荐

