Leider wird das Check_mk Agent Paket für Pfsense nicht weiter entwickelt. Deshalb muss man die Installation vom Check_mk Agent von Hand vornehmen.
Für den Check_mk Agent ist die Installation von Bash notwendig.
pkg install -y bash
Ausführen über Diagnostics Command Prompt.
Jetzt werden zwei Verzeichnisse erstellt.
mkdir -p /opt/bin
mkdir -p /opt/etc/xinetd.d
Darin wird der Check_mk Agent von Git geladen.
curl --output /opt/bin/check_mk_agent 'https://git.mathias-kettner.de/git/?p=check_mk.git;a=blob_plain;f=agents/check_mk_agent.freebsd;hb=HEAD'
Die Datei wird ausführbar gemacht.
chmod +x /opt/bin/check_mk_agent
Führt man den Check_mk agent aus, sieht man schon das Ergebnis.
/opt/bin/check_mk_agent
Unter Diagnostics Edit File kann man die Konfiguration anpassen.
/opt/etc/xinetd.d/check_mk
# +------------------------------------------------------------------+
# | ____ _ _ __ __ _ __ |
# | / ___| |__ ___ ___| | __ | \/ | |/ / |
# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
# | | |___| | | | __/ (__| < | | | | . \ |
# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
# | |
# | Copyright Mathias Kettner 2014 mk@mathias-kettner.de |
# +------------------------------------------------------------------+
#
# This file is part of Check_MK.
# The official homepage is at http://mathias-kettner.de/check_mk.
#
# check_mk is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation in version 2. check_mk is distributed
# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU General Public License for more de-
# ails. You should have received a copy of the GNU General Public
# License along with GNU Make; see the file COPYING. If not, write
# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA.
service check_mk
{
type = UNLISTED
port = 6556
socket_type = stream
protocol = tcp
wait = no
user = root
server = /opt/bin/check_mk_agent
# If you use fully redundant monitoring and poll the client
# from more then one monitoring servers in parallel you might
# want to use the agent cache wrapper:<br />
#server = /usr/bin/check_mk_caching_agent
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
# Don't be too verbose. Don't log every check. This might be
# commented out for debugging. If this option is commented out
# the default options will be used for this service.
log_on_success =
disable = no
} |
# +------------------------------------------------------------------+
# | ____ _ _ __ __ _ __ |
# | / ___| |__ ___ ___| | __ | \/ | |/ / |
# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
# | | |___| | | | __/ (__| < | | | | . \ |
# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
# | |
# | Copyright Mathias Kettner 2014 mk@mathias-kettner.de |
# +------------------------------------------------------------------+
#
# This file is part of Check_MK.
# The official homepage is at http://mathias-kettner.de/check_mk.
#
# check_mk is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation in version 2. check_mk is distributed
# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU General Public License for more de-
# ails. You should have received a copy of the GNU General Public
# License along with GNU Make; see the file COPYING. If not, write
# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA.
service check_mk
{
type = UNLISTED
port = 6556
socket_type = stream
protocol = tcp
wait = no
user = root
server = /opt/bin/check_mk_agent
# If you use fully redundant monitoring and poll the client
# from more then one monitoring servers in parallel you might
# want to use the agent cache wrapper:<br />
#server = /usr/bin/check_mk_caching_agent
# configure the IP address(es) of your Nagios server here:
#only_from = 127.0.0.1 10.0.20.1 10.0.20.2
# Don't be too verbose. Don't log every check. This might be
# commented out for debugging. If this option is commented out
# the default options will be used for this service.
log_on_success =
disable = no
}
Jetzt müssen wir die Filer-Einstellungen anpassen.
/etc/inc/filter.inc
In der Zeile 2380 muss noch eine Zeit eingefügt werden.
fwrite($xinetd_fd, "includedir /opt/etc/xinetd.d");
fclose($xinetd_fd); // Close file handle |
fwrite($xinetd_fd, "includedir /opt/etc/xinetd.d");
fclose($xinetd_fd); // Close file handle
Man kann die Änderung auch von einem Skript „/opt/filter_check_mk_cron“ durchführen lassen.
#!/bin/sh
grep includedir /etc/inc/filter.inc
if [ $? -eq 0 ]
then
exit 0
else
awk '/fclose\(\$xinetd_fd\)\;/{print "fwrite($xinetd_fd, \"includedir /opt/etc/xinetd.d\");"}1' /etc/inc/filter.inc > /etc/inc/filter.inc.temp
mv /etc/inc/filter.inc.temp /etc/inc/filter.inc
fi
exit 0 |
#!/bin/sh
grep includedir /etc/inc/filter.inc
if [ $? -eq 0 ]
then
exit 0
else
awk '/fclose\(\$xinetd_fd\)\;/{print "fwrite($xinetd_fd, \"includedir /opt/etc/xinetd.d\");"}1' /etc/inc/filter.inc > /etc/inc/filter.inc.temp
mv /etc/inc/filter.inc.temp /etc/inc/filter.inc
fi
exit 0
Das Script braucht auch Ausführungsrechte.
chmod +x /opt/filter_check_mk_cron
Nach dem Speichern der Datei /etc/inc/filter.inc müssen die Änderungen geladen werden. Das geschieht unter Status Filter Reload.
Jetzt kann man die Funktion prüfen.
telnet localhost 6556
Diese Anleitung ist eine Zusammenfassung von einem Forum Beitrag. Weiter Information zum Check_mk Agent gibt es in der Dokumentation.