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 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 }
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/)