From 2ab8da8d1b8914e9a3100555abaaefe370114ddd Mon Sep 17 00:00:00 2001 From: Jens Maus Date: Wed, 24 Oct 2018 10:14:52 +0200 Subject: [PATCH] added "waitmax" binary for CCU2 and CCU3 platform and propagated its use to the check_mk agent execution. Also implemented nfsmounts and cifsmounts outputs using waitmax. --- addon/addon/server.tcl | 14 +++++++++++--- addon/addon/waitmax-ccu2 | Bin 0 -> 7044 bytes addon/addon/waitmax-ccu3 | Bin 0 -> 6860 bytes addon/rc.d/check_mk_agent | 8 +++++++- 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100755 addon/addon/waitmax-ccu2 create mode 100755 addon/addon/waitmax-ccu3 diff --git a/addon/addon/server.tcl b/addon/addon/server.tcl index 77d3a9d..c83aa8b 100755 --- a/addon/addon/server.tcl +++ b/addon/addon/server.tcl @@ -34,10 +34,10 @@ proc handle_connection { channelId clientAddress clientPort } { if { [file exists /proc/net/tcp6] == 1 } { puts $channelId "<<>>" - puts $channelId "[exec cat /proc/net/tcp /proc/net/tcp6 2>/dev/null | awk { /:/ { c[$4]++; } END { for (x in c) { print x, c[x]; } } }]" + puts $channelId "[exec /usr/local/addons/check_mk_agent/waitmax -s 1 10 cat /proc/net/tcp /proc/net/tcp6 2>/dev/null | awk { /:/ { c[$4]++; } END { for (x in c) { print x, c[x]; } } }]" } else { puts $channelId "<<>>" - puts $channelId "[exec cat /proc/net/tcp 2>/dev/null | awk { /:/ { c[$4]++; } END { for (x in c) { print x, c[x]; } } }]" + puts $channelId "[exec /usr/local/addons/check_mk_agent/waitmax -s 1 10 cat /proc/net/tcp 2>/dev/null | awk { /:/ { c[$4]++; } END { for (x in c) { print x, c[x]; } } }]" } puts $channelId "<<>>" @@ -65,6 +65,14 @@ proc handle_connection { channelId clientAddress clientPort } { puts $channelId "<<>>" puts $channelId "[exec egrep ^(/dev|ubi) < /proc/mounts]" + if { [file exists /bin/stat] == 1 } { + puts $channelId "<<>>" + puts $channelId [exec sh -c {sed -n '/ nfs4\? /s/[^ ]* \([^ ]*\) .*/\1/p' >>" + puts $channelId [exec sh -c {sed -n '/ cifs\? /s/[^ ]* \([^ ]*\) .*/\1/p' >>" puts $channelId "[exec sh -c {ps ax -o user,vsz,rss,pid,args | sed -e 1d -e 's/ *\([^ ]*\) *\([^ ]*\) *\([^ ]*\) *\([^ ]*\) */(\1,0,0,00:00:00\/00:00:00,\4) /'}]" @@ -74,7 +82,7 @@ proc handle_connection { channelId clientAddress clientPort } { if { [file exists /usr/bin/ntpq] == 1 } { puts $channelId "<<>>" - puts $channelId "[exec ntpq -np | sed -e 1,2d -e {s/^\(.\)/\1 /} -e {s/^ /%/}]" + puts $channelId "[exec /usr/local/addons/check_mk_agent/waitmax 5 /usr/bin/ntpq -np | sed -e 1,2d -e {s/^\(.\)/\1 /} -e {s/^ /%/}]" } puts $channelId "<<>>" diff --git a/addon/addon/waitmax-ccu2 b/addon/addon/waitmax-ccu2 new file mode 100755 index 0000000000000000000000000000000000000000..16616051c9fde66348d99b9b7af2a423955fe910 GIT binary patch literal 7044 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 S4I44XRBbKn{;3#XW%pmHnSfjX literal 0 HcmV?d00001 diff --git a/addon/addon/waitmax-ccu3 b/addon/addon/waitmax-ccu3 new file mode 100755 index 0000000000000000000000000000000000000000..f2aeac01eac00d01257e851b8a6a2830c81b7de8 GIT binary patch literal 6860 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 literal 0 HcmV?d00001 diff --git a/addon/rc.d/check_mk_agent b/addon/rc.d/check_mk_agent index 9b482a4..4ab52eb 100755 --- a/addon/rc.d/check_mk_agent +++ b/addon/rc.d/check_mk_agent @@ -8,6 +8,12 @@ RCDDIR=/usr/local/etc/config/rc.d case "$1" in ""|start) + rm -f /usr/local/addons/${ADDONNAME}/waitmax 2>/dev/null + if [ "$(uname -m)" == "armv5tejl" ]; then + ln -s /usr/local/addons/${ADDONNAME}/waitmax-ccu2 /usr/local/addons/${ADDONNAME}/waitmax + else + ln -s /usr/local/addons/${ADDONNAME}/waitmax-ccu3 /usr/local/addons/${ADDONNAME}/waitmax + fi tclsh $ADDONDIR/server.tcl & ;; @@ -23,7 +29,7 @@ case "$1" in info) echo "Info: (Inoffical) check_mk agent" - echo "Version: 1.3" + echo "Version: 1.4" echo "Name: check_mk_agent" echo "Operations: uninstall restart" ;;