template.get

説明

integer/array template.get(object parameters)

このメソッドを使用すると、指定したパラメーターに従ってテンプレートを取得できます。

このメソッドは、あらゆる種類のユーザーが利用できます。メソッドの呼び出し権限は、ユーザーのロール設定で取り消すことができます。詳細は User roles を参照してください。

パラメータ

(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 - (default) And/Or;
2 - Or.
tags object/array 指定したタグを持つテンプレートのみを返します。
形式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空の配列を指定すると、すべてのテンプレートが返されます。

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

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

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

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

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

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 これらのパラメータはreference commentaryで説明されています。
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 をサポートします。

この query は非推奨です。代わりに 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 エージェント 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 エージェント 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 エージェント 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 エージェント 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.