summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: db265d5)
raw | patch | inline | side by side (parent: db265d5)
author | Karl DeBisschop <kdebisschop@users.sourceforge.net> | |
Sat, 28 Feb 2004 04:54:32 +0000 (04:54 +0000) | ||
committer | Karl DeBisschop <kdebisschop@users.sourceforge.net> | |
Sat, 28 Feb 2004 04:54:32 +0000 (04:54 +0000) |
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@827 f882894a-f735-0410-b71e-b25c423dba1c
plugins/check_swap.c | patch | blob | history |
diff --git a/plugins/check_swap.c b/plugins/check_swap.c
index 02b043e5156e9ee7034dc1f576c0afcafddff357..fe792e87b3ece6947841d308896415ea0a9facbb 100644 (file)
--- a/plugins/check_swap.c
+++ b/plugins/check_swap.c
{
int percent_used, percent;
unsigned long long total_swap = 0, used_swap = 0, free_swap = 0;
- unsigned long long dsktotal, dskused, dskfree;
+ unsigned long long dsktotal, dskused, dskfree, tmp;
int result = STATE_OK;
char input_buffer[MAX_INPUT_BUFFER];
char *perf;
#ifdef HAVE_PROC_MEMINFO
fp = fopen (PROC_MEMINFO, "r");
while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, fp)) {
- if (sscanf (input_buffer, " %s %llu %llu %llu", str, &dsktotal, &dskused, &dskfree) == 4 &&
- strstr (str, "Swap")) {
+ if (sscanf (input_buffer, "%*[S]%*[w]%*[a]%*[p]%*[:] %llu %llu %llu", &dsktotal, &dskused, &dskfree) == 3) {
dsktotal = dsktotal / 1048576;
dskused = dskused / 1048576;
dskfree = dskfree / 1048576;
asprintf (&status, "%s [%llu (%d%%)]", status, dskfree, 100 - percent);
}
}
+ else if (sscanf (input_buffer, "%*[S]%*[w]%*[a]%*[p]%[TotalFre]%*[:] %llu %*[k]%*[B]", str, &tmp)) {
+ if (strcmp ("Total", str) == 0) {
+ dsktotal = tmp / 1024;
+ }
+ else if (strcmp ("Free", str) == 0) {
+ dskfree = tmp / 1024;
+ }
+ }
}
fclose(fp);
+ dskused = dsktotal - dskfree;
+ total_swap = dsktotal;
+ used_swap = dskused;
+ free_swap = dskfree;
#else
# ifdef HAVE_SWAP
asprintf(&swap_command, "%s", SWAP_COMMAND);