diff options
author | Lorenz <12514511+RincewindsHat@users.noreply.github.com> | 2023-03-10 10:33:25 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-10 10:33:25 (GMT) |
commit | 5077120a251980b4fafed61b4aa8fa5730a85443 (patch) | |
tree | 8500b8f5dbe774b399cfdc79f5665ba88ef7f255 /plugins/check_procs.c | |
parent | a3de84594104ac87a91e200d569fb57edacca928 (diff) | |
parent | 269718094177fb8a7e3d3005d1310495009fe8c4 (diff) | |
download | monitoring-plugins-5077120a251980b4fafed61b4aa8fa5730a85443.tar.gz |
Merge branch 'master' into master
Diffstat (limited to 'plugins/check_procs.c')
-rw-r--r-- | plugins/check_procs.c | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/plugins/check_procs.c b/plugins/check_procs.c index f7917c3..a025ee8 100644 --- a/plugins/check_procs.c +++ b/plugins/check_procs.c | |||
@@ -1,34 +1,34 @@ | |||
1 | /***************************************************************************** | 1 | /***************************************************************************** |
2 | * | 2 | * |
3 | * Monitoring check_procs plugin | 3 | * Monitoring check_procs plugin |
4 | * | 4 | * |
5 | * License: GPL | 5 | * License: GPL |
6 | * Copyright (c) 2000-2008 Monitoring Plugins Development Team | 6 | * Copyright (c) 2000-2008 Monitoring Plugins Development Team |
7 | * | 7 | * |
8 | * Description: | 8 | * Description: |
9 | * | 9 | * |
10 | * This file contains the check_procs plugin | 10 | * This file contains the check_procs plugin |
11 | * | 11 | * |
12 | * Checks all processes and generates WARNING or CRITICAL states if the | 12 | * Checks all processes and generates WARNING or CRITICAL states if the |
13 | * specified metric is outside the required threshold ranges. The metric | 13 | * specified metric is outside the required threshold ranges. The metric |
14 | * defaults to number of processes. Search filters can be applied to limit | 14 | * defaults to number of processes. Search filters can be applied to limit |
15 | * the processes to check. | 15 | * the processes to check. |
16 | * | 16 | * |
17 | * | 17 | * |
18 | * This program is free software: you can redistribute it and/or modify | 18 | * This program is free software: you can redistribute it and/or modify |
19 | * it under the terms of the GNU General Public License as published by | 19 | * it under the terms of the GNU General Public License as published by |
20 | * the Free Software Foundation, either version 3 of the License, or | 20 | * the Free Software Foundation, either version 3 of the License, or |
21 | * (at your option) any later version. | 21 | * (at your option) any later version. |
22 | * | 22 | * |
23 | * This program is distributed in the hope that it will be useful, | 23 | * This program is distributed in the hope that it will be useful, |
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
26 | * GNU General Public License for more details. | 26 | * GNU General Public License for more details. |
27 | * | 27 | * |
28 | * You should have received a copy of the GNU General Public License | 28 | * You should have received a copy of the GNU General Public License |
29 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 29 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
30 | * | 30 | * |
31 | * | 31 | * |
32 | *****************************************************************************/ | 32 | *****************************************************************************/ |
33 | 33 | ||
34 | const char *progname = "check_procs"; | 34 | const char *progname = "check_procs"; |
@@ -50,7 +50,7 @@ const char *email = "devel@monitoring-plugins.org"; | |||
50 | 50 | ||
51 | int process_arguments (int, char **); | 51 | int process_arguments (int, char **); |
52 | int validate_arguments (void); | 52 | int validate_arguments (void); |
53 | int convert_to_seconds (char *); | 53 | int convert_to_seconds (char *); |
54 | void print_help (void); | 54 | void print_help (void); |
55 | void print_usage (void); | 55 | void print_usage (void); |
56 | 56 | ||
@@ -230,9 +230,9 @@ main (int argc, char **argv) | |||
230 | procseconds = convert_to_seconds(procetime); | 230 | procseconds = convert_to_seconds(procetime); |
231 | 231 | ||
232 | if (verbose >= 3) | 232 | if (verbose >= 3) |
233 | printf ("proc#=%d uid=%d vsz=%d rss=%d pid=%d ppid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", | 233 | printf ("proc#=%d uid=%d vsz=%d rss=%d pid=%d ppid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", |
234 | procs, procuid, procvsz, procrss, | 234 | procs, procuid, procvsz, procrss, |
235 | procpid, procppid, procpcpu, procstat, | 235 | procpid, procppid, procpcpu, procstat, |
236 | procetime, procprog, procargs); | 236 | procetime, procprog, procargs); |
237 | 237 | ||
238 | /* Ignore self */ | 238 | /* Ignore self */ |
@@ -265,7 +265,7 @@ main (int argc, char **argv) | |||
265 | } | 265 | } |
266 | } | 266 | } |
267 | 267 | ||
268 | if ((options & STAT) && (strstr (statopts, procstat))) | 268 | if ((options & STAT) && (strstr (procstat, statopts))) |
269 | resultsum |= STAT; | 269 | resultsum |= STAT; |
270 | if ((options & ARGS) && procargs && (strstr (procargs, args) != NULL)) | 270 | if ((options & ARGS) && procargs && (strstr (procargs, args) != NULL)) |
271 | resultsum |= ARGS; | 271 | resultsum |= ARGS; |
@@ -292,9 +292,9 @@ main (int argc, char **argv) | |||
292 | 292 | ||
293 | procs++; | 293 | procs++; |
294 | if (verbose >= 2) { | 294 | if (verbose >= 2) { |
295 | printf ("Matched: uid=%d vsz=%d rss=%d pid=%d ppid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", | 295 | printf ("Matched: uid=%d vsz=%d rss=%d pid=%d ppid=%d pcpu=%.2f stat=%s etime=%s prog=%s args=%s\n", |
296 | procuid, procvsz, procrss, | 296 | procuid, procvsz, procrss, |
297 | procpid, procppid, procpcpu, procstat, | 297 | procpid, procppid, procpcpu, procstat, |
298 | procetime, procprog, procargs); | 298 | procetime, procprog, procargs); |
299 | } | 299 | } |
300 | 300 | ||
@@ -320,7 +320,7 @@ main (int argc, char **argv) | |||
320 | result = max_state (result, i); | 320 | result = max_state (result, i); |
321 | } | 321 | } |
322 | } | 322 | } |
323 | } | 323 | } |
324 | /* This should not happen */ | 324 | /* This should not happen */ |
325 | else if (verbose) { | 325 | else if (verbose) { |
326 | printf(_("Not parseable: %s"), input_buffer); | 326 | printf(_("Not parseable: %s"), input_buffer); |
@@ -332,7 +332,7 @@ main (int argc, char **argv) | |||
332 | return STATE_UNKNOWN; | 332 | return STATE_UNKNOWN; |
333 | } | 333 | } |
334 | 334 | ||
335 | if ( result == STATE_UNKNOWN ) | 335 | if ( result == STATE_UNKNOWN ) |
336 | result = STATE_OK; | 336 | result = STATE_OK; |
337 | 337 | ||
338 | /* Needed if procs found, but none match filter */ | 338 | /* Needed if procs found, but none match filter */ |
@@ -352,9 +352,9 @@ main (int argc, char **argv) | |||
352 | if (metric != METRIC_PROCS) { | 352 | if (metric != METRIC_PROCS) { |
353 | printf (_("%d crit, %d warn out of "), crit, warn); | 353 | printf (_("%d crit, %d warn out of "), crit, warn); |
354 | } | 354 | } |
355 | } | 355 | } |
356 | printf (ngettext ("%d process", "%d processes", (unsigned long) procs), procs); | 356 | printf (ngettext ("%d process", "%d processes", (unsigned long) procs), procs); |
357 | 357 | ||
358 | if (strcmp(fmt,"") != 0) { | 358 | if (strcmp(fmt,"") != 0) { |
359 | printf (_(" with %s"), fmt); | 359 | printf (_(" with %s"), fmt); |
360 | } | 360 | } |
@@ -440,7 +440,7 @@ process_arguments (int argc, char **argv) | |||
440 | break; | 440 | break; |
441 | case 'c': /* critical threshold */ | 441 | case 'c': /* critical threshold */ |
442 | critical_range = optarg; | 442 | critical_range = optarg; |
443 | break; | 443 | break; |
444 | case 'w': /* warning threshold */ | 444 | case 'w': /* warning threshold */ |
445 | warning_range = optarg; | 445 | warning_range = optarg; |
446 | break; | 446 | break; |
@@ -542,11 +542,11 @@ process_arguments (int argc, char **argv) | |||
542 | if ( strcmp(optarg, "PROCS") == 0) { | 542 | if ( strcmp(optarg, "PROCS") == 0) { |
543 | metric = METRIC_PROCS; | 543 | metric = METRIC_PROCS; |
544 | break; | 544 | break; |
545 | } | 545 | } |
546 | else if ( strcmp(optarg, "VSZ") == 0) { | 546 | else if ( strcmp(optarg, "VSZ") == 0) { |
547 | metric = METRIC_VSZ; | 547 | metric = METRIC_VSZ; |
548 | break; | 548 | break; |
549 | } | 549 | } |
550 | else if ( strcmp(optarg, "RSS") == 0 ) { | 550 | else if ( strcmp(optarg, "RSS") == 0 ) { |
551 | metric = METRIC_RSS; | 551 | metric = METRIC_RSS; |
552 | break; | 552 | break; |
@@ -559,7 +559,7 @@ process_arguments (int argc, char **argv) | |||
559 | metric = METRIC_ELAPSED; | 559 | metric = METRIC_ELAPSED; |
560 | break; | 560 | break; |
561 | } | 561 | } |
562 | 562 | ||
563 | usage4 (_("Metric must be one of PROCS, VSZ, RSS, CPU, ELAPSED!")); | 563 | usage4 (_("Metric must be one of PROCS, VSZ, RSS, CPU, ELAPSED!")); |
564 | case 'k': /* linux kernel thread filter */ | 564 | case 'k': /* linux kernel thread filter */ |
565 | kthread_filter = 1; | 565 | kthread_filter = 1; |
@@ -642,7 +642,7 @@ convert_to_seconds(char *etime) { | |||
642 | seconds = 0; | 642 | seconds = 0; |
643 | 643 | ||
644 | for (ptr = etime; *ptr != '\0'; ptr++) { | 644 | for (ptr = etime; *ptr != '\0'; ptr++) { |
645 | 645 | ||
646 | if (*ptr == '-') { | 646 | if (*ptr == '-') { |
647 | hyphcnt++; | 647 | hyphcnt++; |
648 | continue; | 648 | continue; |
@@ -775,7 +775,7 @@ be the total number of running processes\n\n")); | |||
775 | printf (" %s\n", "check_procs -w 50000 -c 100000 --metric=VSZ"); | 775 | printf (" %s\n", "check_procs -w 50000 -c 100000 --metric=VSZ"); |
776 | printf (" %s\n\n", _("Alert if VSZ of any processes over 50K or 100K")); | 776 | printf (" %s\n\n", _("Alert if VSZ of any processes over 50K or 100K")); |
777 | printf (" %s\n", "check_procs -w 10 -c 20 --metric=CPU"); | 777 | printf (" %s\n", "check_procs -w 10 -c 20 --metric=CPU"); |
778 | printf (" %s\n", _("Alert if CPU of any processes over 10%% or 20%%")); | 778 | printf (" %s\n", _("Alert if CPU of any processes over 10\% or 20\%")); |
779 | 779 | ||
780 | printf (UT_SUPPORT); | 780 | printf (UT_SUPPORT); |
781 | } | 781 | } |