Просмотр исходного кода

Merge pull request #511 from sawolf/510-icmp-inconsistent-perfdata

Fix nagios-plugins#510 - perfdata tags should remain the same even if packet loss is at 100%
Sebastian Wolf 6 лет назад
Родитель
Сommit
3fe3128aea
2 измененных файлов с 6 добавлено и 5 удалено
  1. 1 0
      NEWS
  2. 5 5
      plugins-root/check_icmp.c

+ 1 - 0
NEWS

@@ -4,6 +4,7 @@ This file documents the major additions and syntax changes between releases.
 	FIXES
 	check_http: Fix host:port syntax when using -H (Isaac White)
 	perl dependencies: updated the included Module::Build to work with newer versions of perl (#505)
+	check_icmp: All performance data tags should show when packet loss is 100% (#510)
 
 2.3.1 2019-12-09
 	FIXES

+ 5 - 5
plugins-root/check_icmp.c

@@ -1592,7 +1592,7 @@ static void finish(int sig) {
     if (debug) {
       puts("");
     }
-    if (rta_mode && host->pl < 100) {
+    if (rta_mode) {
       printf("%srta=%0.3fms;%0.3f;%0.3f;0; ",
              (targets > 1) ? host->name : "", (float)host->rta / 1000,
              (float)warn.rta / 1000, (float)crit.rta / 1000);
@@ -1601,12 +1601,12 @@ static void finish(int sig) {
       printf("%spl=%u%%;%u;%u;0;100 ", (targets > 1) ? host->name : "",
              host->pl, warn.pl, crit.pl);
     }
-    if (rta_mode && host->pl < 100) {
+    if (rta_mode) {
       printf("%srtmax=%0.3fms;;;; %srtmin=%0.3fms;;;; ",
              (targets > 1) ? host->name : "", (float)host->rtmax / 1000,
              (targets > 1) ? host->name : "", (float)host->rtmin / 1000);
     }
-    if (jitter_mode && host->pl < 100) {
+    if (jitter_mode) {
       printf("%sjitter_avg=%0.3fms;%0.3f;%0.3f;0; %sjitter_max=%0.3fms;;;; "
              "%sjitter_min=%0.3fms;;;; ",
              (targets > 1) ? host->name : "", (float)host->jitter,
@@ -1614,11 +1614,11 @@ static void finish(int sig) {
              (targets > 1) ? host->name : "", (float)host->jitter_max / 1000,
              (targets > 1) ? host->name : "", (float)host->jitter_min / 1000);
     }
-    if (mos_mode && host->pl < 100) {
+    if (mos_mode) {
       printf("%smos=%0.1f;%0.1f;%0.1f;0;5 ", (targets > 1) ? host->name : "",
              (float)host->mos, (float)warn.mos, (float)crit.mos);
     }
-    if (score_mode && host->pl < 100) {
+    if (score_mode) {
       printf("%sscore=%u;%u;%u;0;100 ", (targets > 1) ? host->name : "",
              (int)host->score, (int)warn.score, (int)crit.score);
     }