jsonpipeを使ってzabbix apiのレスポンスを見やすくする
jsonpipeというものをちょっと試してみたので書いておきます。
https://github.com/dvxhouse/jsonpipe
json形式の値を整形して出力してくれるものです。
準備
CentOSにいろいろインストールしていきます。
□ pythonインストール
# yum install python
□ setuptoolsインストール
# yum install python-setuptools
□ pipインストール
easy_install pip
□ jsonpipeインストール
pip install jsonpipe
zabbix apiからのレスポンスを実際にjsonpipeに投げてみた
出力結果をjsonpipeコマンドに投げてあげるだけで整形してくれます。
# curl -X POST -d '{"auth":"20df7e4694afafea61cbb93d9afaaab","method":"item.get","id":1,"params":{"output":"extend","filter":{"host":"sample01"},"limit":1},"jsonrpc":"2.0"}' -H "Content-Type: application/json- rpc" http://192.168.xxx.xxx/zabbix/api_jsonrpc.php | jsonpipe / {} /jsonrpc "2.0" /result /result/0 {} /result/0/hosts /result/0/hosts/0 {} /result/0/hosts/0/hostid "10056" /result/0/itemid "23145" /result/0/type "0" /result/0/snmp_community "" /result/0/snmp_oid "" /result/0/snmp_port "161" /result/0/hostid "10056" /result/0/description "Ping to the server (TCP)" /result/0/key_ "agent.ping" /result/0/delay "30" /result/0/history "7" /result/0/trends "365" /result/0/lastvalue "1" /result/0/lastclock "1306143376" /result/0/prevvalue "1" /result/0/status "0" /result/0/value_type "3" /result/0/trapper_hosts "" /result/0/units "" /result/0/multiplier "0" /result/0/delta "0" /result/0/prevorgvalue null /result/0/snmpv3_securityname "" /result/0/snmpv3_securitylevel "0" /result/0/snmpv3_authpassphrase "" /result/0/snmpv3_privpassphrase "" /result/0/formula "0" /result/0/error "" /result/0/lastlogsize "0" /result/0/logtimefmt "" /result/0/templateid "10020" /result/0/valuemapid "1" /result/0/delay_flex "" /result/0/params "" /result/0/ipmi_sensor "" /result/0/data_type "0" /result/0/authtype "0" /result/0/username "" /result/0/password "" /result/0/publickey "" /result/0/privatekey "" /result/0/mtime "0" /id 1
見やすくなった!
Zabbix APIを使って開発している人で取得結果とにらめっこしながらやっている人には導入をおすすめします。
jsonpipeを教えてくださった先輩に感謝。