summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-22 12:16:53 +0000
committeralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-22 12:16:53 +0000
commit9875c11fb7e4dbca03f7775f81bf8e4eafa2b4d5 (patch)
tree03d23a038745ef414097f80cd86a8d9ed5a90a98
parente3a9c8732564acac5c5dce55cdfd201212752716 (diff)
- added support of macro TRIGGER.URL and TRIGGER.COMMENT (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@3503 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rw-r--r--ChangeLog4
-rwxr-xr-xgo4
-rw-r--r--include/db.h1
-rw-r--r--src/zabbix_server/events.c11
-rw-r--r--src/zabbix_server/expression.c19
5 files changed, 29 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b8a8806..fb7d185f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -19,6 +19,10 @@ Changes for 1.3:
Integrated from 1.1.x
+1.1.5
+
+ - added support of macro TRIGGER.URL and TRIGGER.COMMENT (Alexei)
+
1.1.4
- fixed Y asix value displaying for graphs (Eugene)
diff --git a/go b/go
index 12bac549..63e4794f 100755
--- a/go
+++ b/go
@@ -28,8 +28,8 @@ automake
echo Configuring...
export CFLAGS="-Wall"
#export CFLAGS="-Wall -pedantic"
-./configure --enable-agent --enable-server --with-sqlite3 --with-net-snmp --prefix=`pwd` 2>>WARNINGS >/dev/null
-#./configure --enable-agent --enable-server --with-mysql --with-net-snmp --prefix=`pwd` 2>>WARNINGS >/dev/null
+#./configure --enable-agent --enable-server --with-sqlite3 --with-net-snmp --prefix=`pwd` 2>>WARNINGS >/dev/null
+./configure --enable-agent --enable-server --with-mysql --with-net-snmp --prefix=`pwd` 2>>WARNINGS >/dev/null
#./configure --enable-agent --enable-server --with-oracle=/home/zabbix/sqlora8 --with-net-snmp --prefix=`pwd` 2>>WARNINGS >/dev/null
echo Cleaning...
make clean 2>>WARNINGS >/dev/null
diff --git a/include/db.h b/include/db.h
index 82bc080a..b3ca6081 100644
--- a/include/db.h
+++ b/include/db.h
@@ -178,6 +178,7 @@ DB_EVENT
int acknowledged;
char trigger_description[TRIGGER_DESCRIPTION_LEN_MAX];
int trigger_priority;
+ char trigger_url[TRIGGER_URL_LEN_MAX];
char trigger_comments[TRIGGER_COMMENTS_LEN_MAX];
};
diff --git a/src/zabbix_server/events.c b/src/zabbix_server/events.c
index 84dc259d..eece75d3 100644
--- a/src/zabbix_server/events.c
+++ b/src/zabbix_server/events.c
@@ -68,15 +68,20 @@ static void add_trigger_info(DB_EVENT *event)
if(event->triggerid == 0) return;
- result = DBselect("select description,priority,comments from triggers where triggerid=" ZBX_FS_UI64,
+ result = DBselect("select description,priority,comments,url from triggers where triggerid=" ZBX_FS_UI64,
event->triggerid);
row = DBfetch(result);
+ event->trigger_description[0]=0;
+ event->trigger_comments[0]=0;
+ event->trigger_url[0]=0;
+
if(row)
{
- zbx_strlcpy(event->trigger_description, row[0], TRIGGER_DESCRIPTION_LEN_MAX);
+ strscpy(event->trigger_description, row[0]);
event->trigger_priority = atoi(row[1]);
- zbx_strlcpy(event->trigger_comments, row[2], TRIGGER_COMMENTS_LEN_MAX);
+ strscpy(event->trigger_comments, row[2]);
+ strscpy(event->trigger_url, row[3]);
}
DBfree_result(result);
diff --git a/src/zabbix_server/expression.c b/src/zabbix_server/expression.c
index c4f6018d..36082155 100644
--- a/src/zabbix_server/expression.c
+++ b/src/zabbix_server/expression.c
@@ -561,17 +561,18 @@ int evaluate(int *result,char *exp, char *error, int maxerrlen)
******************************************************************************/
/* definition of macros variables */
#define MVAR_DATE "{DATE}"
-#define MVAR_TIME "{TIME}"
+#define MVAR_EVENT_ID "{EVENT.ID}"
#define MVAR_HOST_NAME "{HOSTNAME}"
#define MVAR_IPADDRESS "{IPADDRESS}"
-#define MVAR_TRIGGER_NAME "{TRIGGER.NAME}"
+#define MVAR_TIME "{TIME}"
#define MVAR_TRIGGER_COMMENT "{TRIGGER.COMMENT}"
+#define MVAR_TRIGGER_ID "{TRIGGER.ID}"
#define MVAR_TRIGGER_KEY "{TRIGGER.KEY}"
+#define MVAR_TRIGGER_NAME "{TRIGGER.NAME}"
+#define MVAR_TRIGGER_SEVERITY "{TRIGGER.SEVERITY}"
#define MVAR_TRIGGER_STATUS "{TRIGGER.STATUS}"
#define MVAR_TRIGGER_STATUS_OLD "{STATUS}"
-#define MVAR_TRIGGER_SEVERITY "{TRIGGER.SEVERITY}"
-#define MVAR_TRIGGER_ID "{TRIGGER.ID}"
-#define MVAR_EVENT_ID "{EVENT.ID}"
+#define MVAR_TRIGGER_URL "{TRIGGER.URL}"
#define STR_UNKNOWN_VARIAVLE "*UNKNOWN*"
@@ -767,6 +768,14 @@ void substitute_simple_macros(DB_EVENT *event, DB_ACTION *action, char *data, in
zbx_snprintf(replace_to, sizeof(replace_to), "%d", event->triggerid);
}
else if(macro_type & (MACRO_TYPE_MESSAGE_SUBJECT | MACRO_TYPE_MESSAGE_BODY) &&
+ strncmp(pr, MVAR_TRIGGER_URL, strlen(MVAR_TRIGGER_URL)) == 0)
+ {
+ /* NOTE: if you make changes for this bloc, don't forgot MVAR_TRIGGER_STATUS block */
+ var_len = strlen(MVAR_TRIGGER_URL);
+
+ zbx_snprintf(replace_to, sizeof(replace_to), "%s", event->trigger_url);
+ }
+ else if(macro_type & (MACRO_TYPE_MESSAGE_SUBJECT | MACRO_TYPE_MESSAGE_BODY) &&
strncmp(pr, MVAR_EVENT_ID, strlen(MVAR_EVENT_ID)) == 0)
{
/* NOTE: if you make changes for this bloc, don't forgot MVAR_TRIGGER_STATUS block */