Zabbix API ホスト情報取得コマンド(host.get)

Infra
スポンサーリンク

概要

Zabbix APIを用いてZabbixに設定されているホスト情報を取得する
今回はZabbix WebUIのサーバ上で実施する内容となります
※コンテキストルートはZabbixインストール時のデフォルトの/zabbixとしています。

Zabbix APIとは?

Zabbix APIを使用すると、Zabbixの監視定義の取得または作成、変更、削除や監視の履歴データへのアクセスすることできます。
出力結果はZabbix APIの表示とは違う場合がありますが、各メソッドに設定している内容が記載させているので詳しくは、ZabbixAPIコマンドリファレンスをご覧下さい。

前提条件

・Zabbix WebUIにHTTP接続が可能な端末またはサーバで実行すること
・Zabbix 認証トークンが払い出されていること (まだの方はZabbix API 認証トークン払い出しを参照下さい。)
・jqコマンドがインストールされていること

ホスト情報取得 コマンド

host.getメソッドを利用します。

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": "extend",
        "selectInterfaces": "extend"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

「selectInterfaces」は登録しているIPアドレスを表示させるためセット
 
 

マクロ取得 実行例

コマンド(例)

curl -s -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": "extend",
        "selectInterfaces": "extend"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
' -H "Content-Type: application/json-rpc" http://localhost/zabbix/api_jsonrpc.php | jq -r -c '.result[] | [.host, .interfaces[].ip, .hostid] | @csv' 

 
 
出力結果(例)

"linuxserver,"192.168.10.123","10402"

こんな感じの出力結果になります
 
 

参考リンク

HOST.GETメソッド
※コチラでメソッドで利用できるパラメータを確認してください。

ありがとうございます

InfraZabbix4.x
スポンサーリンク
インフラエンジニア|パイナップル星人 ブログ

コメント

タイトルとURLをコピーしました