Last active
April 7, 2022 20:05
-
-
Save jeffgeiger/5102259 to your computer and use it in GitHub Desktop.
A generic stand-in for munin-node written to run on AIX, may work elsewhere.
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/ksh | |
#Connected - echo basic info | |
echo "# munin node at `hostname`" | |
#watchdog timestamp | |
WD_TIME=$(perl -e 'print time') | |
#looped function | |
function main { | |
read cmd arg | |
if [ -n "$arg" ]; then | |
arg=$(echo $arg | sed 's/\^M//g') | |
else | |
cmd=$(echo $cmd | sed 's/\^M//g') | |
fi | |
case $cmd in | |
"list") | |
#echo "bdf cpu load memory uptime processes ps_zombies users" | |
echo $( ls -1 /opt/munin/plugins | tr '\n' ' ') | |
;; | |
"nodes") | |
echo `hostname` | |
echo "." | |
;; | |
"version") | |
echo "munin node on `hostname` version: KSH" | |
;; | |
"config") #check for $arg, error if none, else pass to config | |
if [ -f "/opt/munin/plugins/$arg" ]; then | |
/opt/munin/plugins/$arg config | |
else | |
echo "# Unknown service" | |
fi | |
echo "." | |
;; | |
"fetch") #check for $arg, error if none, else pass to fetch | |
if [ -f "/opt/munin/plugins/$arg" ]; then | |
/opt/munin/plugins/$arg | |
else | |
echo "# Unknown service" | |
fi | |
echo "." | |
;; | |
"quit") | |
exit 0 | |
;; | |
*) | |
echo "# Unknown command. Try list, nodes, config, fetch, version or quit" | |
;; | |
esac | |
} | |
while :; do | |
main | |
done | |
exit 0 | |
############### | |
# Notes | |
############### | |
# | |
#Add this to /etc/services: | |
#munin-node 4949/tcp | |
# | |
#And this to /etc/inetd.conf | |
#munin-node stream tcp nowait root /opt/munin/munin-node munin-node | |
# | |
#Plugins go in /opt/munin/plugins |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello!
Thanks for providing this script, it saves me from having to compile munin on an aging AIX system! ❤️
The line
arg=$(echo $arg | sed 's/\^M//g')
was giving me trouble as it didn't remove the^M
on my AIX box. However,arg=$(echo $arg | tr -d '\r')
does.Cheers! 🍻