Module: check_mk
Branch: master
Commit: f5bdda2164c817a15b44fb4785bea248a1338ccd
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f5bdda2164c817…
Author: Simon Betz <si(a)mathias-kettner.de>
Date: Tue Apr 9 16:08:39 2019 +0200
7364 FIX check_mk_agent.{aix,solaris}: Fixed possibly disappeared inventory entries
On Linux hosts the HW/SW inventory plugin {{mk_inventory}} remembers the
remote address, ie. the Check_MK server, in order to know which host has
already got the inventory data for caching reasons.
The AIX and Solaris agent does not provide the remote host information.
This may lead to disappearing inventory data on Check_MK servers if at
least two Check_MK servers request data from the same client host which
does not know which server already got inventory data.
Change-Id: If117940d5191b0ef003cfeab6e83a9bc4b7291bc
---
.werks/7364 | 15 +++++++++++++++
agents/check_mk_agent.aix | 8 ++++++++
agents/check_mk_agent.solaris | 8 ++++++++
3 files changed, 31 insertions(+)
diff --git a/.werks/7364 b/.werks/7364
new file mode 100644
index 0000000..cad0da5
--- /dev/null
+++ b/.werks/7364
@@ -0,0 +1,15 @@
+Title: check_mk_agent.{aix,solaris}: Fixed possibly disappeared inventory entries
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.6.0i1
+Date: 1554818345
+Class: fix
+
+On Linux hosts the HW/SW inventory plugin {{mk_inventory}} remembers the
+remote address, ie. the Check_MK server, in order to know which server has
+already got the inventory data (for caching reasons).
+The AIX and Solaris agent does not provide the remote host information.
+This may lead to disappearing inventory data on Check_MK servers if at
+least two Check_MK servers request data from the same client host.
diff --git a/agents/check_mk_agent.aix b/agents/check_mk_agent.aix
index 9e0ba21..1081fb8 100755
--- a/agents/check_mk_agent.aix
+++ b/agents/check_mk_agent.aix
@@ -41,6 +41,14 @@ export MK_VARDIR=${MK_VARDIR:-/tmp/check_mk}
# Optionally set a tempdir for all subsequent calls
#export TMPDIR=
+# Provide information about the remote host. That helps when data
+# is being sent only once to each remote host.
+if [ "$REMOTE_HOST" ] ; then
+ export REMOTE=$REMOTE_HOST
+elif [ "$SSH_CLIENT" ] ; then
+ export REMOTE=${SSH_CLIENT%% *}
+fi
+
# All executables in PLUGINSDIR will simply be executed and their
# ouput appended to the output of the agent. Plugins define their own
# sections and must output headers with '<<<' and
'>>>'
diff --git a/agents/check_mk_agent.solaris b/agents/check_mk_agent.solaris
index e9ce799..b3e843b 100755
--- a/agents/check_mk_agent.solaris
+++ b/agents/check_mk_agent.solaris
@@ -35,6 +35,14 @@ export MK_VARDIR=${MK_VARDIR:-/var/lib/check_mk_agent}
# Optionally set a tempdir for all subsequent calls
#export TMPDIR=
+# Provide information about the remote host. That helps when data
+# is being sent only once to each remote host.
+if [ "$REMOTE_HOST" ] ; then
+ export REMOTE=$REMOTE_HOST
+elif [ "$SSH_CLIENT" ] ; then
+ export REMOTE=${SSH_CLIENT%% *}
+fi
+
# All executables in PLUGINSDIR will simply be executed and their
# ouput appended to the output of the agent. Plugins define their own
# sections and must output headers with '<<<' and
'>>>'