You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

discoveryrule.get

説明

integer/array discoveryrule.get(object parameters)

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

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

パラメーター

(object) 望ましい出力を定義するパラメーター。

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

パラメーター 説明
itemids ID/array 指定したIDのLLDルールのみを返します。
groupids ID/array 指定したグループのホストに属するLLDルールのみを返します。
hostids ID/array 指定したホストに属するLLDルールのみを返します。
inherited boolean trueに設定すると、テンプレートから継承されたLLDルールのみを返します。
interfaceids ID/array 指定したホストインターフェースを使用するLLDルールのみを返します。
monitored boolean trueに設定すると、監視対象ホストに属する有効なLLDルールのみを返します。
templated boolean trueに設定すると、テンプレートに属するLLDルールのみを返します。
templateids ID/array 指定したテンプレートに属するLLDルールのみを返します。
selectDiscoveryData query LLDルールディスカバリーオブジェクトデータを持つdiscoveryDataプロパティを返します。LLDルールディスカバリーオブジェクトは、検出されたLLDルールを、そのルールが検出されたLLDルールプロトタイプにリンクします。
selectDiscoveryRulePrototypes query LLDルールに属するLLDルールプロトタイプを持つdiscoveryRulePrototypesプロパティを返します。

countをサポートします。
selectFilter query LLDルールで使用されるフィルターのデータを持つfilterプロパティを返します。
selectGraphs query LLDルールに属するグラフプロトタイプを持つgraphsプロパティを返します。

countをサポートします。
selectHostPrototypes query LLDルールに属するホストプロトタイプを持つhostPrototypesプロパティを返します。

countをサポートします。
selectHosts query LLDルールが属するホストの配列を持つhostsプロパティを返します。
selectItems query LLDルールに属するアイテムプロトタイプを持つitemsプロパティを返します。

countをサポートします。
selectTriggers query LLDルールに属するトリガープロトタイプを持つtriggersプロパティを返します。

countをサポートします。
selectLLDMacroPaths query 各対応するマクロに割り当てられた値へのパスとLLDマクロのリストを持つlld_macro_pathsプロパティを返します。
selectPreprocessing query LLDルールの前処理オプションを持つpreprocessingプロパティを返します。
selectOverrides query プロトタイプオブジェクトに対して実行されるオーバーライドフィルター、条件、操作のリストを持つlld_rule_overridesプロパティを返します。
filter object 指定したフィルターと完全一致する結果のみを返します。

オブジェクトを受け入れ、キーはプロパティ名、値は一致させる単一値または値の配列です。

textデータ型のプロパティはサポートしません。

追加プロパティをサポートします:
host - LLDルールが属するホストの技術名。
limitSelects integer サブセレクトによって返されるレコード数を制限します。

以下のサブセレクトに適用されます: selectItems, selectGraphs, selectTriggers
sortfield string/array 指定したプロパティで結果をソートします。

指定可能な値: itemid, name, key_, delay, type, status
countOutput boolean これらのパラメーターはリファレンス解説で説明されています。
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

戻り値

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

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

ホストからのディスカバリルールの取得

特定のホストIDのすべてのディスカバリルールを取得します。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": "extend",
               "hostids": "10202"
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "27425",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Network interface discovery",
                   "key_": "net.if.discovery",
                   "delay": "1h",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "22444",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "1",
                   "interfaceid": "119",
                   "description": "Discovery of network interfaces as defined in global regular expression \"Network interfaces for discovery\".",
                   "lifetime": "30d",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "uuid": "",
                   "lifetime_type": "0",
                   "enabled_lifetime_type": "2",
                   "enabled_lifetime": "0",
                   "state": "0",
                   "error": "",
                   "parameters": []
               },
               {
                   "itemid": "27426",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10202",
                   "name": "Mounted filesystem discovery",
                   "key_": "vfs.fs.discovery",
                   "delay": "1h",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "22450",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "1",
                   "interfaceid": "119",
                   "description": "Discovery of file systems of different types as defined in global regular expression \"File systems for discovery\".",
                   "lifetime": "30d",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "uuid": "",
                   "lifetime_type": "0",
                   "enabled_lifetime_type": "2",
                   "enabled_lifetime": "0",
                   "state": "0",
                   "error": "",
                   "parameters": []
               }
           ],
           "id": 1
       }

フィルター条件の取得

