So-net無料ブログ作成
検索選択

zabbixのAPIを使用したデータの取得のPHP [プログラム]

zabbix APIを使用してデータを取得する場合のPHP処理。

authとURLのところは変更して下さい。

authはこれを実行する前に一度認証処理を行って、返ってきた値です。

itemidsは取得したい値のIDです。
time_fromは指定した時刻以降のデータを取得します。

Zabbix-API用のユーザに特権管理者権限を付与して下さい。

<?php
//cURL初期化
$channel = curl_init();
//パラメータ設定
$options = array(
    //リダイレクトする前のURLをセット
    CURLOPT_AUTOREFERER => TRUE,
    //HTTP で 400 以上のコードが返ってきた際に 処理失敗と判断し、何もしない
    CURLOPT_FAILONERROR => FALSE,
    //戻り値を文字列として扱う
    CURLOPT_RETURNTRANSFER => TRUE,
    //POST
    CURLOPT_POST => TRUE,
    CURLOPT_POSTFIELDS => '{"auth":"aaabbbcccddd11122233344455566fff","method":"history.get",
"id":1,"params":{"itemids":["10"],"time_from":"1316058010",
"output":"extend"},"jsonrpc":"2.0"}',
    //Header
    CURLOPT_HTTPHEADER => array('Content-Type: application/json-rpc'),
    //URL
    CURLOPT_URL => 'http://192.168.0.1/zabbix/api_jsonrpc.php',
    //ユーザエージェント
    CURLOPT_USERAGENT => 'Mozilla/4.0',
);
//オプション設定の追加
curl_setopt_array($channel, $options);
//cURLを実行
$body = curl_exec($channel);

$response_data['body'] = $body;
//URL IDのデータを配列に追加
//閉じる
curl_close($channel);
unset($channel);

$result_buf = json_decode($response_data['body'], true);
$result = array();

foreach($result_buf['result'] as $value)
{
    $clock = date('Y/m/d H:i:s', $value['clock']);
    $result[$clock] = $value['value'];
}

var_dump($result);
?>


[わーい(嬉しい顔)]
これの結果
array(7) {
    ["2011/09/15 12:40:10"]=>
    string(2) "61"
    ["2011/09/15 12:50:10"]=>
    string(2) "61"
    ["2011/09/15 13:00:10"]=>
    string(2) "61"
    ["2011/09/15 13:10:10"]=>
    string(2) "61"
    ["2011/09/15 13:20:10"]=>
    string(2) "61"
    ["2011/09/15 13:30:10"]=>
    string(2) "61"
    ["2011/09/15 13:40:10"]=>
    string(2) "61"
}

コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

コメント 0

コメントを書く

お名前:
URL:
コメント:
※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この記事のトラックバックURL:
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

関連リンク

TRUE   channel   true   body   Type   http   curl   POST   パラメータ   セット  

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。