Module: check_mk
Branch: master
Commit: 467d4b81c73199d60d990b0364e3b383fa82cad4
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=467d4b81c73199…
Author: Bastian Kuhn <bk(a)mathias-kettner.de>
Date: Wed Mar 11 14:03:25 2015 +0100
#1228 Linux Agent: Now supports systemd
The Check_MK Linux Agent installation packet now supports systemd based systems.
---
.werks/1228 | 11 +++++++++++
ChangeLog | 3 ++-
agents/check-mk-agent-1.2.7i1-1.noarch.rpm | Bin 20344 -> 21626 bytes
agents/check-mk-agent.spec | 17 +++++++++++++++--
agents/check-mk-agent_1.2.7i1-1_all.deb | Bin 17382 -> 17978 bytes
agents/systemd/check_mk.socket | 9 +++++++++
agents/systemd/check_mk@.service | 10 ++++++++++
7 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/.werks/1228 b/.werks/1228
new file mode 100644
index 0000000..75fe586
--- /dev/null
+++ b/.werks/1228
@@ -0,0 +1,11 @@
+Title: Linux Agent: Now supports systemd
+Level: 1
+Component: core
+Compatible: compat
+Version: 1.2.7i1
+Date: 1426078879
+Class: feature
+
+The Check_MK Linux Agent installation packet now supports systemd based systems.
+
+
diff --git a/ChangeLog b/ChangeLog
index 401285e..1ce4763 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,7 @@
1.2.7i1:
Core & Setup:
* 1759 Packed RPM and DEB agent packages are now shipped with normal Check_MK
package...
+ * 1228 Linux Agent: Now supports systemd...
* 1791 FIX: Fix problem where many bogus RRD files for Check_MK service would be
created...
* 1792 FIX: Fix path to special agents in case of manual installation
* 1797 FIX: Fix incomplete configuration during checking when using CMC...
@@ -119,8 +120,8 @@
* 1226 mysql: New check to show the version of the mysql deamon
* 2100 if64: check can now impose limits on the number of outgoing and incoming
non-unicast packets per second
* 1227 mysql_ping: New Check to detect misconfiguration of the mk_mysql plugin
- * 2102 mbg_lantime_ng_fan, mbg_lantime_ng_state, mbg_lantime_state: new checks for
Meinberg LANTIME Clocks supporting the new MBG-LANTIME-NG-MIB
* 2134 winperf_phydisk: allow device to appear more than one time in agent output...
+ * 2102 mbg_lantime_ng_fan, mbg_lantime_ng_state, mbg_lantime_state: new checks for
Meinberg LANTIME Clocks supporting the new MBG-LANTIME-NG-MIB
* 1457 FIX: logins: new check renamed from "users" check...
NOTE: Please refer to the migration notes!
* 1762 FIX: lnx_thermal: Now ignoring trip points with level 0...
diff --git a/agents/check-mk-agent-1.2.7i1-1.noarch.rpm
b/agents/check-mk-agent-1.2.7i1-1.noarch.rpm
index ad6c56d..7817919 100644
Binary files a/agents/check-mk-agent-1.2.7i1-1.noarch.rpm and
b/agents/check-mk-agent-1.2.7i1-1.noarch.rpm differ
diff --git a/agents/check-mk-agent.spec b/agents/check-mk-agent.spec
index 82639f4..1f0a810 100644
--- a/agents/check-mk-agent.spec
+++ b/agents/check-mk-agent.spec
@@ -49,8 +49,13 @@ R=$RPM_BUILD_ROOT
rm -rf $R
# install agent
+# xinitd
mkdir -p $R/etc/xinetd.d
install -m 644 xinetd.conf $R/etc/xinetd.d/check_mk
+# Systemd
+mkdir -p $R/etc/systemd/system
+install -m 644 systemd/check_mk\@.service $R/etc/systemd/system
+install -m 644 systemd/check_mk.socket $R/etc/systemd/system
mkdir -p $R/etc/check_mk
mkdir -p $R/usr/bin
install -m 755 check_mk_agent.linux $R/usr/bin/check_mk_agent
@@ -67,6 +72,8 @@ rm -rf $RPM_BUILD_ROOT
%files
%config(noreplace) /etc/xinetd.d/check_mk
+%config(noreplace) /etc/systemd/system/check_mk@.service
+%config(noreplace) /etc/systemd/system/check_mk.socket
/etc/check_mk
/usr/bin/*
/usr/lib/check_mk_agent
@@ -74,11 +81,15 @@ rm -rf $RPM_BUILD_ROOT
%define reload_xinetd if [ -x /etc/init.d/xinetd ] ; then if pgrep -x xinetd
>/dev/null ; then echo "Reloading xinetd..." ; /etc/init.d/xinetd reload ;
else echo "Starting xinetd..." ; /etc/init.d/xinetd start ; fi ; fi
-%define activate_xinetd if which chkconfig >/dev/null 2>&1 ; then echo
"Activating startscript of xinetd" ; chkconfig xinetd on ; fi
+%define reload_xinetd_systemd if [ ! -x /etc/init.d/xinetd ] && [ -x
/usr/sbin/xinetd ]; then if pgrep -x xinetd >/dev/null ; then echo "Reloading
xinetd..." ; service xinetd reload ; else echo "Starting xinetd..." ;
service init.d/xinetd start ; fi ; fi
+
+%define activate_xinetd if [ -x /usr/bin/xinted ] && [ which chkconfig
>/dev/null 2>&1 ] ; then echo "Activating startscript of xinetd" ;
chkconfig xinetd on ; fi
%define cleanup_rpmnew if [ -f /etc/xinetd.d/check_mk.rpmnew ] ; then rm
/etc/xinetd.d/check_mk.rpmnew ; fi
+%define systemd_enable if [ -x /usr/bin/systemctl ] && [ ! -x /usr/sbin/xinetd ]
; then echo "Enable Check_MK_Agent in systemd..." ; systemctl enable
check_mk.socket ; systemctl restart sockets.target ; fi
+
%pre
-if [ ! -x /etc/init.d/xinetd ] ; then
+if [ ! -x /usr/sbin/xinetd ] && [ ! -x /usr/bin/systemctl ] ; then
echo
echo "---------------------------------------------"
echo "WARNING"
@@ -98,6 +109,8 @@ fi
%cleanup_rpmnew
%activate_xinetd
%reload_xinetd
+%reload_xinetd_systemd
+%systemd_enable
%postun
%reload_xinetd
diff --git a/agents/check-mk-agent_1.2.7i1-1_all.deb
b/agents/check-mk-agent_1.2.7i1-1_all.deb
index ca12830..8472be6 100644
Binary files a/agents/check-mk-agent_1.2.7i1-1_all.deb and
b/agents/check-mk-agent_1.2.7i1-1_all.deb differ
diff --git a/agents/systemd/check_mk.socket b/agents/systemd/check_mk.socket
new file mode 100644
index 0000000..93d45d1
--- /dev/null
+++ b/agents/systemd/check_mk.socket
@@ -0,0 +1,9 @@
+[Unit]
+Description=Check_MK Agent Socket
+
+[Socket]
+ListenStream=6556
+Accept=true
+
+[Install]
+WantedBy=sockets.target
diff --git a/agents/systemd/check_mk@.service b/agents/systemd/check_mk@.service
new file mode 100644
index 0000000..a15fd47
--- /dev/null
+++ b/agents/systemd/check_mk@.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Check_MK
+
+[Service]
+ExecStart=/usr/bin/check_mk_agent
+
+User=root
+Group=root
+
+StandardInput=socket