【问题标题】:How to create a new Zabbix event from Ruby script?如何从 Ruby 脚本创建一个新的 Zabbix 事件?
【发布时间】:2012-07-02 04:48:00
【问题描述】:

这是否可以从 Ruby 脚本生成新的 Zabbix 事件?有人建议我使用zabbix_sender 脚本,但我找不到任何示例。

另外,我找不到任何与 events 创建相关的 API。

【问题讨论】:

    标签: ruby zabbix


    【解决方案1】:

    首先创建一些 zabbix trapper 类型的项目,然后你可以通过 zabbix_sender 向它的名称发送一些值。您可以发送一个值或多个带有时间戳的收集数据。 Here are docs.

    您也可以编写自己的 zabbix 陷阱发送器。 Protocol 很简单。我在 Python 中做了同样的事情……没有外部命令。

    【讨论】:

      【解决方案2】:

      Zabbix API 不允许按设计更新项目值。

      我研究了几个选项*,我从 Ruby 更新 Zabbix 项目值的首选方法是使用miyucy's gist 中的这种方法:

      简单错误处理程序示例:

      s = Zabbix::Sender.new 'zabbix_server', 10051
      
      zabbix_resp = s.send('host', item_key, value)
      
      if zabbix_resp["response"] != "success" or zabbix_resp["info"].split(';')[1] != " failed: 0"
        puts "error: zabbix responded with #{zabbix_resp} when trying to update #{item_key}"
      end
      

      *另一种方式的一个例子 - calling zabbix_sender binary

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-20
        • 2012-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-06
        • 1970-01-01
        相关资源
        最近更新 更多