LLDルール "24681" の名前とそのフィルター条件を取得します。 フィルターは "and" 評価タイプを使用しているため、formula プロパティは空で、eval_formula は自動的に生成されます。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": ["name"],
               "selectFilter": "extend",
               "itemids": ["24681"]
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "24681",
                   "name": "Filtered LLD rule",
                   "filter": {
                       "evaltype": "1",
                       "formula": "",
                       "conditions": [
                           {
                               "macro": "{#MACRO1}",
                               "value": "@regex1",
                               "operator": "8",
                               "formulaid": "A"
                           },
                           {
                               "macro": "{#MACRO2}",
                               "value": "@regex2",
                               "operator": "9",
                               "formulaid": "B"
                           },
                           {
                               "macro": "{#MACRO3}",
                               "value": "",
                               "operator": "12",
                               "formulaid": "C"
                           },
                           {
                               "macro": "{#MACRO4}",
                               "value": "",
                               "operator": "13",
                               "formulaid": "D"
                           }
                       ],
                       "eval_formula": "A and B and C and D"
                   }
               }
           ],
           "id": 1
       }

URLによるLLDルールの取得

ルールのURLフィールド値でホストのLLDルールを取得します。 LLDルールに定義されたURL文字列の完全一致のみがサポートされます。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "hostids": "10257",
               "filter": {
                   "type": 19,
                   "url": "http://127.0.0.1/discoverer.php"
               }
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "28336",
                   "type": "19",
                   "snmp_oid": "",
                   "hostid": "10257",
                   "name": "API HTTP agent",
                   "key_": "api_discovery_rule",
                   "delay": "5s",
                   "status": "0",
                   "trapper_hosts": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "flags": "1",
                   "interfaceid": "5",
                   "description": "",
                   "lifetime": "30d",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "",
                   "url": "http://127.0.0.1/discoverer.php",
                   "query_fields": [
                       {
                           "name": "mode",
                           "value": "json"
                       },
                       {
                           "name": "elements",
                           "value": "2"
                       }
                   ],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [
                       {
                           "name" : "X-Type",
                           "value": "api"
                       },
                       {
                           "name": "Authorization",
                           "value": "Bearer mF_A.B5f-2.1JcM"
                       }
                   ],
                   "retrieve_mode": "0",
                   "request_method": "1",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "uuid": "",
                   "lifetime_type": "0",
                   "enabled_lifetime_type": "2",
                   "enabled_lifetime": "0",
                   "state": "0",
                   "error": "",
                   "parameters": []
               }
           ],
           "id": 1
       }

オーバーライド付きのLLDルールを取得

さまざまなオーバーライド設定を持つ1つのLLDルールを取得します。

リクエスト:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.get",
           "params": {
               "output": ["name"],
               "itemids": "30980",
               "selectOverrides": ["name", "step", "stop", "filter", "operations"]
           },
           "id": 1
       }

レスポンス:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "name": "Discover database host",
                   "overrides": [
                       {
                           "name": "Discover MySQL host",
                           "step": "1",
                           "stop": "1",
                           "filter": {
                               "evaltype": "2",
                               "formula": "",
                               "conditions": [
                                   {
                                       "macro": "{#UNIT.NAME}",
                                       "operator": "8",
                                       "value": "^mysqld\\.service$",
                                       "formulaid": "A"
                                   },
                                   {
                                       "macro": "{#UNIT.NAME}",
                                       "operator": "8",
                                       "value": "^mariadb\\.service$",
                                       "formulaid": "B"
                                   }
                               ],
                               "eval_formula": "A or B"
                           },
                           "operations": [
                               {
                                   "operationobject": "3",
                                   "operator": "2",
                                   "value": "Database host",
                                   "opstatus": {
                                       "status": "0"
                                   },
                                   "optag": [
                                       {
                                           "tag": "database",
                                           "value": "mysql"
                                       }
                                   ],
                                   "optemplate": [
                                       {
                                           "templateid": "10170"
                                       }
                                   ]
                               }
                           ]
                       },
                       {
                           "name": "Discover PostgreSQL host",
                           "step": "2",
                           "stop": "1",
                           "filter": {
                               "evaltype": "0",
                               "formula": "",
                               "conditions": [
                                   {
                                       "macro": "{#UNIT.NAME}",
                                       "operator": "8",
                                       "value": "^postgresql\\.service$",
                                       "formulaid": "A"
                                   }
                               ],
                               "eval_formula": "A"
                           },
                           "operations": [
                               {
                                   "operationobject": "3",
                                   "operator": "2",
                                   "value": "Database host",
                                   "opstatus": {
                                       "status": "0"
                                   },
                                   "optag": [
                                       {
                                           "tag": "database",
                                           "value": "postgresql"
                                       }
                                   ],
                                   "optemplate": [
                                       {
                                           "templateid": "10263"
                                       }
                                   ]
                               }
                           ]
                       }
                   ]
               }
           ],
           "id": 1
       }

参照

ソース

ui/include/classes/api/services/CDiscoveryRule.php の CDiscoveryRule::get()。