Collect RaspberryPi CPU and GPU temperature with telegraf
- Add this to you telegraf.conf
[[inputs.file]]
files = ["/sys/class/thermal/thermal_zone0/temp"]
name_override = "cpu_temperature"
data_format = "value"
data_type = "integer"
[[inputs.exec]]
commands = [ "/opt/vc/bin/vcgencmd measure_temp" ]
name_override = "gpu_temperature"
data_format = "grok"
grok_patterns = ["%{NUMBER:value:float}"]
- Add telegraf user to video group
sudo usermod -G video telegraf
sudo service telegraf stop;sudo service telegraf start
- Run test
telegraf -config /etc/telegraf/telegraf.conf -test
- Copy
telegraf_pi_temp.sh
to/usr/local/bin/telegraf_pi_temp.sh
- Modify file permissions
chmod +x /usr/local/bin/telegraf_pi_temp.sh
- Add
telegraf
user to video groupsudo usermod -G video telegraf
sudo service telegraf restart
orsudo reboot
- Add to your telegraf.conf snippet from
telegraf.conf
- Run test
telegraf -config /etc/telegraf/telegraf.conf -test
To get a human readable cpu temperature divide it by 1000 (in grafana use the math(/ 1000) function
{"cpu":54768, "gpu":54.8}