diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-12-15 09:11:06 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2005-12-15 09:11:06 +0000 |
| commit | 2b2a59d510dcde8b06b9d6f98cea0c0917de96cc (patch) | |
| tree | 681ab3aee796ea2994d807f432c45b6fda290a4f /src/zabbix_agent | |
| parent | 2b0a2c57ce5d2aae2e87fb0578618a4178f8b4f3 (diff) | |
| download | zabbix-2b2a59d510dcde8b06b9d6f98cea0c0917de96cc.tar.gz zabbix-2b2a59d510dcde8b06b9d6f98cea0c0917de96cc.tar.xz zabbix-2b2a59d510dcde8b06b9d6f98cea0c0917de96cc.zip | |
- fixed system.swap.size (Eugene)
- fixed vm.memory.size (Eugene)
- fixed configuration file parsing for user specifed functions (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2414 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/zabbix_agent')
| -rw-r--r-- | src/zabbix_agent/stats.c | 3 | ||||
| -rw-r--r-- | src/zabbix_agent/zabbix_agentd.c | 68 |
2 files changed, 45 insertions, 26 deletions
diff --git a/src/zabbix_agent/stats.c b/src/zabbix_agent/stats.c index 061cd343..a0b70689 100644 --- a/src/zabbix_agent/stats.c +++ b/src/zabbix_agent/stats.c @@ -73,7 +73,8 @@ void collect_statistics() file=fopen("/tmp/zabbix_agentd.tmp2","w"); if(NULL == file) { - fprintf(stderr, "Cannot open file [%s] [%s]\n","/tmp/zabbix_agentd.tmp2", strerror(errno)); + zabbix_log( LOG_LEVEL_CRIT, "Cannot open file [%s] [%s]\n","/tmp/zabbix_agentd.tmp2", strerror(errno)); + exit(1); } else { diff --git a/src/zabbix_agent/zabbix_agentd.c b/src/zabbix_agent/zabbix_agentd.c index 59d255de..23260e30 100644 --- a/src/zabbix_agent/zabbix_agentd.c +++ b/src/zabbix_agent/zabbix_agentd.c @@ -229,14 +229,6 @@ void usage(char *prog) exit(-1); } -void print_supported() -{ - init_metrics(); - init_config(); - test_parameters(); - exit(-1); -} - void init_config(void) { struct cfg_line cfg[]= @@ -257,7 +249,6 @@ void init_config(void) {"DebugLevel",&CONFIG_LOG_LEVEL,0,TYPE_INT,PARM_OPT,0,4}, {"StartAgents",&CONFIG_AGENTD_FORKS,0,TYPE_INT,PARM_OPT,1,16}, {"RefreshActiveChecks",&CONFIG_REFRESH_ACTIVE_CHECKS,0,TYPE_INT,PARM_OPT,60,3600}, - {"UserParameter",0,&add_parameter,0,0,0,0}, {0} }; AGENT_RESULT result; @@ -278,14 +269,14 @@ void init_config(void) if(CONFIG_HOSTNAME == NULL) { - if(SUCCEED == process("system[hostname]", 0, &result)) + if(SUCCEED == process("system.hostname", 0, &result)) { if(result.type & AR_STRING) { CONFIG_HOSTNAME=strdup(result.str); } - free_result(&result); } + free_result(&result); if(CONFIG_HOSTNAME == NULL) { @@ -300,6 +291,19 @@ void init_config(void) }*/ } +void load_user_parameters(void) +{ + struct cfg_line cfg[]= + { +/* PARAMETER ,VAR ,FUNC, TYPE(0i,1s),MANDATORY,MIN,MAX +*/ + {"UserParameter",0,&add_parameter,0,0,0,0}, + {0} + }; + + parse_cfg_file(CONFIG_FILE,cfg); +} + void process_child(int sockfd) { ssize_t nread; @@ -459,6 +463,10 @@ pid_t child_passive_make(int i,int listenfd, int addrlen) return 0; } +#define ZBX_START_DAEMON 0 +#define ZBX_USAGE 1 +#define ZBX_SUPPORTED 2 + int main(int argc, char **argv) { int listenfd; @@ -468,29 +476,49 @@ int main(int argc, char **argv) char host[128]; int ch; char *s; + int task = ZBX_START_DAEMON; static struct sigaction phan; /* Parse the command-line. */ - while ((ch = getopt(argc, argv, "c:h:p")) != EOF) + while ((ch = getopt(argc, argv, "c:hp")) != EOF) switch ((char) ch) { case 'c': CONFIG_FILE = optarg; break; case 'h': - usage(argv[0]); + task = ZBX_USAGE; break; case 'p': - print_supported(); + task = ZBX_SUPPORTED; break; default: - usage(argv[0]); + task = ZBX_USAGE; break; } /* Must be before init_config() */ init_metrics(); init_config(); + + if(CONFIG_LOG_FILE == NULL) + zabbix_open_log(LOG_TYPE_SYSLOG,CONFIG_LOG_LEVEL,NULL); + else + zabbix_open_log(LOG_TYPE_FILE,CONFIG_LOG_LEVEL,CONFIG_LOG_FILE); + + load_user_parameters(); + + switch(task) + { + case ZBX_SUPPORTED: + test_parameters(); + exit(-1); + break; + case ZBX_USAGE: + usage(argv[0]); + break; + } + daemon_init(); phan.sa_handler = &signal_handler; @@ -501,16 +529,6 @@ int main(int argc, char **argv) sigaction(SIGTERM, &phan, NULL); sigaction(SIGPIPE, &phan, NULL); - - if(CONFIG_LOG_FILE == NULL) - { - zabbix_open_log(LOG_TYPE_SYSLOG,CONFIG_LOG_LEVEL,NULL); - } - else - { - zabbix_open_log(LOG_TYPE_FILE,CONFIG_LOG_LEVEL,CONFIG_LOG_FILE); - } - if( FAIL == create_pid_file(CONFIG_PID_FILE)) { return -1; |
