Zabbix API テンプレートID 一覧取得コマンド(template.get)

Infra
スポンサーリンク

概要

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

Zabbix APIとは?

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

前提条件

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

テンプレートID取得 コマンド

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

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "extend",
        "filter": {
            "host": [
                "Linux",
                "Windows"
            ]
        }
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

 
 

テンプレートID取得 実行例

コマンド(例)
取得したい値だけ抽出して加工(printf)

curl -s -d '
{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "extend"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
' -H "Content-Type: application/json-rpc" http://localhost/zabbix/api_jsonrpc.php \
  | jq -r -c '.result[] | select(.name | startswith("Template OS")) | [.name, .templateid]' \
  | sed "s/\"//g"                                                                           \
  | awk -F"," 'BEGIN{printf("%-50s%-50s\n", "============== Template Name ============== ", "= Template ID =");} \
  { $a = substr($0, 2); sub(/.$/,"",$a); printf("%-50s%-50s\n", $1, $2) }'

 
 
出力結果(例)

============== Template Name ==============       = Template ID =
Template OS Linux                                 10001
Template OS OpenBSD                               10074
Template OS FreeBSD                               10075
Template OS AIX                                   10076
Template OS HP-UX                                 10077
Template OS Solaris                               10078
Template OS Mac OS X                              10079
Template OS Windows                               10081
Template OS Linux SNMPv2                          10248
Template OS Windows SNMPv2                        10249

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

参考リンク

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

ありがとうございます

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

コメント

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