summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 1945dff)
raw | patch | inline | side by side (parent: 1945dff)
author | Harper Mann <harpermann@users.sourceforge.net> | |
Tue, 5 Apr 2005 21:26:56 +0000 (21:26 +0000) | ||
committer | Harper Mann <harpermann@users.sourceforge.net> | |
Tue, 5 Apr 2005 21:26:56 +0000 (21:26 +0000) |
how to handle UOM so only values that return SNMP type Counter32: are labled
with "c". All other values have a blank UOM. I also left off warn, crit,
max and min values in the performance data until we come up with a way to
handle them.
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1157 f882894a-f735-0410-b71e-b25c423dba1c
with "c". All other values have a blank UOM. I also left off warn, crit,
max and min values in the performance data until we come up with a way to
handle them.
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1157 f882894a-f735-0410-b71e-b25c423dba1c
plugins/check_snmp.c | patch | blob | history |
diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c
index 0ef0c65348b0962ae36a8de46ef2d1af72dd9481..d66d834e145fa0183f6bd6915b33ca37fb101de3 100644 (file)
--- a/plugins/check_snmp.c
+++ b/plugins/check_snmp.c
regmatch_t pmatch[10];
char timestamp[10] = "";
char errbuf[MAX_INPUT_BUFFER];
regmatch_t pmatch[10];
char timestamp[10] = "";
char errbuf[MAX_INPUT_BUFFER];
+char perfstr[MAX_INPUT_BUFFER];
int cflags = REG_EXTENDED | REG_NOSUB | REG_NEWLINE;
int eflags = 0;
int errcode, excode;
int cflags = REG_EXTENDED | REG_NOSUB | REG_NEWLINE;
int eflags = 0;
int errcode, excode;
char *ptr = NULL;
char *p2 = NULL;
char *show = NULL;
char *ptr = NULL;
char *p2 = NULL;
char *show = NULL;
+ char type[8];
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
port = strdup (DEFAULT_PORT);
outbuff = strdup ("");
output = strdup ("");
port = strdup (DEFAULT_PORT);
outbuff = strdup ("");
output = strdup ("");
- delimiter = strdup (DEFAULT_DELIMITER);
+ delimiter = strdup (" = ");
output_delim = strdup (DEFAULT_OUTPUT_DELIMITER);
miblist = strdup (DEFAULT_MIBLIST);
timeout_interval = DEFAULT_TIMEOUT;
output_delim = strdup (DEFAULT_OUTPUT_DELIMITER);
miblist = strdup (DEFAULT_MIBLIST);
timeout_interval = DEFAULT_TIMEOUT;
ptr = output;
ptr = output;
+ strcat(perfstr, "| ");
while (ptr) {
while (ptr) {
+ char *foo;
+
+ foo = strstr (ptr, delimiter);
+ strncat(perfstr, ptr, foo-ptr);
+ ptr = foo;
- ptr = strstr (ptr, delimiter);
if (ptr == NULL)
break;
if (ptr == NULL)
break;
show = strstr (response, "Gauge: ") + 7;
else if (strstr (response, "Gauge32: "))
show = strstr (response, "Gauge32: ") + 9;
show = strstr (response, "Gauge: ") + 7;
else if (strstr (response, "Gauge32: "))
show = strstr (response, "Gauge32: ") + 9;
- else if (strstr (response, "Counter32: "))
+ else if (strstr (response, "Counter32: ")) {
show = strstr (response, "Counter32: ") + 11;
show = strstr (response, "Counter32: ") + 11;
+ strcpy(type, "c");
+ }
else if (strstr (response, "INTEGER: "))
show = strstr (response, "INTEGER: ") + 9;
else if (strstr (response, "STRING: "))
else if (strstr (response, "INTEGER: "))
show = strstr (response, "INTEGER: ") + 9;
else if (strstr (response, "STRING: "))
i++;
i++;
- } /* end while (ptr) */
+ char *str[MAX_INPUT_BUFFER];
+ asprintf(str, "=%s%s;;;; ", show, type ? type : "");
+ strcat(perfstr, *str);
+
+ } /* end while (ptr) */
if (found == 0)
die (STATE_UNKNOWN,
if (found == 0)
die (STATE_UNKNOWN,
/* if (nunits == 1 || i == 1) */
/* printf ("%s %s -%s %s\n", label, state_text (result), outbuff, units); */
/* else */
/* if (nunits == 1 || i == 1) */
/* printf ("%s %s -%s %s\n", label, state_text (result), outbuff, units); */
/* else */
- printf ("%s %s -%s\n", label, state_text (result), outbuff);
+ printf ("%s %s -%s %s \n", label, state_text (result), outbuff, perfstr);
return result;
}
return result;
}