[英]parsing JSON with Telegraf
我是 Influx 2.0 和 Telegraf 的新手,我正在尝试使用此 file.conf 解析我的传感器数据:
[[outputs.influxdb_v2]]
urls = ["http://127.0.0.1:8086"`]
token = ""
organization = ""
bucket = ""
[[inputs.http]]
name_override = "mysensor"
username = "xxxxxxx"
password = "xxxxxxx"
urls = [
"http://mon.mysensors.it/sensor.php",
]
insecure_skip_verify = true
method = "GET"
timeout = "5s"
data_format = "json"
这里是.php页面:
{
"getdata":"S",
"datetime":"16-05-2022 17:58:05",
"temp_sitoa":"20.7 C",
"temp_sitoa_state":"OK",
"temp_sitob":"24.1 C",
"temp_sitob_state":"WARNING",
"hum_sitob":"33%",
"hum_sitob_state":"OK",
"temp_sitoi":"19.9 C",
"temp_sitoi_state":"OK"
}
我怎样才能得到“temp_sitob”的价值? 谢谢
您正在寻找json 解析器的json_string_fields
选项。
对于一个有效的指标,您需要有一个字段,并且字段不能是字符串。 如果您查看数据,一切都是字符串。 这就是没有创建指标的原因。 但是,如果您使用json_string_fields
选项指定一个字符串用作字段,则可以获得数据。 我正在使用file
输入来演示这一点:
[[inputs.file]]
files = ["data.json"]
data_format = "json"
json_string_fields = ["temp_sitob"]
file temp_sitob="24.1 C" 1653506475000000000
理想情况下,您的数据中将包含一些数字数据,以便更轻松地在 InfluxDB 中绘制图表。 您也可以使用 telegraf 中的各种处理器来转换数据类型!
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.