Da der check_mk-Agent für pfSense nicht mehr weiter entwickelt wird und seit pfSense 2.3 nicht mehr als Paket bereit steht, anbei der manuelle Weg die Firewall wieder mittels check_mk zu überwachen.
Voraussetzungen:
pkg install -y bash
pkg install -y nano
Nun die Arbeitsverzeichnisse erstellen:
mkdir -p /opt/bin
mkdir -p /opt/etc/xinetd.d
Jetzt das check_mk-Agent-Paket herunterladen:
(https://github.com/tribe29/checkmk/blob/master/agents/check_mk_agent.freebsd)
curl --output /opt/bin/check_mk_agent https://raw.githubusercontent.com/tribe29/checkmk/master/agents/check_mk_agent.freebsd
Das Skript ausführbar machen:
chmod +x /opt/bin/check_mk_agent
Erster Zwischentest (hier sollte nun System-Output über die Konsole laufen):
/opt/bin/check_mk_agent
Danach noch die Konfiguration anpassen (Copy & Paste):
nano /opt/etc/xinetd.d/check_mk
# +------------------------------------------------------------------+
# | ____ _ _ __ __ _ __ |
# | / ___| |__ ___ ___| | __ | \/ | |/ / |
# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
# | | |___| | | | __/ (__| < | | | | . \ |
# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
# | |
# | Copyright Mathias Kettner 2014 (Aktiviere JavaScript, um die Email-Adresse zu sehen) |
# +------------------------------------------------------------------+
#
# 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
}
Anschließend müssen die Filter-Einstellungen angepasst werden (funktioniert bei der neusten Version nicht mehr mit Zeilenangabe):
nano + 2362 /etc/inc/filter.inc
Hier muss die folgende Zeile eingefügt werden:
fwrite($xinetd_fd, "includedir /opt/etc/xinetd.d");
fclose($xinetd_fd); // Close file handle
Das kann auch per Script erledigt werden:
#!/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
Abschließend müssen die Anpassungen noch geladen werden:
https://[my-pfsense]/status_filter_reload.php („Reload“ drücken!)
Jetzt kann die Funktionalität geprüft werden:
telnet localhost 6556
Hinweis: nach einem Software Update der pfSense müssen die Filter-Einstellungen neu durchgeführt werden.
(Quelle: https://neu.lu/2017/03/pfsense-2-3-mit-check_mk-agent/)
Hi ,
danke für die Anleitung. Ich komme nur nicht bei dem Einfügen der Zeile in die filter.inc weiter.
Das Script wird nicht in der 2.5.2 nicht ausgeführt: „command unknown “
Haben Sie einen Auszug aus der Datei in dem ich sehen kann wie es genau aussehen muss?
Das würde sehr helfen !
Danke