mirror of
https://github.com/librenms/librenms-agent.git
synced 2024-05-09 09:54:52 +00:00
I had some issues with the netcat / daemon implementation of the module. netcat was stallingor sometimes netcat did not return the full output of hddtemp. Running hddtemp directly without running it as a daemon is much more stable for me. This new version also does not give any stdout output when hddtemp is not installed or when no disks can be found. Running the script manually on a server does give stderr output for easy debugging.
36 lines
1.0 KiB
Bash
Executable File
36 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# LibreNMS agent to read HDD/SDD temperature using hddtemp
|
|
#
|
|
# Copyright (c) 2016 Exa-Omicron <http://exa.nl>
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by the
|
|
# Free Software Foundation, either version 3 of the License, or (at your
|
|
# option) any later version. Please see LICENSE.txt at the top level of
|
|
# the source code distribution for details.
|
|
#
|
|
# requires which, awk and sed
|
|
|
|
# If disks are missing, they can be added here:
|
|
disks="/dev/hd? /dev/sd?"
|
|
|
|
hddtemp=`which hddtemp 2>/dev/null`
|
|
|
|
if [ "${hddtemp}" != "" ]; then
|
|
if [ -x "${hddtemp}" ]; then
|
|
content=`${hddtemp} -q ${disks} 2>/dev/null | awk -F": " 'BEGIN{ ORS="" }{ print "|"$1"|"$2"|"$3"|";} ' | sed 's/°/\|/g';`
|
|
if [ "${content}" != "" ]; then
|
|
echo '<<<hddtemp>>>'
|
|
echo ${content}
|
|
echo
|
|
else
|
|
echo "no hddtemp compatible disks found" >&2
|
|
fi
|
|
else
|
|
echo "hddtemp not executable" >&2
|
|
fi
|
|
else
|
|
echo "hddtemp not installed" >&2
|
|
fi
|