summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2003-07-15 19:07:50 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2003-07-15 19:07:50 +0000
commit6ac95aba581aa949b236d0f46f01faa7f088d4da (patch)
tree6536fb953ae5315dd83d365ef975f3942ff53d64 /src
parent193c49859e3925e4493520eeedb4a6aba82ab2a6 (diff)
downloadzabbix-6ac95aba581aa949b236d0f46f01faa7f088d4da.tar.gz
zabbix-6ac95aba581aa949b236d0f46f01faa7f088d4da.tar.xz
zabbix-6ac95aba581aa949b236d0f46f01faa7f088d4da.zip
- support for simple checks :smtp_perf, ftp_perf, ssh_perf, etc. (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@848 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rw-r--r--src/zabbix_sucker/zabbix_sucker.c29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/zabbix_sucker/zabbix_sucker.c b/src/zabbix_sucker/zabbix_sucker.c
index 97a23e74..ddd9ac32 100644
--- a/src/zabbix_sucker/zabbix_sucker.c
+++ b/src/zabbix_sucker/zabbix_sucker.c
@@ -416,16 +416,37 @@ int get_value_SNMP(int version,double *result,char *result_str,DB_ITEM *item)
int get_value_SIMPLE(double *result,char *result_str,DB_ITEM *item)
{
- char *e;
+ char *e,*t;
char c[MAX_STRING_LEN+1];
+ char s[MAX_STRING_LEN+1];
- if(item->useip==1)
+ /* The code is ugly. I would rewrite it. Alexei */
+ /* Assumption: host name does not contain '_perf' */
+ if(NULL == strstr(item->key,"_perf"))
{
- sprintf(c,"check_service[%s,%s]",item->key,item->ip);
+ if(item->useip==1)
+ {
+ sprintf(c,"check_service[%s,%s]",item->key,item->ip);
+ }
+ else
+ {
+ sprintf(c,"check_service[%s,%s]",item->key,item->host);
+ }
}
else
{
- sprintf(c,"check_service[%s,%s]",item->key,item->host);
+ strncpy(s,item->key,MAX_STRING_LEN);
+ t=strstr(item->key,"_perf");
+ s[t]=0;
+
+ if(item->useip==1)
+ {
+ sprintf(c,"check_service_perf[%s,%s]",s,item->ip);
+ }
+ else
+ {
+ sprintf(c,"check_service_perf[%s,%s]",s,item->host);
+ }
}