ports/142266: [patch] port net-mgmt/nagios-pf-plugin add nagios performance data
olli hauer
ohauer at gmx.de
Sun Jan 3 16:40:02 UTC 2010
>Number: 142266
>Category: ports
>Synopsis: [patch] port net-mgmt/nagios-pf-plugin add nagios performance data
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Sun Jan 03 16:40:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator: olli hauer <ohauer at gmx.de>
>Release:
>Organization:
>Environment:
>Description:
The following patch adds an additional parameter '-p' display nagios
performance data in the output. This output can the easily graphed
with pnp.
I send the patch additional to the author of check_pf (maintainer of the port)
but I don't know if he is reachable (website in port is not updated and now
parked by a domain-grabber)
>How-To-Repeat:
>Fix:
--- patch_nagios-pf-plugin.txt begins here ---
--- files/patch-check_pf.c
+++ 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, " ");
--- patch_nagios-pf-plugin.txt ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list