pfSense 2.4 mit check_MK überwachen

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

Comments

  1. 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert