forked from librenms/librenms-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ups-apcups.sh
executable file
·30 lines (29 loc) · 1.37 KB
/
ups-apcups.sh
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
30
#!/usr/bin/env bash
################################################################
# copy this script to /etc/snmp/ and make it executable: #
# chmod +x /etc/snmp/ups-apcups.sh #
# ------------------------------------------------------------ #
# edit your snmpd.conf and include: #
# extend ups-apcups /etc/snmp/ups-apcups.sh #
#--------------------------------------------------------------#
# restart snmpd and activate the app for desired host #
#--------------------------------------------------------------#
# please make sure you have the path/binaries below #
################################################################
BIN_APCS='/sbin/apcaccess'
BIN_TR='/usr/bin/tr'
BIN_CUT='/usr/bin/cut'
BIN_GREP='/usr/bin/grep'
################################################################
# Don't change anything unless you know what are you doing #
################################################################
TMP=$($BIN_APCS 2>/dev/null)
for value in "^LINEV:[0-9]+" "LOADPCT:[0-9.]+" "BCHARGE:[0-9.]+" "TIMELEFT:[0-9.]+" "^BATTV:[0-9.]+" "NOMINV:[0-9]+" "NOMBATTV:[0-9.]+"
do
OUT=$(echo "$TMP" | $BIN_TR -d ' ' | $BIN_GREP -Eo "$value" | $BIN_CUT -d ":" -f 2)
if [ -n "$OUT" ]; then
echo "$OUT"
else
echo "Unknown"
fi
done