Sha256: 49a5f83aa5b67e8e40a2cb417f43c6fd42b653f4134bfbe210d1c17bad653bed

Contents?: true

Size: 1.32 KB

Versions: 6

Compression:

Stored size: 1.32 KB

Contents

module Zabbix
  class ZabbixApi

    def add_graph(graph)
      message = {
          'method' => 'graph.create',
          'params' => graph
      }
      response = send_request(message)
      response.empty? ? nil : response['graphids'][0]
    end

    def get_graph_id(host_id, graph_name)
      message = {
          'method' => 'graph.get',
          'params' => {
              'filter' => {
                  'name' => graph_name,
                  'hostid' => host_id
              }
          }
      }
      response = send_request(message)
      response.empty? ? nil : response[0]['graphid']
    end

    def add_or_get_graph(host_id, graph)
      unless g_id = get_graph_id(host_id, graph['name'])
        g_id = add_graph(graph)
      end
      return g_id
    end

    def get_graphs(host_id)
      message = {
          'method' => 'graph.get',
          'params' => {
              'extendoutput' => '1',
              'filter' => {
                  'hostid' => host_id
              }
          }
      }
      response = send_request(message)
      if response.empty?
        result = nil
      else
        result = {}
        response.each() do |graph|
          graph_id = graph['graphid']
          graph_name = graph['name']
          result[graph_id] = graph_name
        end
      end
      return result
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
zabbixapi-0.3.0 lib/zabbixapi/graph.rb
zabbixapi-0.2.0 lib/zabbixapi/graph.rb
zabbixapi-0.1.9 lib/zabbixapi/graph.rb
zabbixapi-0.1.8 lib/zabbixapi/graph.rb
zabbixapi-0.1.7 lib/zabbixapi/graph.rb
zabbixapi-0.1.6.4 lib/zabbixapi/graph.rb