Hey there,
for my headless linux rig I've configured munin to be able to watch the system status from remote. Additionally to the default installation I've added munin plugins to show the current GPU temperature, load, fan speed and the hashrate.
It is not a big deal but maybe somebody has use for them.
Required is a working munin installation. If you do not have one there are plenty of tutorials available on the net.
Simply copy those plugins to the /etc/munin/plugins directory, modify them for your needs, make them executable (chmod +x), restart munin-node and after ~10-15 minutes you should see the graphs appearing.
Disclaimer: I am not responsible for any damages caused by these scripts.
gpu_fansYou might want to modify the number of GPUs (add or delete the lines) and change the labels according to your needs#!/bin/sh
case $1 in
config)
cat <<'EOM'
graph_title fan speed
graph_vlabel percent
gpu0.label 5830_0
gpu1.label 5830_1
gpu2.label 5830_2
gpu3.label 6870
EOM
exit 0;;
esac
echo -n "gpu0.value "; DISPLAY=:0.0 aticonfig --pplib-cmd "get fanspeed 0" | awk '/Result/ {print $4}' | cut -d "%" -f1
echo -n "gpu1.value "; DISPLAY=:0.1 aticonfig --pplib-cmd "get fanspeed 0" | awk '/Result/ {print $4}' | cut -d "%" -f1
echo -n "gpu2.value "; DISPLAY=:0.2 aticonfig --pplib-cmd "get fanspeed 0" | awk '/Result/ {print $4}' | cut -d "%" -f1
echo -n "gpu3.value "; DISPLAY=:0.3 aticonfig --pplib-cmd "get fanspeed 0" | awk '/Result/ {print $4}' | cut -d "%" -f1
gpu_temperatureYou might want to modify the number of GPUs (add or delete the lines) and change the labels according to your needs#!/bin/sh
case $1 in
config)
cat <<'EOM'
graph_title temperature
graph_vlabel celsius
gpu0.label 5830_0
gpu1.label 5830_1
gpu2.label 5830_2
gpu3.label 6870
EOM
exit 0;;
esac
echo -n "gpu0.value "; DISPLAY=:0 aticonfig --odgt --adapter=0 | awk '/Sensor/ {print $5}'
echo -n "gpu1.value "; DISPLAY=:0 aticonfig --odgt --adapter=1 | awk '/Sensor/ {print $5}'
echo -n "gpu2.value "; DISPLAY=:0 aticonfig --odgt --adapter=2 | awk '/Sensor/ {print $5}'
echo -n "gpu3.value "; DISPLAY=:0 aticonfig --odgt --adapter=3 | awk '/Sensor/ {print $5}'
gpu_loadYou might want to modify the number of GPUs (add or delete the lines) and change the labels according to your needs#!/bin/sh
case $1 in
config)
cat <<'EOM'
graph_title current load
graph_vlabel load
gpu0.label 5830_0
gpu1.label 5830_1
gpu2.label 5830_2
gpu3.label 6870
EOM
exit 0;;
esac
echo -n "gpu0.value "; DISPLAY=:0 aticonfig --odgc --adapter=0 | awk '/load/ {print $4}' | cut -d "%" -f1
echo -n "gpu1.value "; DISPLAY=:0 aticonfig --odgc --adapter=1 | awk '/load/ {print $4}' | cut -d "%" -f1
echo -n "gpu2.value "; DISPLAY=:0 aticonfig --odgc --adapter=2 | awk '/load/ {print $4}' | cut -d "%" -f1
echo -n "gpu3.value "; DISPLAY=:0 aticonfig --odgc --adapter=3 | awk '/load/ {print $4}' | cut -d "%" -f1
hashrateYou have to insert your Deepbit API key.
This works for deepbit, if you are using another pool you need to modify the URL accessed. Maybe also the commands to cut the raw value out of the JSON have to be modified#!/bin/sh
case $1 in
config)
cat <<'EOM'
graph_title hashrate
graph_vlabel hashrate
rate.label hashrate
EOM
exit 0;;
esac
echo -n "rate.value "; curl -s http://deepbit.net/api/<API KEY> | awk -F, '{print $2}' | cut -d":" -f2
If everything works you will get graphs like this:
If you have any questions or something isnt working just ask!