root / tools / munin-plugins-busybox / load.c @ 20993707
Historique | Voir | Annoter | Télécharger (972 octets)
| 1 |
#include <stdio.h> |
|---|---|
| 2 |
#include <string.h> |
| 3 |
#include <stdlib.h> |
| 4 |
#include "common.h" |
| 5 |
|
| 6 |
int load(int argc, char **argv) { |
| 7 |
FILE *f; |
| 8 |
int warn, crit;
|
| 9 |
float val;
|
| 10 |
char *s;
|
| 11 |
if(argc > 1) { |
| 12 |
if(!strcmp(argv[1], "config")) { |
| 13 |
s = getenv("load_warn");
|
| 14 |
if(s)
|
| 15 |
warn = atoi(s); |
| 16 |
else
|
| 17 |
warn = 10;
|
| 18 |
s = getenv("load_crit");
|
| 19 |
if(s)
|
| 20 |
crit = atoi(s); |
| 21 |
else
|
| 22 |
crit = 120;
|
| 23 |
puts("graph_title Load average\n"
|
| 24 |
"graph_args --base 1000 -l 0\n"
|
| 25 |
"graph_vlabel load\n"
|
| 26 |
"graph_scale no\n"
|
| 27 |
"graph_category system\n"
|
| 28 |
"load.label load");
|
| 29 |
printf("load.warning %d\nload.critical %d\n", warn, crit);
|
| 30 |
return 0; |
| 31 |
} |
| 32 |
if(!strcmp(argv[1], "autoconf")) |
| 33 |
return writeyes();
|
| 34 |
} |
| 35 |
if(!(f=fopen("/proc/loadavg", "r"))) { |
| 36 |
fputs("cannot open /proc/loadavg\n", stderr);
|
| 37 |
return 1; |
| 38 |
} |
| 39 |
if(1 != fscanf(f, "%*f %f", &val)) { |
| 40 |
fputs("cannot read from /proc/loadavg\n", stderr);
|
| 41 |
fclose(f); |
| 42 |
return 1; |
| 43 |
} |
| 44 |
fclose(f); |
| 45 |
printf("load.value %.2f\n", val);
|
| 46 |
return 0; |
| 47 |
} |
