template.get

説明

integer/array template.get(object parameters)

このメソッドでは、指定された パラメータに従ってテンプレートを取得できます。

このメソッドは、すべてのタイプのユーザーが利用できます。メソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳細は、ユーザーロール を参照してください。

パラメータ

(object) 必要な出力を定義するパラメータ。

このメソッドは以下のパラメータをサポートしています。

Parameter Type Description
templateids ID/array 指定したテンプレートIDを持つテンプレートのみを返します。
groupids ID/array 指定したテンプレートグループに属するテンプレートのみを返します。
parentTemplateids ID/array 指定したテンプレートがリンクしているテンプレートのみを返します。
hostids ID/array 指定したホスト/テンプレートにリンクしているテンプレートのみを返します。
graphids ID/array 指定したグラフを含むテンプレートのみを返します。
itemids ID/array 指定したアイテムを含むテンプレートのみを返します。
triggerids ID/array 指定したトリガーを含むテンプレートのみを返します。
with_items flag アイテムを持つテンプレートのみを返します。
with_triggers flag トリガーを持つテンプレートのみを返します。
with_graphs flag グラフを持つテンプレートのみを返します。
with_httptests flag Webシナリオを持つテンプレートのみを返します。
evaltype integer タグの評価方法

指定可能な値:
0 - (デフォルト) And/Or;
2 - Or.
tags object/array 指定したタグを持つテンプレートのみを返します。
形式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空の配列を指定すると、すべてのテンプレートを返します。

指定可能なoperatorの値:
0 - (デフォルト) Contains;
1 - Equals;
2 - Does not contain;
3 - Does not equal;
4 - Exists;
5 - Does not exist.
selectTags query テンプレートタグを tags プロパティで返します。
selectDiscoveryRules query テンプレートのLLDルールを含む discoveryRules プロパティを返します。

count をサポートします。
selectHosts query テンプレートにリンクしているホストを hosts プロパティで返します。

count をサポートします。
selectTemplateGroups query テンプレートが属するテンプレートグループを templategroups プロパティで返します。
selectTemplates query 指定したテンプレートがリンクしているテンプレートを templates プロパティで返します。

count をサポートします。
selectParentTemplates query 指定したテンプレートにリンクしているテンプレートを parentTemplates プロパティで返します。

count をサポートします。
selectHttpTests query テンプレートのWebシナリオを httpTests プロパティで返します。

count をサポートします。
selectItems query テンプレートのアイテムを items プロパティで返します。

count をサポートします。
selectTriggers query テンプレートのトリガーを triggers プロパティで返します。

count をサポートします。
selectGraphs query テンプレートのグラフを graphs プロパティで返します。

count をサポートします。
selectMacros query テンプレートのマクロを macros プロパティで返します。
selectDashboards query テンプレートのダッシュボードを dashboards プロパティで返します。

count をサポートします。
selectValueMaps query テンプレートの値マップを含む valuemaps プロパティを返します。
limitSelects integer サブセレクトで返されるレコード数を制限します。

以下のサブセレクトに適用されます:
selectTemplates - 結果は name でソートされます;
selectHosts - host でソートされます;
selectParentTemplates - host でソートされます;
selectItems - name でソートされます;
selectDiscoveryRules - name でソートされます;
selectTriggers - description でソートされます;
selectGraphs - name でソートされます;
selectDashboards - name でソートされます。
sortfield string/array 指定したプロパティで結果をソートします。

指定可能な値: hostid, host, name, status.
countOutput boolean これらのパラメータについては、リファレンス解説を参照してください。
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectDiscoveries query テンプレートのローレベルディスカバリを discoveries プロパティで返します。

count をサポートします。

このクエリは非推奨です。代わりに selectDiscoveryRules を使用してください。

戻り値

(integer/array) 次のいずれかを返します:

  • オブジェクトの配列
  • countOutputパラメータが使用されている場合、取得されたオブジェクトの数

名前でテンプレートを取得する

