Module: check_mk
Branch: master
Commit: f35b8038cd506346f216d5c850bc16429244fd35
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=f35b8038cd5063…
Author: Lars Michelsen <lm(a)mathias-kettner.de>
Date: Fri Apr 6 11:47:38 2018 +0200
5948 docker_container_mem: Docker container specific memory checking
Instead of using the default linux memory check (mem), Check_MK is now
using the container specific memory check.
The main reason is that the memory information in the container is not
available through <tt>/proc/meminfo</tt> as usual. The memory data is
available
through the kernels cgroup interface which is available in the containers
context below <tt>/sys/fs/cgroup/memory/memory.stat</tt>
The features of both checks are exactly the same.
Change-Id: I3e7b229cfb550fd1b6c82105c449f8a648fed59e
---
.werks/5948 | 18 ++++++++++++++++++
agents/check_mk_agent.linux | 9 +++++++--
2 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/.werks/5948 b/.werks/5948
new file mode 100644
index 0000000..ebf66be
--- /dev/null
+++ b/.werks/5948
@@ -0,0 +1,18 @@
+Title: docker_container_mem: Docker container specific memory checking
+Level: 1
+Component: checks
+Compatible: compat
+Edition: cre
+Version: 1.5.0i4
+Date: 1523007246
+Class: feature
+
+Instead of using the default linux memory check (mem), Check_MK is now
+using the container specific memory check.
+
+The main reason is that the memory information in the container is not
+available through <tt>/proc/meminfo</tt> as usual. The memory data is
available
+through the kernels cgroup interface which is available in the containers
+context below <tt>/sys/fs/cgroup/memory/memory.stat</tt>
+
+The features of both checks are exactly the same.
diff --git a/agents/check_mk_agent.linux b/agents/check_mk_agent.linux
index 7db4db9..672fb3f 100755
--- a/agents/check_mk_agent.linux
+++ b/agents/check_mk_agent.linux
@@ -109,8 +109,13 @@ fi
function section_mem()
{
- echo '<<<mem>>>'
- egrep -v '^Swap:|^Mem:|total:' < /proc/meminfo
+ if [ -z "$MK_IN_CONTAINER" ]; then
+ echo '<<<mem>>>'
+ grep -E -v '^Swap:|^Mem:|total:' < /proc/meminfo
+ else
+ echo '<<docker_container_mem>>>'
+ echo "$(</sys/fs/cgroup/memory/memory.stat)"
+ fi
}
function section_cpu()