监视Zabbix中一个项目中的多个值

时间:2015-07-20 07:46:42

标签: zabbix

我们需要监视数据库表以查看系统中操作的响应时间。如果响应时间高于阈值,我们需要发送警报,其中包含操作的详细信息:action_type,action_name和其他。

Zabbix可以实现吗?

我尝试使用以下sql创建数据库监视器项:

select action_type, action_name, window_title, response_time from db.table order by action_timestamp desc limit 1;

我希望Zabbix能够存储并显示select中的所有字段,但它只获得第一个值(for action_type)而不是所有字段。

有没有办法用Zabbix做到这一点?这对我们来说几乎是必须的,所以如果我们不能这样做,我们就必须使用不同的监控工具。

编辑:这是创建的Action的通知语法,希望在触发器后发送的通知中使用多个值(来自多个项目)。我的问题是,这是正确的语法吗?我尝试在Item values:下面使用多个项目吗?

Trigger: {TRIGGER.NAME}
Trigger status: {TRIGGER.STATUS}
Trigger severity: {TRIGGER.SEVERITY}
Trigger URL: {TRIGGER.URL}

Item values:

1. Action name: {"Item ##5 Name"} ("Zabbix_server"}:{ITEM.KEY1}): {ITEM.VALUE1}
2. Window type: {"Item ##2 Name"} ("Zabbix_server"}:{ITEM.KEY2}): {ITEM.VALUE2}

Original event ID: {EVENT.ID} 

1 个答案:

答案 0 :(得分:2)

  

如果查询返回多个列,则只有第一列   读取。

参考:https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/odbc_checks

=>由于Zabbix设计,您无法开箱即可为每个项目处理多个值。您仍然可以为每个字段创建一个项目/查询。

您可以使用一些解决方法(zabbix UserParameter return 2 or more values),但您会遇到其他限制。