Sha256: 255435025084f65717affff4787be380946737d65ec4d58bdf0cf3bb0932a19f
Contents?: true
Size: 1.74 KB
Versions: 6
Compression:
Stored size: 1.74 KB
Contents
module Zabbix class ZabbixApi def add_trigger(trigger) message = { 'method' => 'trigger.create', 'params' => [ trigger ] } response = send_request(message) response.empty? ? nil : response['triggerids'][0] end def add_or_get_trigger(host_id, trigger) unless tr_id = get_trigger_id(host_id, trigger['description']) tr_id = add_trigger(trigger) end return tr_id end def get_trigger_id(host_id, trigger_name) message = { 'method' => 'trigger.get', 'params' => { 'filter' => { 'hostid' => host_id, 'description' => [ trigger_name ] } } } response = send_request(message) response.empty? ? nil : response[0]['triggerid'] end def get_triggers_by_host(host_id) message = { 'method' => 'trigger.get', 'params' => { 'filter' => { 'hostid' => host_id, }, 'extendoutput' => '1' } } response = send_request(message) if response.empty? result = {} else result = {} response.each do |trigger| trigger_id = trigger['triggerid'] description = trigger['description'] result[trigger_id] = description end end return result end def update_trigger_status(trigger_id, status) message = { 'method' => 'trigger.update_status', 'params' => { 'triggerid' => trigger_id, 'status' => status } } response = send_request(message) response.empty? ? nil : response['triggerids'][0] end end end
Version data entries
6 entries across 6 versions & 1 rubygems