CentOS 6.3 64bit
Zabbix 2.0.3
PHP 5.3.3
Zabbix 2.0.3
PHP 5.3.3
■設定およびサンプル実行
http://zabbixapi.confirm.ch/download.php?file=library
から最新のphpライブラリをダウンロードします
bzip2 -d PhpZabbixApi_Library.tar.bz2
tar xvf PhpZabbixApi_Library.tar
cd PhpZabbixApi_Library
vi ZabbixApi.class.php
以下の1行を追加します
vi sample_zabbix.php
以下のサンプルコードを記載します
「username」と「password」はzabbixにログインする際のものを使います
php sample_zabbix.php
を実行するとapiのバージョンが返ってきます
エラーになる場合は以下を確認してみてください
から最新のphpライブラリをダウンロードします
bzip2 -d PhpZabbixApi_Library.tar.bz2
tar xvf PhpZabbixApi_Library.tar
cd PhpZabbixApi_Library
vi ZabbixApi.class.php
以下の1行を追加します
require 'ZabbixApiAbstract.class.php';
vi sample_zabbix.php
以下のサンプルコードを記載します
「username」と「password」はzabbixにログインする際のものを使います
<?php require 'ZabbixApi.class.php'; try { $api = new ZabbixApi('http://hostname/api_jsonrpc.php', 'username', 'password'); $res = $api->apiinfoVersion(); var_dump($res); } catch (Exception $e) { echo $e->getMessage() . "\n"; } ?>
php sample_zabbix.php
を実行するとapiのバージョンが返ってきます
エラーになる場合は以下を確認してみてください
- phpファイルの権限が755になっていることを確認する、もしくは実行するユーザに実行権限が付いていることを確認する
- zabbixのホスト名やユーザ名パスワードが間違っていないか
- そもそもphpがインストールされていない
■Tips
PHPのメソッドのコール方法はZabbixAPI名と連動している
例えばホストを取得するAPIは host.get というAPIをコールするが、PHPでは hostGet というメソッドをコールする
ドットで区切られている部分をcamel caseに変換してコールすればPHPで呼ぶことができる
なのでPHPのリファレンスがなくてもZabbixのAPIリファレンスを見るだけで必要なメソッドをコールすることができる
Zabbix 2.0 APIリファレンス
リファレンス内のリクエストパラメータで「query」というTypeが存在している
ここには以下が指定できる
指定可能なquery一覧
例えばホストを取得するAPIは host.get というAPIをコールするが、PHPでは hostGet というメソッドをコールする
ドットで区切られている部分をcamel caseに変換してコールすればPHPで呼ぶことができる
なのでPHPのリファレンスがなくてもZabbixのAPIリファレンスを見るだけで必要なメソッドをコールすることができる
Zabbix 2.0 APIリファレンス
リファレンス内のリクエストパラメータで「query」というTypeが存在している
ここには以下が指定できる
- shorten - returns just the primary key;
- refer - returns the primary key and the foreign keys used to link related objects;
- extend - returns all object properties;
- count - returns the number of retrieved records; supported only by certain subselects.
指定可能なquery一覧
■参考サイト
0 件のコメント:
コメントを投稿