APIについて
いつもお世話になります。
現在、インベントリ管理について調べております。
[背景]
現状Zabbixでインベントリ管理を行うにあたっては、OS、MACアドレス、ハードウェアなどの各項目は手動での登録となっています。
監視台数が多いと手動での登録は煩雑な作業となるため、監視対象機器のインベントリ情報更新時などできるだけ手数を減らし自動で管理したい考えがあります。
監視ツールとしてZabbixを使用してきましたので、インベントリ管理ツールとしてもZabbixを使用できればベストだと考えております。しかしながら手動での登録を考えると、そういうわけにはいかず、他のインベントリ管理ツール、また、インベントリ管理として利用できる監視ツールの調査を行っている次第です。
[質問]
1.ZabbixのDBに保存しているデータを、他のツールから利用するための手段が存在するか否か
2.他のツールのDBに保存しているデータを、Zabbixから利用するための手段が存在するか否か
[現時点での調査結果]
書籍「Zabbix統合監視[実践]入門」P357にて1.8系からAPIであるZabconについての記載がありました。
1.についてはZabconを使用すればできそうな気がしますが、
・設定情報の表示
・ユーザの追加/削除
しか実装されていないとありました。
2.については情報が得られていません。
以上、参考になる情報を頂戴できればと思います。よろしくお願い致します。
TNK - 投稿数: 4720
APIを直接利用すれば、データの参照だけではなく更新を行うことができます。
ただし、まだAPI自体が頻繁に更新されていてバージョンが変わるたびに仕様が変わるので、もう少し仕様が固まってから利用された方が良いと思います。
APIのドキュメントとしてはAPIの一覧が公開されているのですが、このドキュメントと実装は一致していないので、どのようなAPIが用意されようとしているか程度で参考にされた方が良いでしょう。
APIドキュメント:
http://www.zabbix.com/documentation/1.8/api
API関連のWiki:
http://www.zabbix.com/wiki/doc/api
APIの詳細な利用方法に関して公開されている資料は、現時点では無いかもしれません。
私もZabbixのソースを解析したり、Zabconが中でAPIをどのように呼び出しているかを参考にしたりして一部の機能を利用したことがあるだけです。
ただ、先にも書きましたが1.8.2から1.8.3でも引数や返却される値の仕様が変更されたので、現在は調査も止めています。
# 次の1.8.4でもまたAPIが変更されているようです。
どのようなことを実現されたいのかがわかりませんが、外部にある測定の仕組みから値をZabbixに送信して、それを監視アイテムの一つとして取り扱うことであればできます。
リアルタイムでデータを逐次Zabbix側に送信する方法と、あとでタイムスタンプと値などのデータをファイル化して、そのファイルからZabbix側に取り込ませる方法とが実現可能です。
もう少し具体的に書くと、zabbix_senderというプログラムを利用し、受け取るZabbix上のアイテムのタイプとして「Zabbixトラッパー」を選択します。
「zabbix_sender グラフ」などのキーワードで検索すると、様々な活用例を見つけることができると思いますので、検索されてみてはいかがでしょうか?
また、スクリプトやプログラムで値を取得できるのであれば、1度に取得できるのは1つの値だけですが、アイテムの「外部チェック」を利用して値を取得して利用することができると思います。
sgym - 投稿数: 66
TNKさん
参考になる貴重な情報をいただきありがとうございます。
APIについて、まだ仕様が固まっていないというのは大きな収穫でした。
やりたいことはインベントリ管理です。手動登録がネックとなり色々調べています。具体的にこうしたいというのはまだはっきり決まっておらず、他のツールとの連携して、データ管理ができないか、ZabbixデータのIN/OUTの方法について調査を行っている次第です。