我有一个zabbix服务器,只要有问题就给我发邮件。
它使用这样的模板来生成邮件
Issue: {TRIGGER.ISSUE}
Description: "Node: {TRIGGER.NODE}, {TRIGGER.DESCRIPTION}"
邮件看起来像是:
Issue: "memory usage"
Description: "Node: abc.def.com, high memory usage (>90%)"
我需要将此信息传递到Web服务器,之后将采取适当的操作。我认为的方式是通过推杆 这个模板里面的网址是这样的
http://localhost:4567?issue={TRIGGER.ISSUE}&nodename={TRIGGER.NODE}&description={TRIGGER.DESCRIPTION}
但是这有时候会生成一个不能正确编码到URI中的字符串,而且我的浏览器经常遇到Bad URI问题。
是否有一种方法可以传递字符串,使其作为原始字符串传递并且不会被浏览器解释?
答案 0 :(得分:0)
{TRIGGER.DESCRIPTION}
或{TRIGGER.NODE}
宏中的某些字符(空格,&,...)是您的问题。不幸的是,Zabbix没有在模板中提供任何 urlencode 功能。幸运的是,您可以编写自己的警报来解决您的问题。只需选择您喜欢的语言,它支持 urlencode 功能(或编写您自己的语言),并使用 urlencode 功能为您在URL中使用的任何宏。您的脚本必须能够发送电子邮件。
文档: