diff options
author | Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com> | 2025-03-12 16:16:53 +0100 |
---|---|---|
committer | Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com> | 2025-03-12 17:27:11 +0100 |
commit | a609c0214fb4fbeb86ab75e7dff4f4c7deedcc3b (patch) | |
tree | 921ee5b30ee91bb14790d1dc0298f4601e1b57f9 /plugins | |
parent | ae60d6d8d818191afba08819c5a62673b98ef29a (diff) | |
download | monitoring-plugins-a609c0214fb4fbeb86ab75e7dff4f4c7deedcc3b.tar.gz |
remove nagios reference
Narrow down sscanf expression
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/check_ping.c | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/plugins/check_ping.c b/plugins/check_ping.c index fcf68f81..8d8ae7df 100644 --- a/plugins/check_ping.c +++ b/plugins/check_ping.c | |||
@@ -162,8 +162,8 @@ int main(int argc, char **argv) { | |||
162 | 162 | ||
163 | /* Print performance data */ | 163 | /* Print performance data */ |
164 | if (pinged.packet_loss != 100) { | 164 | if (pinged.packet_loss != 100) { |
165 | printf("|%s", fperfdata("rta", pinged.round_trip_average, "ms", (bool)(config.wrta > 0), config.wrta, | 165 | printf("|%s", fperfdata("rta", pinged.round_trip_average, "ms", (bool)(config.wrta > 0), config.wrta, (bool)(config.crta > 0), |
166 | (bool)(config.crta > 0), config.crta, true, 0, false, 0)); | 166 | config.crta, true, 0, false, 0)); |
167 | } else { | 167 | } else { |
168 | printf("| rta=U;%f;%f;;", config.wrta, config.crta); | 168 | printf("| rta=U;%f;%f;;", config.wrta, config.crta); |
169 | } | 169 | } |
@@ -470,33 +470,36 @@ ping_result run_ping(const char *cmd, const char *addr, double crta) { | |||
470 | 470 | ||
471 | /* get the percent loss statistics */ | 471 | /* get the percent loss statistics */ |
472 | int match = 0; | 472 | int match = 0; |
473 | if ((sscanf(buf, "%*d packets transmitted, %*d packets received, +%*d errors, %d%% packet loss%n", &result.packet_loss, &match) && | 473 | if ((sscanf(buf, "%*d packets transmitted, %*d packets received, +%*d errors, %d%% packet loss%n", &result.packet_loss, &match) == |
474 | 1 && | ||
474 | match) || | 475 | match) || |
475 | (sscanf(buf, "%*d packets transmitted, %*d packets received, +%*d duplicates, %d%% packet loss%n", &result.packet_loss, | 476 | (sscanf(buf, "%*d packets transmitted, %*d packets received, +%*d duplicates, %d%% packet loss%n", &result.packet_loss, |
476 | &match) && | 477 | &match) == 1 && |
477 | match) || | 478 | match) || |
478 | (sscanf(buf, "%*d packets transmitted, %*d received, +%*d duplicates, %d%% packet loss%n", &result.packet_loss, &match) && | 479 | (sscanf(buf, "%*d packets transmitted, %*d received, +%*d duplicates, %d%% packet loss%n", &result.packet_loss, &match) == 1 && |
479 | match) || | 480 | match) || |
480 | (sscanf(buf, "%*d packets transmitted, %*d packets received, %d%% packet loss%n", &result.packet_loss, &match) && match) || | 481 | (sscanf(buf, "%*d packets transmitted, %*d packets received, %d%% packet loss%n", &result.packet_loss, &match) == 1 && match) || |
481 | (sscanf(buf, "%*d packets transmitted, %*d packets received, %d%% loss, time%n", &result.packet_loss, &match) && match) || | 482 | (sscanf(buf, "%*d packets transmitted, %*d packets received, %d%% loss, time%n", &result.packet_loss, &match) == 1 && match) || |
482 | (sscanf(buf, "%*d packets transmitted, %*d received, %d%% loss, time%n", &result.packet_loss, &match) && match) || | 483 | (sscanf(buf, "%*d packets transmitted, %*d received, %d%% loss, time%n", &result.packet_loss, &match) == 1 && match) || |
483 | (sscanf(buf, "%*d packets transmitted, %*d received, %d%% packet loss, time%n", &result.packet_loss, &match) && match) || | 484 | (sscanf(buf, "%*d packets transmitted, %*d received, %d%% packet loss, time%n", &result.packet_loss, &match) && match) == 1 || |
484 | (sscanf(buf, "%*d packets transmitted, %*d received, +%*d errors, %d%% packet loss%n", &result.packet_loss, &match) && match) || | 485 | (sscanf(buf, "%*d packets transmitted, %*d received, +%*d errors, %d%% packet loss%n", &result.packet_loss, &match) == 1 && |
485 | (sscanf(buf, "%*d packets transmitted %*d received, +%*d errors, %d%% packet loss%n", &result.packet_loss, &match) && match) || | 486 | match) || |
486 | (sscanf(buf, "%*[^(](%d%% %*[^)])%n", &result.packet_loss, &match) && match)) { | 487 | (sscanf(buf, "%*d packets transmitted %*d received, +%*d errors, %d%% packet loss%n", &result.packet_loss, &match) == 1 && |
488 | match) || | ||
489 | (sscanf(buf, "%*[^(](%d%% %*[^)])%n", &result.packet_loss, &match) == 1 && match)) { | ||
487 | continue; | 490 | continue; |
488 | } | 491 | } |
489 | 492 | ||
490 | /* get the round trip average */ | 493 | /* get the round trip average */ |
491 | if ((sscanf(buf, "round-trip min/avg/max = %*f/%lf/%*f%n", &result.round_trip_average, &match) && match) || | 494 | if ((sscanf(buf, "round-trip min/avg/max = %*f/%lf/%*f%n", &result.round_trip_average, &match) == 1 && match) || |
492 | (sscanf(buf, "round-trip min/avg/max/mdev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) && match) || | 495 | (sscanf(buf, "round-trip min/avg/max/mdev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) == 1 && match) || |
493 | (sscanf(buf, "round-trip min/avg/max/sdev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) && match) || | 496 | (sscanf(buf, "round-trip min/avg/max/sdev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) == 1 && match) || |
494 | (sscanf(buf, "round-trip min/avg/max/stddev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) && match) || | 497 | (sscanf(buf, "round-trip min/avg/max/stddev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) == 1 && match) || |
495 | (sscanf(buf, "round-trip min/avg/max/std-dev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) && match) || | 498 | (sscanf(buf, "round-trip min/avg/max/std-dev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) == 1 && match) || |
496 | (sscanf(buf, "round-trip (ms) min/avg/max = %*f/%lf/%*f%n", &result.round_trip_average, &match) && match) || | 499 | (sscanf(buf, "round-trip (ms) min/avg/max = %*f/%lf/%*f%n", &result.round_trip_average, &match) == 1 && match) || |
497 | (sscanf(buf, "round-trip (ms) min/avg/max/stddev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) && match) || | 500 | (sscanf(buf, "round-trip (ms) min/avg/max/stddev = %*f/%lf/%*f/%*f%n", &result.round_trip_average, &match) == 1 && match) || |
498 | (sscanf(buf, "rtt min/avg/max/mdev = %*f/%lf/%*f/%*f ms%n", &result.round_trip_average, &match) && match) || | 501 | (sscanf(buf, "rtt min/avg/max/mdev = %*f/%lf/%*f/%*f ms%n", &result.round_trip_average, &match) == 1 && match) || |
499 | (sscanf(buf, "%*[^=] = %*fms, %*[^=] = %*fms, %*[^=] = %lfms%n", &result.round_trip_average, &match) && match)) { | 502 | (sscanf(buf, "%*[^=] = %*fms, %*[^=] = %*fms, %*[^=] = %lfms%n", &result.round_trip_average, &match) == 1 && match)) { |
500 | continue; | 503 | continue; |
501 | } | 504 | } |
502 | } | 505 | } |
@@ -610,9 +613,7 @@ void print_help(void) { | |||
610 | 613 | ||
611 | printf("\n"); | 614 | printf("\n"); |
612 | printf("%s\n", _("This plugin uses the ping command to probe the specified host for packet loss")); | 615 | printf("%s\n", _("This plugin uses the ping command to probe the specified host for packet loss")); |
613 | printf("%s\n", _("(percentage) and round trip average (milliseconds). It can produce HTML output")); | 616 | printf("%s\n", _("(percentage) and round trip average (milliseconds). It can produce HTML output.")); |
614 | printf("%s\n", _("linking to a traceroute CGI contributed by Ian Cass. The CGI can be found in")); | ||
615 | printf("%s\n", _("the contrib area of the downloads section at http://www.nagios.org/")); | ||
616 | 617 | ||
617 | printf(UT_SUPPORT); | 618 | printf(UT_SUPPORT); |
618 | } | 619 | } |