#!/bin/sh # # OpenBSD's pf(4) monitoring for OpenBSD # 2007, Originally by Gergely Czuczy # for FreeBSD systems. Ported and splitted by the # immerda admin team admin(at)immerda.ch # this version is adapted for openbsd and is only tested on # openbsd systems. # # Needs to run as root. # Add "user root" for the [pf] into plugins.conf. # #%# family=auto #%# capabilities=autoconf pfctl='/sbin/pfctl' case $1 in config) cat </dev/null | awk '/^Status:/{print $2}'` != "Enabled" ]; then echo "no (pf(4) is not enabled, consult pfctl(8)" exit 0 fi # OpenBSD elif [ ${ostype} = "OpenBSD" ]; then # enabled? if [ `pfctl -si 2>/dev/null | awk '/^Status:/{print $2}'` != "Enabled" ]; then echo "no (pf(4) is not enabled, consult pfctl(8)" exit 0 fi # Other OSes else echo "no (this plugin is not supported on your OS)" exit 0 fi echo "yes" exit 0 ;; suggest) exit 0; ;; esac pfctl -sl | awk ' BEGIN { total=0 } { l=$1; f_packets=l; gsub(/[^a-z0-9A-Z]/, "_", f_packets); total=total+1; fields[f_packets]=fields[f_packets]+$3; } END { if ( total == 0 ) exit 0; for ( k in fields ) print k".value "fields[k] }'