[comment]: # translation:outdated

[comment]: # ({ddce888e-ddce888e})
# discoveryrule.get

[comment]: # ({/ddce888e-ddce888e})

[comment]: # ({2142dcc8-b87cd1ee})
### 説明

`integer/array discoveryrule.get(object parameters)`

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

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

[comment]: # ({/2142dcc8-b87cd1ee})

[comment]: # ({6ae283f6-57007d3d})
### パラメータ

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

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

|パラメータ|[タイプ](/manual/api/reference_commentary#data_types)|説明|
|--|--|------|
|itemids|string/array|指定されたIDを持つLLDルールのみを返します|
|groupids|string/array|指定されたグループのホストに属するLLDルールのみを返します|
|hostids|string/array|指定されたホストに属するLLDルールのみを返します|
|inherited|boolean|`true`に設定すると、テンプレートから継承されたLLDルールのみが返されます|
|interfaceids|string/array|指定されたホストインターフェイスを使用するLLDルールのみを返します|
|monitored|boolean|`true`に設定すると、監視対象ホストに属する有効なLLDルールのみが返されます|
|templated|boolean|`true`に設定すると、テンプレートに属するLLDルールのみが返されます|
|templateids|string/array|指定されたテンプレートに属するLLDルールのみを返します|
|selectFilter|query|LLDルールで使用されるフィルターのデータを含む[フィルター](/manual/api/reference/discoveryrule/object#LLD_rule_filter)プロパティを返します。|
|selectGraphs|query|LLDルールに属するグラフプロトタイプを含む[グラフ](/manual/api/reference/graph/object)プロパティを返します。<br><br>`count`をサポートします。|
|selectHostPrototypes|query|LLDルールに属するホストプロトタイプを含む[ホストプロトタイプ](/manual/api/reference/hostprototype/object)プロパティを返します。<br><br>`count`をサポートします。|
|selectHosts|query|LLDルールが属するホストの配列を含む[hosts](/manual/api/reference/host/object)プロパティを返します。|
|selectItems|query|LLDルールに属するアイテムプロトタイプを含む[items](/manual/api/reference/item/object)プロパティを返します。<br><br>`count`をサポートします。|
|selectTriggers|query|LLDルールに属するトリガープロトタイプを含む[triggers](/manual/api/reference/trigger/object)プロパティを返します。<br><br>`count`をサポートします。|
|selectLLDMacroPaths|query|[lld\_macro\_paths](/manual/api/reference/discoveryrule/object#lld_macro_path)プロパティを返し、LLDマクロのリストと、対応する各マクロに割り当てられた値へのパスを示します。|
|selectPreprocessing|query|LLDルールの事前処理オプションを使用して`preprocessing`プロパティを返します。<br><br>次のプロパティがあります。<br>`type`-`(string)`事前処理オプションタイプ:<br>5 - 正規表現のマッチング<br>11 - XML XPath<br>12 - JSONPath<br>15 - 正規表現のアンマッチ<br>16 - JSONのエラーチェック<br>17 - XMLのエラーチェック<br>20 - ハートビートを変更せずに破棄<br>23 - プロメテウスからJSON<br>24 - CSVからJSON<br>25 - 置換<br>27 - XMLからJSON<br><br>`params`-`(string)`事前処理オプションで使用される追加のパラメーター。 複数のパラメータはLF(\\n)文字で区切られます。<br>`error_handler`-`(string)`事前処理ステップが失敗した場合に使用されるアクションタイプ:<br>0 - エラーメッセージをZabbixサーバーによって設定<br>1 - 値を破棄<br>2 - カスタム値を設定<br>3 - カスタムエラーメッセージを設定<br><br>`error_handler_params`-`(string)`エラーハンドラパラメータ|
|selectOverrides|[lld\_rule\_overrides](/manual/api/reference/discoveryrule/object#lld_rule_overrides)プロパティを、プロトタイプオブジェクトで実行されるオーバーライドフィルター、条件、および操作のリストとともに返します|
|filter|object|指定されたフィルターに完全に一致する結果のみを返します。<br><br>キーがプロパティ名であり、値が単一の値または一致する値の配列である配列を受け入れます。<br> <br >追加のフィルターをサポートします:<br>`host` - LLDルールが属するホストの技術名|
|limitSelects|integer|副選択によって返されるレコードの数を制限します。<br><br>次の副選択に適用されます:<br> `selctItems`<br>`selectGraphs`<br>`selectTriggers`|
|sortfield|string/array|指定されたプロパティで結果を並べ替えます<br><br>利用可能な値は`itemid`,` name`, `key_`,` delay`, `type`,`status`です|
|countOutput|boolean|すべての`get`メソッドに共通するこれらのパラメーターについては[リファレンス解説](/manual/api/reference_commentary#common_get_method_parameters)ページで詳しく説明されています。|
|editable|boolean|^|
|excludeSearch|boolean|^|
|limit|integer|^|
|output|query|^|
|preservekeys|boolean|^|
|search|object|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|boolean|^|

[comment]: # ({/6ae283f6-57007d3d})

[comment]: # ({7223bab1-7223bab1})
### 戻り値

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

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

[comment]: # ({/7223bab1-7223bab1})

[comment]: # ({b41637d2-b41637d2})
### 例

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({f8ee3565-5f8b5429})
#### ホストからディスカバリルールの取得

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

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "discoveryrule.get",
    "params": {
        "output": "extend",
        "hostids": "10202"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Response:

```json
{
    "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": "",
            "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": "3s",
            "url": "",
            "query_fields": [],
            "posts": "",
            "status_codes": "200",
            "follow_redirects": "1",
            "post_type": "0",
            "http_proxy": "",
            "headers": [],
            "retrieve_mode": "0",
            "request_method": "0",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "allow_traps": "0",
            "uuid": "",
            "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": "",
            "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": "3s",
            "url": "",
            "query_fields": [],
            "posts": "",
            "status_codes": "200",
            "follow_redirects": "1",
            "post_type": "0",
            "http_proxy": "",
            "headers": [],
            "retrieve_mode": "0",
            "request_method": "0",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "allow_traps": "0",
            "uuid": "",
            "state": "0",
            "error": "",
            "parameters": []
        }
    ],
    "id": 1
}
```

[comment]: # ({/f8ee3565-5f8b5429})

[comment]: # ({1aafe8a0-4d0af030})
#### フィルタ条件の取得

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

Request:

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

Response:

```json
{
    "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
}
```

[comment]: # ({/1aafe8a0-4d0af030})

[comment]: # ({8a360f45-e3de6fe8})
#### URLでLLDルールを取得する

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

Request:

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

Response:

```json
{
    "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": "",
            "interfaceid": "5",
            "description": "",
            "lifetime": "30d",
            "jmx_endpoint": "",
            "master_itemid": "0",
            "timeout": "3s",
            "url": "http://127.0.0.1/discoverer.php",
            "query_fields": [
                {
                    "mode": "json"
                },
                {
                    "elements": "2"
                }
            ],
            "posts": "",
            "status_codes": "200",
            "follow_redirects": "1",
            "post_type": "0",
            "http_proxy": "",
            "headers": {
                "X-Type": "api",
                "Authorization": "Bearer mF_A.B5f-2.1JcM"
            },
            "retrieve_mode": "0",
            "request_method": "1",
            "ssl_cert_file": "",
            "ssl_key_file": "",
            "ssl_key_password": "",
            "verify_peer": "0",
            "verify_host": "0",
            "allow_traps": "0",
            "uuid": "",
            "state": "0",
            "error": "",
            "parameters": []
        }
    ],
    "id": 39
}
```

[comment]: # ({/8a360f45-e3de6fe8})

[comment]: # ({f2c677fb-c0ae2d21})
#### オーバーライドを使用してLLDルールを取得する

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

Request:

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

Response:

```json
{
    "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": 39
}
```

[comment]: # ({/f2c677fb-c0ae2d21})

[comment]: # ({1bec0758-f25d02bb})
### 参照

-   [Graph prototype](/manual/api/reference/graphprototype/object#graph_prototype)
-   [Host](/manual/api/reference/host/object#host)
-   [Item prototype](/manual/api/reference/itemprototype/object#item_prototype)
-   [LLD rule filter](object#lld_rule_filter)
-   [Trigger prototype](/manual/api/reference/triggerprototype/object#trigger_prototype)

[comment]: # ({/1bec0758-f25d02bb})

[comment]: # ({e14efed8-e14efed8})
### ソース

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

[comment]: # ({/e14efed8-e14efed8})
