diff options
-rw-r--r-- | net-mgmt/nagios-pf-plugin/Makefile | 1 | ||||
-rw-r--r-- | net-mgmt/nagios-pf-plugin/files/patch-check_pf.c | 74 |
2 files changed, 75 insertions, 0 deletions
diff --git a/net-mgmt/nagios-pf-plugin/Makefile b/net-mgmt/nagios-pf-plugin/Makefile index f1bc44cae6ca..55d4b234014c 100644 --- a/net-mgmt/nagios-pf-plugin/Makefile +++ b/net-mgmt/nagios-pf-plugin/Makefile @@ -7,6 +7,7 @@ PORTNAME= nagios-pf-plugin PORTVERSION= 0.1 +PORTREVISION= 1 CATEGORIES= net-mgmt MASTER_SITES= http://www.zampanosbits.com/check_pf/ \ http://restek.wwu.edu/~kian/ diff --git a/net-mgmt/nagios-pf-plugin/files/patch-check_pf.c b/net-mgmt/nagios-pf-plugin/files/patch-check_pf.c new file mode 100644 index 000000000000..a12e15e37f39 --- /dev/null +++ b/net-mgmt/nagios-pf-plugin/files/patch-check_pf.c @@ -0,0 +1,74 @@ +--- ./check_pf.c.orig 2007-03-08 07:19:40.000000000 +0100 ++++ ./check_pf.c 2010-01-03 00:24:23.000000000 +0100 +@@ -70,12 +70,13 @@ + int ch, wflag, cflag, dev; + int states_warning; + int states_critical; ++ int show_perf=0; + + pf_device = "/dev/pf"; + + wflag = cflag = 0; + +- while ((ch = getopt(argc, argv, "Vhw:c:")) != -1) { ++ while ((ch = getopt(argc, argv, "Vhpw:c:")) != -1) { + switch (ch) { + case 'V': + version(); +@@ -84,6 +85,9 @@ + case 'h': + help(); + break; ++ case 'p': ++ show_perf = 1; ++ break; + case 'w': + wflag = 1; + states_warning = strtonum(optarg, 0, ULONG_MAX, +@@ -151,19 +155,34 @@ + } + + if (ps.states >= states_critical) { +- (void)printf("PF CRITICAL - states: %u (%.1f%% - limit: %u)\n", ++ (void)printf("PF CRITICAL - states: %u (%.1f%% - limit: %u)", + ps.states, percent, pl.limit); ++ if(!show_perf) ++ (void)printf("\n"); ++ else ++ (void)printf("|current=%u;%u;%u; percent=%.1f%%; limit=%u;\n", ++ ps.states, states_warning, states_critical, percent, pl.limit); + return (STATE_CRITICAL); + } + + if (ps.states >= states_warning) { +- (void)printf("PF WARNING - states: %u (%.1f%% - limit: %u)\n", ++ (void)printf("PF WARNING - states: %u (%.1f%% - limit: %u)", + ps.states, percent, pl.limit); ++ if(!show_perf) ++ (void)printf("\n"); ++ else ++ (void)printf("|current=%u;%u;%u; percent=%.1f%%; limit=%u;\n", ++ ps.states, states_warning, states_critical, percent, pl.limit); + return (STATE_WARNING); + } + +- (void)printf("PF OK - states: %u (%.1f%% - limit: %u)\n", ++ (void)printf("PF OK - states: %u (%.1f%% - limit: %u)", + ps.states, percent, pl.limit); ++ if(!show_perf) ++ (void)printf("\n"); ++ else ++ (void)printf("|current=%u;%u;%u; percent=%.1f%%; limit=%u;\n", ++ ps.states, states_warning, states_critical, percent, pl.limit); + return (STATE_OK); + } + +@@ -183,6 +202,8 @@ + (void)fprintf(stderr, " "); + (void)fprintf(stderr, "-h - Print the plugin help\n"); + (void)fprintf(stderr, " "); ++ (void)fprintf(stderr, "-p - Display additional nagios performance data\n"); ++ (void)fprintf(stderr, " "); + (void)fprintf(stderr, "-w number - Warning when <number> states" + " (default: %u%% of state limit)\n", DEFAULT_WARN_PERCENT); + (void)fprintf(stderr, " "); |