webシナリオ監視結果のAPIからの取得方法

お世話になります。

Zabbix2.2.1でwebシナリオ監視を利用しております。
APIからこの監視結果を取得したいのですが、想定しているメソッドの”httptest.get”からでは
最新の時刻と結果が取得できないように見受けられます。

確認に使ったパラメータは以下の通りです。
curl -d '{"jsonrpc":"2.0","auth":"************","method":"httptest.get","params":{"output":"extend","selectSteps": "extend"},"id":1}' -H "Content-Type: application/json-rpc" http://*.*.*.*/zabbix/api_jsonrpc.php

Item.getメソッドでもwebシナリオの結果は取得できないように見受けられるので
他に取得方法等はございますでしょうか?

よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

まず、httptest.getは、Web監視の設定を取得するメソッドであっ
て、Web監視の結果を取得するものではないと思います。

アイテムとして取得した最新値を参照するのであれば、item.getで
extendオプションを設定して取得して、lastvalueを見ればよいと
思うのですが、実際にやってみたところ、item.getではWeb監視の
結果のアイテムに関しては、APIから取得できませんでした。

何らかの方法があるのかもしれませんが、現時点の調査状況として
は、取得できていない状況です。

TNK様

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

>アイテムとして取得した最新値を参照するのであれば、item.getで
>extendオプションを設定して取得して、lastvalueを見ればよいと
>思うのですが、実際にやってみたところ、item.getではWeb監視の
>結果のアイテムに関しては、APIから取得できませんでした。

やはりそうでしたか。
わざわざ確認いただき、ありがとうございます。

>何らかの方法があるのかもしれませんが、現時点の調査状況として
>は、取得できていない状況です。

APIでの取得が難しい場合、データベースから直接SQLで取得することは
可能でしょうか?

ユーザー Koji Okano の写真

ZABBIX 3.0.8での検証ですが、
history.getを使って出来るようです。

以下は最新の1件(降順"DESC"、limit=1)を取得する際のパラメータになります。

   'jsonrpc' => '2.0',
   'method' => 'history.get',
   'id' => 1,
   'auth' => user.loginで得たZABBIX認証キー,
   'params' => array(
      'output' => 'extend',
      'itemids' => グラフの"itemids[]=の右辺より取得,
      'sortfield' => 'clock',
      'sortorder' => 'DESC',
      'limit' => '1'),

アイテムIDは[監視データ]→[最新データ]からグラフを選択すると
Webについても各監視項目(HTTPステータスコードやシナリオの返り値、ダウンロード速度等)
に対してアイテムIDが振られているのがURLから分かります。
それを"itemids"に充ててあげればいいようです。