diff options
author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-11-07 12:00:41 +0000 |
---|---|---|
committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-11-07 12:00:41 +0000 |
commit | bacd714155a4829cb720c73474cfbf655fb5fe94 (patch) | |
tree | e0156678c7d73b15f35e31d7db84ca7e00b9e34d | |
parent | c24747aacafa259dcfb65c3baeeda0a27311b7fc (diff) | |
download | zabbix-bacd714155a4829cb720c73474cfbf655fb5fe94.tar.gz zabbix-bacd714155a4829cb720c73474cfbf655fb5fe94.tar.xz zabbix-bacd714155a4829cb720c73474cfbf655fb5fe94.zip |
- added support of kernel.maxfiles for Linux (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2285 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rw-r--r-- | ChangeLog | 27 | ||||
-rw-r--r-- | src/libs/zbxsysinfo/linux/diskio.c | 1 | ||||
-rw-r--r-- | src/libs/zbxsysinfo/linux/kernel.c | 35 | ||||
-rw-r--r-- | src/libs/zbxsysinfo/linux/net.c | 1 |
4 files changed, 31 insertions, 33 deletions
@@ -1,5 +1,6 @@ Changes for 1.1beta3: + - added support of kernel.maxfiles for Linux (Eugene) - added support of vfs.dev.read[*] for Linux (Eugene) - added support of vfs.dev.write[*] for Linux (Eugene) - fixed vfs.file.regmatch[*] (Alexei) @@ -31,30 +32,22 @@ Changes for 1.1beta3: - added new item status: NOT AVAILABLE (Alexei) - fixed autoheader warnings (Eugene) - removed file acconfig.h (Eugene) - - added support of vfs.dev.read.bytes[*] (Eugene) - - added support of vfs.dev.read.operations[*] (Eugene) - - added support of vfs.dev.write.bytes[*] (Eugene) - - added support of vfs.dev.write.operations[*] (Eugene) - - added support of net.if.out.errors[*] (Eugene) - - added support of net.if.out.packets[*] (Eugene) - - added support of net.if.out.bytes[*] (Eugene) - - added support of net.if.in.errors[*] (Eugene) - - added support of net.if.in.packets[*] (Eugene) - - added support of net.if.in.bytes[*] (Eugene) + - added support of vfs.dev.read[*] (Eugene) + - added support of vfs.dev.write[*] (Eugene) + - added support of net.if.out[*] (Eugene) + - added support of net.if.in[*] (Eugene) - added support of net.if.collisions[*] (Eugene) - - added support of system.cpu.util[<idle|user|kernel|wait>] (Eugene) - - added support of net.listen.tcp[portdec] (Eugene) + - added support of system.cpu.util[*] (Eugene) + - added support of net.tcp.listen[*] (Eugene) - changed system.uptime (Eugene) - fixed processing of SNMP counter64 objects (Alexei) - improved support of proc.num[<process>,<user name>,<all|run|sleep|zomb>] (Eugene) - improved support of proc.mem[<process>,<user name>,<max|min|sum|avg>] (Eugene) - - added support of system.swap.in.num (Eugene) - - added support of system.swap.in.pages (Eugene) - - added support of system.swap.out.in (Eugene) - - added support of system.swap.out.pages (Eugene) + - added support of system.swap.in (Eugene) + - added support of system.swap.out (Eugene) - added support of system.cpu.intr (Eugene) - added support of system.cpu.switches (Eugene) - - added support of kernel.max.proc (Eugene) + - added support of kernel.maxproc (Eugene) - fixed compilation warnings under HP-UX 11.00 (Alexei) - Japanese translation. Thanks to Kodai Terashima. (Alexei) - added processing of SNMP counter64 (Alexei) diff --git a/src/libs/zbxsysinfo/linux/diskio.c b/src/libs/zbxsysinfo/linux/diskio.c index 581edd80..3b8aed74 100644 --- a/src/libs/zbxsysinfo/linux/diskio.c +++ b/src/libs/zbxsysinfo/linux/diskio.c @@ -110,6 +110,7 @@ static int get_disk_stat(const char *interface, struct disk_stat_s *result) break; } } + fclose(f); } if(ret != SYSINFO_RET_OK) diff --git a/src/libs/zbxsysinfo/linux/kernel.c b/src/libs/zbxsysinfo/linux/kernel.c index 14157f22..64ba3fd7 100644 --- a/src/libs/zbxsysinfo/linux/kernel.c +++ b/src/libs/zbxsysinfo/linux/kernel.c @@ -24,30 +24,33 @@ int KERNEL_MAXFILES(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { -#ifdef HAVE_FUNCTION_SYSCTL_KERN_MAXFILES - int mib[2],len; - int maxfiles; + int ret = SYSINFO_RET_FAIL; + char line[MAX_STRING_LEN]; + + unsigned long value = 0; + + FILE *f; assert(result); clean_result(result); - mib[0]=CTL_KERN; - mib[1]=KERN_MAXFILES; - - len=sizeof(maxfiles); - - if(sysctl(mib,2,&maxfiles,(size_t *)&len,NULL,0) != 0) + f=fopen("/proc/sys/fs/file-max","r"); + if(f) { - return SYSINFO_RET_FAIL; + if(fgets(line,MAX_STRING_LEN,f) != NULL); + { + if(sscanf(line,"%lu\n", &value) == 1) + { + result->type |= AR_DOUBLE; + result->dbl = (double) value; + ret = SYSINFO_RET_OK; + } + } + fclose(f); } - result->type |= AR_DOUBLE; - result->dbl = (double)(maxfiles); - return SYSINFO_RET_OK; -#else - return SYSINFO_RET_FAIL; -#endif + return ret; } int KERNEL_MAXPROC(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) diff --git a/src/libs/zbxsysinfo/linux/net.c b/src/libs/zbxsysinfo/linux/net.c index 74abf75f..77382e1f 100644 --- a/src/libs/zbxsysinfo/linux/net.c +++ b/src/libs/zbxsysinfo/linux/net.c @@ -85,6 +85,7 @@ static int get_net_stat(const char *interface, struct net_stat_s *result) } } } + fclose(f); } if(ret != SYSINFO_RET_OK) |