template.get

説明

integer/array template.get(object parameters)

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

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

パラメータ

(object) 目的の出力を定義するパラメータ。

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

パラメータ 説明
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.
inheritedTags boolean 指定したtagsを、リンクされたテンプレートにも持つテンプレートを返します。

使用可能な値:
true - リンクされたテンプレートも指定したタグを持っている必要があります;
false - (デフォルト) リンクされたテンプレートのタグは無視されます。
selectInheritedTags query リンクされたテンプレート上のタグを含むinheritedTagsプロパティを返します。
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 by Zabbix agent"と"Windows by Zabbix agent"という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 8.0以降が必要です。\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": "8.0-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## 概要\r\n\r\nこれは公式のLinuxテンプレートです。Zabbix agent 8.0以降が必要です。\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 8.0以降が必要です。\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": "8.0-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## 概要\r\n\r\nこれは公式のWindowsテンプレートです。Zabbix agent 8.0以降が必要です。"
        }
    ],
    "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": [
        {
            "templateid": "10402",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "{HOST.NAME}"
                }
            ]
        }
    ],
    "id": 1
}

関連項目

ソース

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