Ruby Zabbix Api Module.

Simple and lightweight ruby module for work with zabbix api version 1.8.x

You can:

  • Create and delete host/template/application/items/triggers and screens;

  • Get info about all zabbix essences;

Installation

gem install zabbixapi

Get Start

  • Create host and get hostid from zabbix api:

    zbx    = Zabbix::ZabbixApi.new('https://zabbix.example.com', 'login', 'password')
    host_options = { 
      "ip"     => '127.0.0.1',
      "dns"    => 'my.example.com',
      "host"   => 'my.example.com',
      "useip"  => 1,
      "groups" => [zbx.get_group_id('some_group')]
    }
    if zbx.create_host(host_options)
      puts zbx.get_host_id('my.example.com')
    end
  • Create hostgroup and get hostgroupid from zabbix api:

    zbx   = Zabbix::ZabbixApi.new('https://zabbix.example.com', 'login', 'password')
    if zbx.add_group('some_group') 
      puts zbx.get_group_id('some_group')
    end

More see in spec pleaseā€¦

Dependencies

  • net/http

  • net/https

  • json

Use examples

  • zabbix_la - LoadAverage template

    cd examples
    ruby zabbix_la -E development -g Templates
  • -E - env from examples/config.yml (like RAILS_ENV)

  • -g - group in zabbix for templates

Zabbix documentation