ret = EXECUTE_DBL("uptime | awk '{printf(\"%s\", $(NF-1))}' | sed 's/[ ,]//g'", result);
#include "../common/zbxsysinfo_common.h"
int SYSTEM_CPU_UTIL(AGENT_REQUEST *request, AGENT_RESULT *result)
int ret = SYSINFO_RET_FAIL;
SET_MSG_RESULT(result, zbx_strdup(NULL, "Too many parameters."));
tmp = get_rparam(request, 0);
if (NULL != tmp && '\0' != *tmp && 0 != strcmp(tmp, "all"))
SET_MSG_RESULT(result, zbx_strdup(NULL, "Invalid first parameter."));
tmp = get_rparam(request, 2);
if (NULL != tmp && '\0' != *tmp && 0 != strcmp(tmp, "avg1"))
SET_MSG_RESULT(result, zbx_strdup(NULL, "Invalid third parameter."));
tmp = get_rparam(request, 1);
if (NULL == tmp || '\0' == *tmp || 0 == strcmp(tmp, "user"))
ret = EXECUTE_DBL("iostat 1 2 | tail -n 1 | awk '{printf(\"%s\",$(NF-3))}'", result);
else if (0 == strcmp(tmp, "nice"))
ret = EXECUTE_DBL("iostat 1 2 | tail -n 1 | awk '{printf(\"%s\",$(NF-2))}'", result);
else if (0 == strcmp(tmp, "system"))
ret = EXECUTE_DBL("iostat 1 2 | tail -n 1 | awk '{printf(\"%s\",$(NF-1))}'", result);
else if (0 == strcmp(tmp, "idle"))
ret = EXECUTE_DBL("iostat 1 2 | tail -n 1 | awk '{printf(\"%s\",$(NF))}'", result);
SET_MSG_RESULT(result, zbx_strdup(NULL, "Invalid second parameter."));
int SYSTEM_CPU_LOAD(AGENT_REQUEST *request, AGENT_RESULT *result)
int ret = SYSINFO_RET_FAIL;
SET_MSG_RESULT(result, zbx_strdup(NULL, "Too many parameters."));
tmp = get_rparam(request, 0);
if (NULL != tmp && '\0' != *tmp && 0 != strcmp(tmp, "all"))
SET_MSG_RESULT(result, zbx_strdup(NULL, "Invalid first parameter."));