【问题标题】:Monitor multiple values within one Item in Zabbix在 Zabbix 中监控一个 Item 中的多个值
【发布时间】:2015-10-09 06:19:18
【问题描述】:

我们需要监控数据库表,以了解系统中某个操作的响应时间。如果响应时间超过阈值,我们需要发送包含操作详细信息的警报: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 中的所有字段,但它只获取第一个值(用于 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} 

【问题讨论】:

    标签: zabbix


    【解决方案1】:

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

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

    => 因为 Zabbix 的设计,您不能在开箱时为每个项目处理多个值。您仍然可以为每个字段创建一个项目/查询。

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

    【讨论】:

    • 我正在考虑为每个值创建一个项目,然后在一个值超过阈值时设置一个触发器和通知。在这种情况下,我能否将其他项目的值传递到通知中?这有意义吗?
    • 如果您的项目是触发条件的一部分,那么您可以在通知中使用项目值。因此,您可以为只想在通知中使用的项目添加始终为真条件。
    • 谢谢,Jan。我用 Zabbix 文档给出的通用示例编辑了这个问题。看起来这可以处理多个值?我的“项目值”语法对于多个项目是否正确?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多