Um mit dem Zabbix die totale Anzahl aktiver Sessions auf einem PFsense zu ermitteln bietet sich das pfctl
Kommando an
pfctl -s info | grep 'current entries' | awk '{print $3}'
Nur root kann dieses Kommando ausführen, also gibt das Probleme mit dem Zabbix User.
Als „Lösung“ habe ich bei mir mittels
chgrp zabbix /sbin/pfctl chmod +s /sbin/pfctl chmod o-rwx /sbin/pfctl
dem Zabbix User erlaubt das pfctl
Kommando als root auszuführen. Dazu muss man zuerst das Dateisystem schreibend einhängen: Diagnostics→NanoBSD→Switch to Read/Write
Will man pro Port wissen wieviele Sessions es gibt
pfctl -s state | grep -c ':PORT '
Die UserParamter
für den Zabbix-Agent schauen dann z.B. so aus
UserParameter=active.sessions,pfctl -s info|grep 'current entries'|awk '{print $3}' UserParameter=active.sessions.port[*],pfctl -s state|grep -c ':$1 '
Zum Testen kann man vom Zabbix-Server aus mittels zabbix_get
schauen ob man Antworten bekommt
zabbix_get -s PFSENSE_IP -k active.sessions zabbix_get -s PFSENSE_IP -k active.sessions.port\[80\]
Dann wie immer Items
im Zabbix erzeugen und falls gewünscht auch entsprechende Trigger