diff options
-rw-r--r-- | plugins/check_procs.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/check_procs.c b/plugins/check_procs.c index a868fcf..d479210 100644 --- a/plugins/check_procs.c +++ b/plugins/check_procs.c | |||
@@ -202,12 +202,14 @@ main (int argc, char **argv) | |||
202 | if (metric != METRIC_PROCS) { | 202 | if (metric != METRIC_PROCS) { |
203 | if (i == STATE_WARNING) { | 203 | if (i == STATE_WARNING) { |
204 | warn++; | 204 | warn++; |
205 | asprintf (&fails, "%s%s%s", fails, (strcmp(fails,"") ? ", " : ""), procprog); | ||
206 | result = max_state (result, i); | ||
205 | } | 207 | } |
206 | if (i == STATE_CRITICAL) { | 208 | if (i == STATE_CRITICAL) { |
207 | crit++; | 209 | crit++; |
210 | asprintf (&fails, "%s%s%s", fails, (strcmp(fails,"") ? ", " : ""), procprog); | ||
211 | result = max_state (result, i); | ||
208 | } | 212 | } |
209 | asprintf (&fails, "%s%s%s", fails, (strcmp(fails,"") ? ", " : ""), procprog); | ||
210 | result = max_state (result, i); | ||
211 | } | 213 | } |
212 | } | 214 | } |
213 | /* This should not happen */ | 215 | /* This should not happen */ |
@@ -341,7 +343,7 @@ process_arguments (int argc, char **argv) | |||
341 | else | 343 | else |
342 | usage (_("Critical Process Count must be an integer!\n\n")); | 344 | usage (_("Critical Process Count must be an integer!\n\n")); |
343 | break; | 345 | break; |
344 | case 'w': /* warning time threshold */ | 346 | case 'w': /* warning threshold */ |
345 | if (is_integer (optarg)) | 347 | if (is_integer (optarg)) |
346 | wmax = atoi (optarg); | 348 | wmax = atoi (optarg); |
347 | else if (sscanf (optarg, ":%d", &wmax) == 1) | 349 | else if (sscanf (optarg, ":%d", &wmax) == 1) |
@@ -351,7 +353,7 @@ process_arguments (int argc, char **argv) | |||
351 | else if (sscanf (optarg, "%d:", &wmin) == 1) | 353 | else if (sscanf (optarg, "%d:", &wmin) == 1) |
352 | break; | 354 | break; |
353 | else | 355 | else |
354 | usage (_("%s: Warning Process Count must be an integer!\n\n")); | 356 | usage (_("Warning Process Count must be an integer!\n\n")); |
355 | break; | 357 | break; |
356 | case 'p': /* process id */ | 358 | case 'p': /* process id */ |
357 | if (sscanf (optarg, "%d%[^0-9]", &ppid, tmp) == 1) { | 359 | if (sscanf (optarg, "%d%[^0-9]", &ppid, tmp) == 1) { |
@@ -655,7 +657,9 @@ Examples:\n\ | |||
655 | Warning alert if > 10 processes with command arguments containing \n\ | 657 | Warning alert if > 10 processes with command arguments containing \n\ |
656 | '/usr/local/bin/perl' and owned by root\n\n\ | 658 | '/usr/local/bin/perl' and owned by root\n\n\ |
657 | check_procs -w 50000 -c 100000 --metric=VSZ\n\ | 659 | check_procs -w 50000 -c 100000 --metric=VSZ\n\ |
658 | Alert if vsz of any processes over 50K or 100K\n\n")); | 660 | Alert if vsz of any processes over 50K or 100K\n\ |
661 | check_procs -w 10 -c 20 --metric=CPU\n\ | ||
662 | Alert if cpu of any processes over 10% or 20%\n\n")); | ||
659 | 663 | ||
660 | printf (_(UT_SUPPORT)); | 664 | printf (_(UT_SUPPORT)); |
661 | } | 665 | } |