Hi Sebastian,
danke für die fixe Antwort.
Es gibt mehrere "GPU Core" Werte, die dann in der JSON Struktur landen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
{ "Id": "622b51c8-d8a7-465c-95fc-d280faedc0e0",
"Topic": "cave/greyhoundPC/gpu",
"Title": "GPU MQTT",
"Message": "",
"Data": [
{
"Name": "GPU Core",
"Unit": "%",
"Value": 0.0
},
{
"Name": "GPU Core",
"Unit": "V",
"Value": 0.0
},
{
"Name": "GPU Core",
"Unit": "°C",
"Value": 30.0
},
{
"Name": "GPU Core",
"Unit": "MHz",
"Value": 0.0
}
]
}
|
In dem Falle muss ich jetzt ein gesondertes Behandlungsskript schreiben, was dann auf Basis der Units und Namen die Werte richtig in Influx gibt - sonst könnte ich einfach einen simplen JSON Parser in telegraf verwenden:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
|
[[inputs.mqtt_consumer]]
servers = ["tcp://127.0.0.1:1883"]
topics = [
"cave/greyhoundPC/#",
]
data_format = "json_v2"
[[inputs.mqtt_consumer.json_v2]]
measurement_name = "mqtt_computer"
[[inputs.mqtt_consumer.json_v2.object]]
path = "Data"
tags = ["Name"]
included_keys = ["Value", "Unit"]
|
Hilfreich wäre da, wenn man die Werte im Namen einfach direkt schon irgendwo umbennen könnte... entweder im Output oder direkt im AS Service, dann könnte man aus "GPU Core" gleich "GPU Core Frequency" machen etc.
Das zweite Thema ist die MQTT Nachrichten. Ich habe es wie gefolgt konfiguriert:
Hiermit müsste zu jeder vollen Minute beide Nachrichten auf den beiden Topics landen, zu beobachten ist allerdings, dann immer nur eine kommt. Wie ich eben festgestellt habe, variiert allerdings, welche dort landet. Die ersten beiden Nachrichten sind mittels der Rechtsklick "Test Output" Funtion gesendet worden, die dritte war dann die reguläre.
Generell wäre ein Timestamp in der JSON Struktur wahrscheinlich auch noch hilfreich für solche Dinge
Config siehe Anhang, allerdings als txt.