summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-11-07 12:00:41 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2005-11-07 12:00:41 +0000
commitbacd714155a4829cb720c73474cfbf655fb5fe94 (patch)
treee0156678c7d73b15f35e31d7db84ca7e00b9e34d
parentc24747aacafa259dcfb65c3baeeda0a27311b7fc (diff)
downloadzabbix-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--ChangeLog27
-rw-r--r--src/libs/zbxsysinfo/linux/diskio.c1
-rw-r--r--src/libs/zbxsysinfo/linux/kernel.c35
-rw-r--r--src/libs/zbxsysinfo/linux/net.c1
4 files changed, 31 insertions, 33 deletions
diff --git a/ChangeLog b/ChangeLog
index 3473e87b..8670329a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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)