Git Product home page Git Product logo

zabbix's Introduction

Zabbix API

Version Maintainability Test Coverage

This is a wrapper for the Zabix rest API. You can see the API endpoints here https://www.zabbix.com/documentation/current/en/manual/api/reference/

Currently only the GET requests to get a list of hosts, host groups and problems are implemented.

Installation

Add this line to your application's Gemfile:

gem 'zabbix_api_gem'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install zabbix_api_gem

Usage

Before you start making the requests to API provide the client id and client secret and email/password using the configuration wrapping.

require 'zabbix_api_gem'

# use do block
Zabbix.configure do |config|
  config.endpoint = ENV["ZABBIX_API_HOST"]
  config.access_token = ENV["ZABBIX_API_KEY"]
end

# or configure with options hash
client = Zabbix.client({ logger: Logger.new(CLIENT_LOGGER) })

client = Zabbix.client
client.login

hostgroups = client.hostgroups
companies.each do |c|
  puts "#{c.name}"
end

Resources

Authentication

# setup configuration
#
client.login
Resource API endpoint Description
.login none uses settings.get to check if credentials are correct. Raises Zabbix:AuthenticationError incase this fails

Server settings

Return zabbix server settings

puts client.settings.default_theme
Resource API endpoint
.settings settings.get

Data resourcews

Endpoint for data related requests

groups = client.hostgroups
group_hosts = client.hosts({groupids:[groups.first.groupid]})

group_hosts.each do |host|
  client.problems({hostids:[host.hostid]}).each do |problem|
    puts problem.name
  end
end
Resource API endpoint
hostgroups, hostgroup(hostgroup_id) hostgroup.get
.hosts, host(host_id) hosts.get
.problems, problem(event_id) problems.get
.events, event(event_id) problems.get

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jancotanis/zabbix.

License

The gem is available as open source under the terms of the MIT License.

zabbix's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.