Zabbix API テンプレートマクロ情報取得コマンド(template.get)

Blog
スポンサーリンク

概要

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

Zabbix APIとは?

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

前提条件

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

テンプレートのマクロ情報取得 コマンド

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

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "templateids": "[テンプレートID]",
        "output": "macros",
        "selectMacros": "extend"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

 
 

マクロ取得 実行例

コマンド(例)
PostgreSQLのテンプレートのマクロ情報を取得する
PostgreSQLのテンプレートはpg-monzを使用しています。コチラのテンプレートをエクスポートした後にZabbixAPIを実行してからコマンドを実行して下さい。
※別のテンプレートがあればそちらでもOKです。

curl -s -d '
{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "templateids": "10999",
        "output": "macros",
        "selectMacros": "extend"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
' -H "Content-Type: application/json-rpc" http://localhost/zabbix/api_jsonrpc.php | jq .

 
 
出力結果(例)

{
  "jsonrpc": "2.0",
  "result": [
    {
      "templateid": "10368",
      "macros": [
        {
          "hostmacroid": "812",
          "hostid": "10368",
          "macro": "{$PGCACHEHIT_THRESHOLD}",
          "value": "90"
        },
        {
          "hostmacroid": "813",
          "hostid": "10368",
          "macro": "{$PGCHECKPOINTS_THRESHOLD}",
          "value": "10"
        },
        {
          "hostmacroid": "814",
          "hostid": "10368",
          "macro": "{$PGCONNECTIONS_THRESHOLD}",
          "value": "1300"
        },
        {
          "hostmacroid": "815",
          "hostid": "10368",
          "macro": "{$PGDBSIZE_THRESHOLD}",
          "value": "42949672960"
        },
        {
          "hostmacroid": "816",
          "hostid": "10368",
          "macro": "{$PGDEADLOCK_THRESHOLD}",
          "value": "0"
        },
        {
          "hostmacroid": "817",
          "hostid": "10368",
          "macro": "{$PGLOGDIR}",
          "value": "/var/log/postgres"
        },
        {
          "hostmacroid": "818",
          "hostid": "10368",
          "macro": "{$PGSCRIPTDIR}",
          "value": "/usr/local/bin"
        },
        {
          "hostmacroid": "819",
          "hostid": "10368",
          "macro": "{$PGSCRIPT_CONFDIR}",
          "value": "/usr/local/etc"
        },
        {
          "hostmacroid": "820",
          "hostid": "10368",
          "macro": "{$PGSLOWQUERY_COUNT_THRESHOLD}",
          "value": "10"
        },
        {
          "hostmacroid": "821",
          "hostid": "10368",
          "macro": "{$PGSLOWQUERY_TIME_THRESHOLD}",
          "value": "10"
        },
        {
          "hostmacroid": "822",
          "hostid": "10368",
          "macro": "{$PGTEMPBYTES_THRESHOLD}",
          "value": "8388608"
        },
        {
          "hostmacroid": "823",
          "hostid": "10368",
          "macro": "{$ZABBIX_AGENTD_CONF}",
          "value": "/etc/zabbix/zabbix_agentd.conf"
        }
      ]
    }
  ],
  "id": 1
}

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

参考リンク

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

ありがとうございます

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

コメント

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