Module: check_mk
Branch: master
Commit: 822079232c6b64bc3794e802f9b205f172f7b8e9
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=822079232c6b64…
Author: Konstantin Büttner <kb(a)mathias-kettner.de>
Date: Mon Sep 11 10:51:43 2017 +0200
4805 AIX agent can now output spool files as well
Change-Id: I7f45b130c943a11030d38bb1e0b16dafa0fcae29
---
.werks/4805 | 10 ++++++++++
agents/check_mk_agent.aix | 40 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+)
diff --git a/.werks/4805 b/.werks/4805
new file mode 100644
index 0000000..f76f9fa
--- /dev/null
+++ b/.werks/4805
@@ -0,0 +1,10 @@
+Title: AIX agent can now output spool files as well
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.5.0i1
+Date: 1505119857
+Class: feature
+
+
diff --git a/agents/check_mk_agent.aix b/agents/check_mk_agent.aix
index 1a91b67..6f5f5a7 100755
--- a/agents/check_mk_agent.aix
+++ b/agents/check_mk_agent.aix
@@ -48,6 +48,10 @@ PLUGINSDIR=$MK_LIBDIR/plugins
# to online documentation for details.
LOCALDIR=$MK_LIBDIR/local
+# All files in SPOOLDIR will simply appended to the agent
+# output if they are not outdated (see below)
+SPOOLDIR=$MK_VARDIR/spool
+
#Avoid problems with wrong decimal separators in other language verions of aix
export LC_NUMERIC="en_US"
@@ -362,3 +366,39 @@ then
echo "(${PLUGIN##*/}) $descr $? $OUTPUT"
done
fi
+
+# Agent output snippets created by cronjobs, etc.
+if [ -d "$SPOOLDIR" ]
+then
+ pushd "$SPOOLDIR" > /dev/null
+ now=$(date +%s)
+
+ for file in *
+ do
+ # output every file in this directory. If the file is prefixed
+ # with a number, then that number is the maximum age of the
+ # file in seconds. If the file is older than that, it is ignored.
+ maxage=""
+ part="$file"
+
+ # Each away all digits from the front of the filename and
+ # collect them in the variable maxage.
+ while [ "${part/#[0-9]/}" != "$part" ]
+ do
+ maxage=$maxage${part:0:1}
+ part=${part:1}
+ done
+
+ # If there is at least one digit, than we honor that.
+ if [ "$maxage" ] ; then
+ mtime=$(stat -c %Y "$file")
+ if [ $((now - mtime)) -gt $maxage ] ; then
+ continue
+ fi
+ fi
+
+ # Output the file
+ cat "$file"
+ done
+ popd > /dev/null
+fi