blob: 48a4d5584bf9d144625d376e324142588cb93cb3 (
plain)
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
28
29
|
#!/bin/sh
PATH=
SLEEP=/bin/sleep
DOAS=/usr/local/bin/doas
AWK=/usr/bin/awk
SYSCTL=/sbin/sysctl
SMARTCTL=/usr/local/sbin/smartctl
HOSTNAME="${COLLECTD_HOSTNAME:-localhost}"
INTERVAL="${COLLECTD_INTERVAL:-120}"
AWKOPTS="-v interval=${INTERVAL} -v host=${HOSTNAME}"
while true; do
$SYSCTL -e dev.cpu \
| $AWK ${AWKOPTS} -F '[.=]' '/temperature/ {printf "PUTVAL %s/thermal/temperature-cpu%s interval=%s N:%d\n", host, $3, interval, int($5)}'
$SYSCTL -e hw.acpi.thermal \
| $AWK ${AWKOPTS} -F "[.=]" '/temperature/ {printf "PUTVAL %s/thermal/temperature-%s interval=%s N:%d\n", host, $4, interval, int($6)}'
for i in $($SYSCTL -n kern.disks | $AWK '{for (i=NF; i!=0 ; i--) if(match($i, '/ada/')) print $i }' ); do
$DOAS $SMARTCTL -a -n standby /dev/$i \
| $AWK ${AWKOPTS} -v disk=$i '/Temperature_Celsius/ {printf "PUTVAL %s/thermal/temperature-%s interval=%s N:%s\n", host, disk, interval, $10}'
done
$SLEEP $INTERVAL
done
|