diff options
author | M. Sean Finney <seanius@users.sourceforge.net> | 2005-10-13 09:58:12 +0000 |
---|---|---|
committer | M. Sean Finney <seanius@users.sourceforge.net> | 2005-10-13 09:58:12 +0000 |
commit | 866709d4b53c05ed065b9cae4aa0dc68d57bc5f4 (patch) | |
tree | 658eef300d25cd19409d4c023a08bfa9117aeebd /plugins | |
parent | f1cef328a6f38e4da3c33a7154a0e0b89f2daa5a (diff) | |
download | monitoring-plugins-866709d4b53c05ed065b9cae4aa0dc68d57bc5f4.tar.gz |
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
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/check_mrtg.c | 57 |
1 files changed, 25 insertions, 32 deletions
diff --git a/plugins/check_mrtg.c b/plugins/check_mrtg.c index 067429cf..6b08195b 100644 --- a/plugins/check_mrtg.c +++ b/plugins/check_mrtg.c @@ -49,7 +49,6 @@ main (int argc, char **argv) char input_buffer[MAX_INPUT_BUFFER]; char *temp_buffer; time_t current_time; - char* message; time_t timestamp = 0L; unsigned long average_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 (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 */ - if (result == STATE_OK) { - time (¤t_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 (¤t_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 */ - 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; } |