Last active
January 22, 2018 11:11
-
-
Save halmartin/d975cac355f7416bb8e2750913665c39 to your computer and use it in GitHub Desktop.
FreeBSD: collectd metrics for Intel S1200BTL CPU, BMC, and PSU
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
HOSTNAME="${COLLECTD_HOSTNAME:-`hostname -f`}" | |
INTERVAL="${COLLECTD_INTERVAL:-30}" | |
while sleep "$INTERVAL"; do | |
/sbin/sysctl -a | awk -F'[. ]' '/dev\.cpu\.[0-9]\.temperature/ {printf "%s %s\n",$3,$5}'|while read c t | |
do | |
echo "PUTVAL \"$HOSTNAME/temperature/temperature-cpu${c}\" interval=$INTERVAL N:${t%%.*}" | |
done | |
ipmi_output=$(/usr/local/bin/ipmitool sensor) | |
echo "$ipmi_output" | awk -F"|" '/Front Panel Temp/ {printf "%d\n",$2}'|while read c | |
do | |
echo "PUTVAL \"$HOSTNAME/temperature/temperature-ambient\" interval=$INTERVAL N:${c%%.*}" | |
done | |
echo "$ipmi_output" | awk -F"|" '/Board Inlet TEMP/ {printf "%d\n",$2}'|while read c | |
do | |
echo "PUTVAL \"$HOSTNAME/temperature/temperature-mb\" interval=$INTERVAL N:${c%%.*}" | |
done | |
echo "$ipmi_output" | awk -F"|" '/HSBP Temp/ {printf "%d\n",$2}'|while read c | |
do | |
echo "PUTVAL \"$HOSTNAME/temperature/temperature-bp\" interval=$INTERVAL N:${c%%.*}" | |
done | |
echo "$ipmi_output" | awk -F"|" '/PS1 Temperature/ {printf "%d\n",$2}'|while read c | |
do | |
echo "PUTVAL \"$HOSTNAME/temperature/temperature-psu\" interval=$INTERVAL N:${c%%.*}" | |
done | |
echo "$ipmi_output" | awk -F"|" '/BMC Board TEMP/ {printf "%d\n",$2}'|while read c | |
do | |
echo "PUTVAL \"$HOSTNAME/temperature/temperature-bmc\" interval=$INTERVAL N:${c%%.*}" | |
done | |
echo "$ipmi_output" | awk -F"[| ]" '/Sys Fan [1-3]/ {printf "%s %d\n",$3,$13}'|while read c t | |
do | |
echo "PUTVAL \"$HOSTNAME/rpm/count-fan${c}\" interval=$INTERVAL N:${t%%.*}" | |
done | |
echo "$ipmi_output" | awk -F"|" '/PS1 Power In/ {printf "%d\n",$2}'|while read c | |
do | |
echo "PUTVAL \"$HOSTNAME/power/power-ps1\" interval=$INTERVAL N:${c%%.*}" | |
done | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment