diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-12-12 14:01:21 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-12-12 14:01:21 +0000 |
| commit | 2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3 (patch) | |
| tree | 07507efe6879f575541a802c05dd65d16c20d792 /src/libs/zbxsysinfo/osf/cpu.c | |
| parent | c13bcf05aac85ee5762a2a9008c1898a16e56d90 (diff) | |
| download | zabbix-2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3.tar.gz zabbix-2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3.tar.xz zabbix-2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3.zip | |
- added support of system.cpu.load for Tru64 (Eugene)
- added support of system.cpu.util for Tru64 (Eugene)
- added support of vm.memory.size for Tru64 (Eugene)
- added support of proc.num for Tru64 (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2413 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/libs/zbxsysinfo/osf/cpu.c')
| -rw-r--r-- | src/libs/zbxsysinfo/osf/cpu.c | 349 |
1 files changed, 11 insertions, 338 deletions
diff --git a/src/libs/zbxsysinfo/osf/cpu.c b/src/libs/zbxsysinfo/osf/cpu.c index 75a8db56..7084446b 100644 --- a/src/libs/zbxsysinfo/osf/cpu.c +++ b/src/libs/zbxsysinfo/osf/cpu.c @@ -22,68 +22,29 @@ #include "common.h" #include "sysinfo.h" -static int SYSTEM_CPU_IDLE1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) +int OLD_CPU(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { - return get_stat("cpu[idle1]", flags, result); + return get_stat(cmd, flags, result); } -static int SYSTEM_CPU_IDLE5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) +static int SYSTEM_CPU_IDLE1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { - return get_stat("cpu[idle5]", flags, result); + return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF))}'", flags, result); } -static int SYSTEM_CPU_IDLE15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) +static int SYSTEM_CPU_SYS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { - return get_stat("cpu[idle15]", flags, result); + return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF-1))}'", flags, result); } static int SYSTEM_CPU_NICE1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { - return get_stat("cpu[nice1]", flags, result); -} - -static int SYSTEM_CPU_NICE5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat("cpu[nice5]", flags, result); -} -static int SYSTEM_CPU_NICE15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat("cpu[nice15]", flags, result); + return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF-2))}'", flags, result); } static int SYSTEM_CPU_USER1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { - return get_stat("cpu[user1]", flags, result); -} - -static int SYSTEM_CPU_USER5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat("cpu[user5]", flags, result); -} - -static int SYSTEM_CPU_USER15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat("cpu[user15]", flags, result); -} - -static int SYSTEM_CPU_SYS1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat("cpu[system1]", flags, result); -} - -static int SYSTEM_CPU_SYS5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat("cpu[system5]", flags, result); -} - -static int SYSTEM_CPU_SYS15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat("cpu[system15]", flags, result); -} - -int OLD_CPU(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) -{ - return get_stat(cmd, flags, result); + return EXECUTE(cmd, "iostat | tail -n 1 | awk '{printf(\"%s\",$(NF-3))}'", flags, result); } int SYSTEM_CPU_UTIL(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) @@ -100,17 +61,9 @@ CPU_FNCLIST CPU_FNCLIST fl[] = { {"idle", "avg1" , SYSTEM_CPU_IDLE1}, - {"idle", "avg5" , SYSTEM_CPU_IDLE5}, - {"idle", "avg15", SYSTEM_CPU_IDLE15}, {"nice", "avg1" , SYSTEM_CPU_NICE1}, - {"nice", "avg5" , SYSTEM_CPU_NICE5}, - {"nice", "avg15", SYSTEM_CPU_NICE15}, {"user", "avg1" , SYSTEM_CPU_USER1}, - {"user", "avg5" , SYSTEM_CPU_USER5}, - {"user", "avg15", SYSTEM_CPU_USER15}, {"system", "avg1" , SYSTEM_CPU_SYS1}, - {"system", "avg5" , SYSTEM_CPU_SYS5}, - {"system", "avg15", SYSTEM_CPU_SYS15}, {0, 0, 0} }; @@ -176,299 +129,19 @@ CPU_FNCLIST return SYSINFO_RET_FAIL; } -/* AIX CPU info */ -#ifdef HAVE_KNLIST_H -static int getloadavg_kmem(double loadavg[], int nelem) -{ - struct nlist nl; - int kmem, i; - long avenrun[3]; - - nl.n_name = "avenrun"; - nl.n_value = 0; - - if(knlist(&nl, 1, sizeof(nl))) - { - return FAIL; - } - if((kmem = open("/dev/kmem", 0, 0)) <= 0) - { - return FAIL; - } - - if(pread(kmem, avenrun, sizeof(avenrun), nl.n_value) < - sizeof(avenrun)) - { - return FAIL; - } - - for(i=0;i<nelem;i++) - { - loadavg[i] = (double) avenrun[i] / 65535; - } - return SUCCEED; -} -#endif - int SYSTEM_CPU_LOAD1(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { -#ifdef HAVE_GETLOADAVG - double load[3]; - - assert(result); - - init_result(result); - - if(getloadavg(load, 3)) - { - SET_DBL_RESULT(result, load[0]); - return SYSINFO_RET_OK; - } - else - { - return SYSINFO_RET_FAIL; - } -#else -#ifdef HAVE_SYS_PSTAT_H - struct pst_dynamic dyn; - - assert(result); - - init_result(result); - - if (pstat_getdynamic(&dyn, sizeof(dyn), 1, 0) == -1) - { - return SYSINFO_RET_FAIL; - } - else - { - SET_DBL_RESULT(result, dyn.psd_avg_1_min); - return SYSINFO_RET_OK; - } -#else -#ifdef HAVE_PROC_LOADAVG - return getPROC("/proc/loadavg",1,1, flags, result); -#else -#ifdef HAVE_KSTAT_H - static kstat_ctl_t *kc = NULL; - kstat_t *ks; - kstat_named_t *kn; - - assert(result); - - init_result(result); - - if (!kc && !(kc = kstat_open())) - { - return SYSINFO_RET_FAIL; - } - if (!(ks = kstat_lookup(kc, "unix", 0, "system_misc")) || - kstat_read(kc, ks, 0) == -1 || - !(kn = kstat_data_lookup(ks,"avenrun_1min"))) - { - return SYSINFO_RET_FAIL; - } - SET_DBL_RESULT(result, ((double)kn->value.ul)/256.0); - return SYSINFO_RET_OK; -#else -#ifdef HAVE_KNLIST_H - double loadavg[3]; - - assert(result); - - init_result(result); - - if(getloadavg_kmem(loadavg,3) == FAIL) - { - return SYSINFO_RET_FAIL; - } - - SET_DBL_RESULT(result, loadavg[0]); - return SYSINFO_RET_OK; -#else - assert(result); - - init_result(result); - return SYSINFO_RET_FAIL; -#endif -#endif -#endif -#endif -#endif + return EXECUTE(cmd, "uptime | awk '{printf(\"%s\", $(NF))}' | sed 's/[ ,]//g'", flags, result); } int SYSTEM_CPU_LOAD5(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { -#ifdef HAVE_GETLOADAVG - double load[3]; - - assert(result); - - init_result(result); - - if(getloadavg(load, 3)) - { - SET_DBL_RESULT(result, load[1]); - return SYSINFO_RET_OK; - } - else - { - return SYSINFO_RET_FAIL; - } -#else -#ifdef HAVE_SYS_PSTAT_H - struct pst_dynamic dyn; - - assert(result); - - init_result(result); - - if (pstat_getdynamic(&dyn, sizeof(dyn), 1, 0) == -1) - { - return SYSINFO_RET_FAIL; - } - else - { - SET_DBL_RESULT(result, dyn.psd_avg_5_min); - return SYSINFO_RET_OK; - } -#else -#ifdef HAVE_PROC_LOADAVG - return getPROC("/proc/loadavg",1,2, flags, result); -#else -#ifdef HAVE_KSTAT_H - static kstat_ctl_t *kc = NULL; - kstat_t *ks; - kstat_named_t *kn; - - assert(result); - - init_result(result); - - if (!kc && !(kc = kstat_open())) - { - return SYSINFO_RET_FAIL; - } - if (!(ks = kstat_lookup(kc, "unix", 0, "system_misc")) || - kstat_read(kc, ks, 0) == -1 || - !(kn = kstat_data_lookup(ks,"avenrun_5min"))) - { - return SYSINFO_RET_FAIL; - } - SET_DBL_RESULT(result, ((double)kn->value.ul)/256.0); - return SYSINFO_RET_OK; -#else -#ifdef HAVE_KNLIST_H - double loadavg[3]; - - assert(result); - - init_result(result); - - if(getloadavg_kmem(loadavg,3) == FAIL) - { - return STSINFO_RET_FAIL; - } - - SET_DBL_RESULT(result, loadavg[1]); - return SYSINFO_RET_OK; -#else - assert(result); - - init_result(result); - return SYSINFO_RET_FAIL; -#endif -#endif -#endif -#endif -#endif + return EXECUTE(cmd, "uptime | awk '{printf(\"%s\", $(NF-1))}' | sed 's/[ ,]//g'", flags, result); } int SYSTEM_CPU_LOAD15(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) { -#ifdef HAVE_GETLOADAVG - double load[3]; - - assert(result); - - init_result(result); - - if(getloadavg(load, 3)) - { - SET_DBL_RESULT(result, load[2]); - return SYSINFO_RET_OK; - } - else - { - return SYSINFO_RET_FAIL; - } -#else -#ifdef HAVE_SYS_PSTAT_H - struct pst_dynamic dyn; - - assert(result); - - init_result(result); - - if (pstat_getdynamic(&dyn, sizeof(dyn), 1, 0) == -1) - { - return SYSINFO_RET_FAIL; - } - else - { - SET_DBL_RESULT(result, dyn.psd_avg_15_min); - return SYSINFO_RET_OK; - } -#else -#ifdef HAVE_PROC_LOADAVG - return getPROC("/proc/loadavg",1,3, flags, result); -#else -#ifdef HAVE_KSTAT_H - static kstat_ctl_t *kc = NULL; - kstat_t *ks; - kstat_named_t *kn; - - assert(result); - - init_result(result); - - if (!kc && !(kc = kstat_open())) - { - return SYSINFO_RET_FAIL; - } - if (!(ks = kstat_lookup(kc, "unix", 0, "system_misc")) || - kstat_read(kc, ks, 0) == -1 || - !(kn = kstat_data_lookup(ks,"avenrun_15min"))) - { - return SYSINFO_RET_FAIL; - } - SET_DBL_RESULT(result, ((double)kn->value.ul)/256.0); - return SYSINFO_RET_OK; -#else -#ifdef HAVE_KNLIST_H - double loadavg[3]; - - assert(result); - - init_result(result); - - if(getloadavg_kmem(loadavg,3) == FAIL) - { - return STSINFO_RET_FAIL; - } - - SET_DBL_RESULT(result, loadavg[2]); - return SYSINFO_RET_OK; -#else - assert(result); - - init_result(result); - return SYSINFO_RET_FAIL; -#endif -#endif -#endif -#endif -#endif + return EXECUTE(cmd, "uptime | awk '{printf(\"%s\", $(NF-2))}' | sed 's/[ ,]//g'", flags, result); } int SYSTEM_CPU_LOAD(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result) |
