API」タグアーカイブ

Zabbix APIでホストインベントリを取得

Zabbix APIからホストインベントリを取得したい時のやり方をハマったのでメモ。
デフォルトではホストインベントリは出力に含まれていない。

withInventoryでホストインベントリがあるもののみに絞っているのでホストインベントリの値が無いものも出力させたい場合はコメントアウトする。
selectInventoryにはTrueではなくextentとする。

Pocket

PyhtonからZABBIXグラフを取得


APIに graph.get なんていうメソッドがあるからてっきりAPIでグラフを取得できるのかなーと思ったら、全然違ったのでメモ

認証

正直 user.login と user.authenticate の違いがよくわかってない。
とりあえず今回は user.login を使ってみる。

このcookieがアクセスに必要になる認証キーです。

グラフを生成してみる

URLに付ける引数の説明
あんまりしっかり調べてないから違うかも

引数名 引項目概要 説明
graphid グラフのID APIから取得可能
width 横幅(px) デフォルト値:600?
height 縦幅(px) デフォルト値:300?
border グラフ画像の枠線(0 or 1) なし(0)
period グラフ画像の期間(秒) 12時間=43200秒
stime グラフの開始時間(YYYYMMDDhhmmss) 2012/11/22 06:00:00=20121122060000

必須項目は graphid と period、stime

graphidはAPIのgraph.getメソッドでひっぱてくればOK
注意点はあくまでグラフで作成したグラフしか取得できないので最新の値で表示されるグラフは取得できません。
…なんかややこしいな…

参考にした記事とか

後日もうちょっと詳細に記事を書きなおそう…

Pocket

PyhtonでZABBIX APIを触ってみる


ZABBXI_APIとかPython用モジュールがあるけども、対応してない部分があったりしたので
urllib2 と json モジュールで直接触ってみた。
最初、pycurlを使ってやってみたけど、urllib2のほうが扱いやすいし行数も少なく済んだのでurllib2の方のみ記載。
何より標準モジュールというのが楽でいい。

環境

基本的にCentOS6.3にPyhton2.7.3をインストールで作った環境。

  • ZABBIX : 2.0.1
  • Python : 2.7.3
  • 必要モジュール : json urllib2

認証してみる

この値が今後のアクセスに必要になる認証キーです。

HOST一覧を取得してみる

基本的に認証と同じです。
差異はjson内の「params」と「auth」の値くらいです。

APIのメソッドはZABBIX公式のマニュアルを見ると捗ります。
※ 1.8系のマニュアルとかなり違うので注意
※「認証してみる」が完了している事が前提です。

参考的な使い方

※json 生成部分のみです

特定ユーザーグループに所属してるユーザーの一覧を取得

userid 20と21のユーザー情報を取得

参考にした記事とか

公式ドキュメントのサンプルをそのまま入れれば使えます。

ありがとうございました。

Pocket