瀏覽代碼

was this plugin even working? i don't think the if/else logic
was doing what was intended.


git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1245 f882894a-f735-0410-b71e-b25c423dba1c

M. Sean Finney 20 年之前
父節點
當前提交
866709d4b5
共有 1 個文件被更改,包括 25 次插入32 次删除
  1. 25 32
      plugins/check_mrtg.c

+ 25 - 32
plugins/check_mrtg.c

@@ -49,7 +49,6 @@ main (int argc, char **argv)
 	char input_buffer[MAX_INPUT_BUFFER];
 	char input_buffer[MAX_INPUT_BUFFER];
 	char *temp_buffer;
 	char *temp_buffer;
 	time_t current_time;
 	time_t current_time;
-	char* message;
 	time_t timestamp = 0L;
 	time_t timestamp = 0L;
 	unsigned long average_value_rate = 0L;
 	unsigned long average_value_rate = 0L;
 	unsigned long maximum_value_rate = 0L;
 	unsigned long maximum_value_rate = 0L;
@@ -112,43 +111,37 @@ main (int argc, char **argv)
 
 
 	/* if we couldn't read enough data, return an unknown error */
 	/* if we couldn't read enough data, return an unknown error */
 	if (line <= 2) {
 	if (line <= 2) {
-		result = STATE_UNKNOWN;
-		asprintf (&message, _("Unable to process MRTG log file\n"));
+		printf (_("Unable to process MRTG log file\n"));
+		return STATE_UNKNOWN;
 	}
 	}
 
 
 	/* make sure the MRTG data isn't too old */
 	/* make sure the MRTG data isn't too old */
-	if (result == STATE_OK) {
-		time (&current_time);
-		if (expire_minutes > 0
-				&& (current_time - timestamp) > (expire_minutes * 60)) {
-			result = STATE_WARNING;
-			asprintf (&message, _("MRTG data has expired (%d minutes old)\n"),
-							 (int) ((current_time - timestamp) / 60));
-		}
+	time (&current_time);
+	if (expire_minutes > 0
+			&& (current_time - timestamp) > (expire_minutes * 60)) {
+		printf (_("MRTG data has expired (%d minutes old)\n"),
+		        (int) ((current_time - timestamp) / 60));
+		return STATE_WARNING;
 	}
 	}
 
 
 	/* else check the incoming/outgoing rates */
 	/* else check the incoming/outgoing rates */
-	if (result == STATE_OK) {
-		if (use_average == TRUE)
-			rate = average_value_rate;
-		else
-			rate = maximum_value_rate;
-
-		if (rate > value_critical_threshold)
-			result = STATE_CRITICAL;
-		else if (rate > value_warning_threshold)
-			result = STATE_WARNING;
-
-		asprintf (&message, "%s. %s = %lu %s|%s",
-		          (use_average == TRUE) ? _("Avg") : _("Max"),
-		          label, rate, units,
-		          perfdata(label, (long) rate, units,
-		                   (int) value_warning_threshold, (long) value_warning_threshold,
-		                   (int) value_critical_threshold, (long) value_critical_threshold,
-		                   0, 0, 0, 0));
-	}
-
-	printf ("%s\n", message);
+	if (use_average == TRUE)
+		rate = average_value_rate;
+	else
+		rate = maximum_value_rate;
+
+	if (rate > value_critical_threshold)
+		result = STATE_CRITICAL;
+	else if (rate > value_warning_threshold)
+		result = STATE_WARNING;
+
+	printf("%s. %s = %lu %s|%s\n",
+	       (use_average == TRUE) ? _("Avg") : _("Max"),
+	       label, rate, units,
+	       perfdata(label, (long) rate, units,
+		        (int) value_warning_threshold, (long) value_warning_threshold,
+		        (int) value_critical_threshold, (long) value_critical_threshold,
+		        0, 0, 0, 0));
 
 
 	return result;
 	return result;
 }
 }