このページで
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.