"Linux" および "Windows" という名前の2つのテンプレートに関するすべてのデータを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent",
                "Windows by Zabbix agent"
            ]
        }
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "proxyid": "0",
            "host": "Linux by Zabbix agent",
            "status": "3",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Linux by Zabbix agent",
            "flags": "0",
            "templateid": "10001",
            "description": "これは公式のLinuxテンプレートです。Zabbix agent 7.4以降が必要です。\r\n\r\nファイルシステム(FS)ディスカバリに関する注意:\r\n- ext4/3/2ファイルシステムは、特権用途のための領域を予約しており、通常はデフォルトで5%に設定されています。\r\n- BTRFSは、独自の用途のためにボリュームの10%をデフォルトで割り当てます。\r\n- 潜在的な障害を軽減するため、FS使用率トリガーは利用可能な最大容量に基づいています。\r\n  - 使用率の計算式: 'pused = 100 - 100 * (available / total - free + available)'\r\n- グラフプロトタイプから生成されるFS使用率チャートでは、総ボリュームに対する使用済み容量と利用可能容量の差として、FSの予約領域が反映されます。\r\n\r\nこのテンプレートについて議論したり、フィードバックを残したりするには、フォーラム https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux をご利用ください。\r\n\r\n公式Zabbixテンプレートツール \"Templator\" により生成",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "custom_interfaces": "0",
            "uuid": "f8f7908280354f2abeed07dc788c3747",
            "vendor_name": "Zabbix",
            "vendor_version": "7.4-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## 概要\r\n\r\nこれは公式のLinuxテンプレートです。Zabbix agent 7.4以降が必要です。\r\n\r\n#### ファイルシステム(FS)ディスカバリに関する注意:\r\n- ext4/3/2 FSは、特権用途のための領域を予約しており、通常はデフォルトで5%に設定されています。\r\n- BTRFSは、独自の用途のためにボリュームの10%をデフォルトで割り当てます。\r\n- 潜在的な障害を軽減するため、FS使用率トリガーは利用可能な最大容量に基づいています。\r\n  - 使用率の計算式: `pused = 100 - 100 * (available / total - free + available)`\r\n- グラフプロトタイプから生成されるFS使用率チャートでは、総ボリュームに対する使用済み容量と利用可能容量の差として、FSの予約領域が反映されます。"
        },
        {
            "proxyid": "0",
            "host": "Windows by Zabbix agent",
            "status": "3",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Windows by Zabbix agent",
            "flags": "0",
            "templateid": "10081",
            "description": "これは公式のWindowsテンプレートです。Zabbix agent 7.4以降が必要です。\r\n\r\nこのテンプレートについて議論したり、フィードバックを残したりするには、フォーラム https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows をご利用ください。\r\n\r\n公式Zabbixテンプレートツール \"Templator\" により生成",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "custom_interfaces": "0",
            "uuid": "13b06904a6bf41cbb795e3193d896340",
            "vendor_name": "Zabbix",
            "vendor_version": "7.4-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## 概要\r\n\r\nこれは公式のWindowsテンプレートです。Zabbix agent 7.4以降が必要です。"
        }
    ],
    "id": 1
}

テンプレートグループの取得

テンプレート "Linux by Zabbix エージェント"が所属するテンプレートグループを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTemplateGroups": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent"
            ]
        }
    },
    "id": 1
}

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "templategroups": [
                {
                    "groupid": "10",
                    "name": "Templates/Operating systems",
                    "uuid": "846977d1dfed4968bc5f8bdb363285bc"
                }
            ]
        }
    ],
    "id": 1
}

テンプレートによるホストの取得

"10001"(Linux by Zabbix エージェント) テンプレートがリンクされているホストを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "templateid",
        "templateids": "10001",
        "selectHosts": ["hostid", "name"]
    },
    "id": 1
}

Response:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "hosts": [
                {
                    "hostid": "10084",
                    "name": "Zabbix server"
                },
                {
                    "hostid": "10603",
                    "name": "Host 1"
                },
                {
                    "hostid": "10604",
                    "name": "Host 2"
                }
            ]
        }
    ],
    "id": 1
}

テンプレートタグによる検索

タグ "host-name" が "{HOST.NAME}" に等しいテンプレートを取得します。

リクエスト:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "host-name",
                "value": "{HOST.NAME}",
                "operator": 1
            }
        ]
    },
    "id": 1
}

レスポンス:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10402",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "{HOST.NAME}"
                }
            ]
        }
    ],
    "id": 1
}

関連項目

ソース

CTemplate::get() in ui/include/classes/api/services/CTemplate.php.