trigger.getのexpandDataを指定したが、hostnameが表示されない。
下記の構成のシステムです。
ZABBIX:3.0.4
DB:MariaDB
ZABBIX API: PHP 7.1.2
1点質問事項があります、ご存知の方がいればご教示いただけないでしょうか。
trigger.getのexpandDataを指定すると、host,hostid,hostnameが返ってくる認識ですが、
弊社環境で試しましたが、返ってこないです。
リクエストデータは以下の通り作りましたが、何か当方の指定の仕方に間違いがありますでしょうか?
=リクエストデータ======
$request = array(
'jsonrpc' => '2.0',
'method' => 'trigger.get',
'params' => array(
'output' => array('triggerid' , 'expression' , 'description' , 'status'
, 'priority','comments' , 'state' , 'host' , 'hostid' , 'hostname'),
'filter' => array('triggerid' => 17604),
'selectFunctions' => 'extend',
'expandData' => 'true',
'expandDescription' => 'true',
'expandExpression' => 'true',
),
'id' => 1,
'auth' => 'XXXXXXXXXXXXXXXXXXXX',
);
=出力結果======
string(671) "{
"jsonrpc": "2.0",
"result": [
{
"triggerid": "17604",
"expression": "{DBSRV:perf_counter[\\LogicalDisk(D:)\\Avg. Disk Queue Length].min(600)}>10",
"description": "Logical Disk Queue Length on D:",
"status": "0",
"priority": "4",
"comments": "",
"state": "0",
"functions": [
{
"functionid": "20407",
"itemid": "31114",
"triggerid": "17604",
"function": "min",
"parameter": "600"
}
]
}
],
"id": 1
}"
a5243227 - 投稿数: 10
3.0からtrigger.getでexpandDataの指定ができなくなり、host情報の取得ができなくなったようです。
下記サイトでexpandDataで検索かけると3.0の方では見つからないです。
[2.2]
https://www.zabbix.com/documentation/2.2/manual/api/reference/trigger/ge...
[3.0]
https://www.zabbix.com/documentation/3.0/manual/api/reference/trigger/ge...
本件につきましては私のほうでも困っておりまして、
何か解決策見つかりましたら共有いたします。
a5243227 - 投稿数: 10
'selectHosts' => 'extend'を追加したところhostid、host、nameを
取得することができましたのでご確認ください。
fripper - 投稿数: 495
リクエストを出す際に、"selectHosts" のパラメータを付与して、
{"host","hostid"}など、hosts 関連で欲しいカラム名を列挙するか、もしくは"extend" を指定しておくか‥で
いかがでしょうか?
戻り値の hosts 属性値として、配列っぽい形式で得られるかと思います
リクエスト要求時の "output" 指定で、結果出力のカラムを絞っておられるようなので、そこに"hosts"が無いと
結果から除外されてしまうかもしれません
atsushi23.suzuki - 投稿数: 13
いつもお世話になっています。
a5243227さん、fripper さん ご回答ありがとうございます。
ご教示いただいた方法で出力できるようになりました。
参考までに、コードを添付しておきます。
==========================
$request = array(
'jsonrpc' => '2.0',
'method' => 'trigger.get',
'params' => array(
'output' => array('triggerid' , 'expression' , 'description' , 'status'
, 'priority','comments' , 'state' , 'host' , 'hostid' , 'name'),
// 'filter' => array('triggerid' => 17447),
'selectFunctions' => 'extend',
'selectHosts' => 'extend',
'expandData' => 'true',
'expandDescription' => 'true',
'expandExpression' => 'true',
),
'id' => 1,
'auth' => 'd13b1eaa0d3a878876fe441cc691cdf4',
);