Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

hostprototype.get

説明

integer/array hostprototype.get(object parameters)

このメソッドでは、指定されたパラメーターを基にホストプロトタイプを取得できます。

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

パラメータ

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

このメソッドは、次のパラメーターをサポートします。

パラメータ タイプ 説明
hostids string/array 指定されたIDを持つホストプロトタイプのみを返します
discoveryids string/array 指定されたLLDルールに属するホストプロトタイプのみを返します
inherited boolean trueに設定すると、テンプレートから継承されたアイテムのみが返されます
selectDiscoveryRule query ホストプロトタイプが属するLLDルールを使用してdiscoveryRuleプロパティを返します
selectInterfaces query interfacesプロパティをホストプロトタイプカスタムインターフェイスとともに返します
selectGroupLinks query ホストプロトタイプのグループリンクを含むgroupLinksプロパティを返します
selectGroupPrototypes query groupPrototypesプロパティを、ホストプロトタイプのグループプロトタイプとともに返します
selectMacros query ホストプロトタイプマクロを使用してmacrosプロパティを返します
selectParentHost query ホストプロトタイプが属するホストのparent Hostプロパティを返します
selectTags query tagsプロパティをホストプロトタイプタグとともに返します
selectTemplates query ホストプロトタイプにリンクされたテンプレートを含むtemplatesプロパティを返します

countをサポートします
sortfield string/array 指定されたプロパティで結果を並べ替えます。

値はhostid,host,nameおよびstatusです
countOutput boolean すべてのgetメソッドに共通するこれらのパラメーターについてはGeneric Zabbix API informationページで詳しく説明されています
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

戻り値

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

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

LLDルールからホストプロトタイプの取得

LLDルールから、すべてのホストプロトタイプ、グループリンク、グループプロトタイプ、およびタグを取得します。

Request:

{
           "jsonrpc": "2.0",
           "method": "hostprototype.get",
           "params": {
               "output": "extend",
               "selectInterfaces": "extend",
               "selectGroupLinks": "extend",
               "selectGroupPrototypes": "extend",
               "selectTags": "extend",
               "discoveryids": "23554"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "hostid": "10092",
                   "host": "{#HV.UUID}",
                   "name": "{#HV.UUID}",
                   "status": "0",
                   "templateid": "0",
                   "discover": "0",
                   "custom_interfaces": "1",
                   "inventory_mode": "-1",
                   "groupLinks": [
                       {
                           "group_prototypeid": "4",
                           "hostid": "10092",
                           "groupid": "7",
                           "templateid": "0"
                       }
                   ],
                   "groupPrototypes": [
                       {
                           "group_prototypeid": "7",
                           "hostid": "10092",
                           "name": "{#CLUSTER.NAME}",
                           "templateid": "0"
                       }
                   ],
                   "tags": [
                       {
                           "tag": "Datacenter",
                           "value": "{#DATACENTER.NAME}"
                       },
                       {
                           "tag": "Instance type",
                           "value": "{#INSTANCE_TYPE}"
                       }
                   ],
                   "interfaces": [
                       {
                           "main": "1",
                           "type": "2",
                           "useip": "1",
                           "ip": "127.0.0.1",
                           "dns": "",
                           "port": "161",
                           "details": {
                               "version": "2",
                               "bulk": "1",
                               "community": "{$SNMP_COMMUNITY}"
                           }
                       }
                   ]
               }
           ],
           "id": 1
       }

参照

ソース

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