Skip to content

Instantly share code, notes, and snippets.

@mechamogera mechamogera/Gemfile
Last active May 20, 2016

Embed
What would you like to do?
Zabbix APIをRubyから利用する場合どのライブラリが良いのか調べてみる

Zabbix APIをRubyから利用する場合どのライブラリが良いのか調べてみる

選定結果

  • zabbixapiを使ってみる
  • ruby1.9でしかサンプルが動かなかったのが気になるがサンプルが充実していて対応するzabbixのバージョンも明記されている

Hostの情報取得を書いてみた所感

  • Zabbix API
  • 日本語の使用レポートがちらほらあるが公式のtracではあまりドキュメントがない
  • Rubix
  • apiごとに特化したIFではなく汎用的なIFを用意している感じ
  • zabbixapi
  • apiごとに使いやすいAPIが用意されている感じ(ただし、ruby1.9でしかサンプルが動かなかった)
  • githubページでサンプルが充実していて対応するzabbixのバージョンも明記されている
  • zabby
  • 書き方が独特な感じ

各ライブラリの最終更新日

各ライブラリのgemダウンロード数(2013/2/4現在)

# A sample Gemfile
source "https://rubygems.org"
gem 'rubix'
gem 'zabbixapi'
gem 'zabby'
gem 'zbxapi'
require 'rubix'
ZABBIX_SERVER = "example.com"
ZABBIX_API_URL = "http://#{ZABBIX_SERVER}/zabbix/api_jsonrpc.php"
ZABBIX_LOGINID = "admin"
ZABBIX_PASSWORD = "zabbix"
zbx = Rubix.connect(ZABBIX_API_URL, ZABBIX_LOGINID, ZABBIX_PASSWORD)
res = zbx.request('host.get', "output" => "extend")
p res.result
require 'zabbixapi'
ZABBIX_SERVER = "example.com"
ZABBIX_API_URL = "http://#{ZABBIX_SERVER}/zabbix/api_jsonrpc.php"
ZABBIX_LOGINID = "admin"
ZABBIX_PASSWORD = "zabbix"
zbx = ZabbixApi.connect(:url => ZABBIX_API_URL, :user => ZABBIX_LOGINID, :password => ZABBIX_PASSWORD)
p zbx.hosts.get("output" => "extend")
require 'zabby'
ZABBIX_SERVER = "example.com"
ZABBIX_API_URL = "http://#{ZABBIX_SERVER}/zabbix/api_jsonrpc.php"
ZABBIX_LOGINID = "admin"
ZABBIX_PASSWORD = "zabbix"
z = Zabby.init do
set :server => ZABBIX_API_URL
set :user => ZABBIX_LOGINID
set :password => ZABBIX_PASSWORD
login
end
p z.run { Zabby::Host.get("output" => "extend") }
require 'zbxapi'
ZABBIX_SERVER = "example.com"
ZABBIX_API_URL = "http://#{ZABBIX_SERVER}/zabbix/api_jsonrpc.php"
ZABBIX_LOGINID = "admin"
ZABBIX_PASSWORD = "zabbix"
zbxapi = ZabbixAPI.new(ZABBIX_API_URL)
zbxapi.login(ZABBIX_LOGINID, ZABBIX_PASSWORD)
p zbxapi.host.get("output" => "extend")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.