Sha256: d696def4a4ec65c943221227919f5aaf28728b5ef47bc16e04ecd3f7431f9c06

Contents?: true

Size: 1.5 KB

Versions: 15

Compression:

Stored size: 1.5 KB

Contents

#!/usr/bin/env ruby

require 'rubygems'
require 'getopt/std'
require 'yaml'
require 'zabbixapi'

opt = Getopt::Std.getopts("g:E:")

group_name = opt["g"]
zabbix_env = opt["E"]

template_name = "TMPL_Availability"

# read config
config = YAML::load(open('./config.yml'))

api_url = config[zabbix_env]["api_url"]
api_login = config[zabbix_env]["api_login"]
api_password = config[zabbix_env]["api_password"]


# Esablish new connection
zbx = Zabbix::ZabbixApi.new(api_url, api_login, api_password)

# Create new template
p " * Creating template #{template_name}."
g_id = zbx.get_group_id(group_name)

options = {
  'groups' => [ g_id.to_i ],
  'host' => template_name
}

t_id = zbx.add_template(options)

# Create application #{app_name}
app_name = "Availability"
p " ** Create application #{app_name}."
application = {
  'hostid' => t_id.to_i,
  'name' => app_name
}
a_id = zbx.add_application(application)

# 'Ping.'
options = {
  'description' => "Ping",
  'key_' => "agent.ping",
  'hostid' => t_id.to_i,
  'applications' => [ a_id.to_i ],
  'history' => 7,
  'trends' => 30,
  'delay' => 60,
  'value_type' => 0,
  'type' => '0'
}
p " ** Add 'Ping' to #{template_name}."
i_id = zbx.add_item(options)

# TRIGGERS
options = {
  'description' => "Host availability",
  'expression' => "{#{template_name}:agent.ping.nodata(61)}=1",
  'priority' => 5, #disaster
  'templateid' => 0,
  'comments' => "Host availability",
  'type' => 0,
  'status' => '0'
}

p " ** Add 'Host availability disaster trigger'"
tr_id = zbx.add_trigger(options)

Version data entries

15 entries across 15 versions & 2 rubygems

Version Path
zabbixapi-0.1.6.4 examples/zabbix_availability
zabbixapi-0.1.6.3 examples/zabbix_availability
zabbixapi-0.1.6.2 examples/zabbix_availability
zabbixapi-0.1.6.1 examples/zabbix_availability
zabbixapi-0.1.6 examples/zabbix_availability
zabbixapi-0.1.5b examples/zabbix_availability
zabbixapi-0.1.5a6 examples/zabbix_availability
zabbixapi-0.1.5a5 examples/zabbix_availability
zabbixapi-0.1.5a4 examples/zabbix_availability
zabbixapi-0.1.5a3 examples/zabbix_availability
zabbixapi-0.1.5a2 examples/zabbix_availability
zabbixapi-0.1.5a1 examples/zabbix_availability
iteh-zabbixapi-0.2.4 examples/zabbix_availability
iteh-zabbixapi-0.2.3 examples/zabbix_availability
iteh-zabbixapi-0.2.2 examples/zabbix_availability