Áú»¢¶Ä²©

§¿§ä§à §á§Ö§â§Ö§Ó§à§Õ §ã§ä§â§Ñ§ß§Ú§è§í §Õ§à§Ü§å§Þ§Ö§ß§ä§Ñ§è§Ú§Ú §ã §Ñ§ß§Ô§Ý§Ú§Û§ã§Ü§à§Ô§à §ñ§Ù§í§Ü§Ñ. §±§à§Þ§à§Ô§Ú§ä§Ö §ß§Ñ§Þ §ã§Õ§Ö§Ý§Ñ§ä§î §Ö§Ô§à §Ý§å§é§ê§Ö.

discoveryrule.create

§°§á§Ú§ã§Ñ§ß§Ú§Ö

object discoveryrule.create(§à§Ò§ì§Ö§Ü§ä/§Þ§Ñ§ã§ã§Ú§Ó lldRules)

§¿§ä§à§ä §Þ§Ö§ä§à§Õ §á§à§Ù§Ó§à§Ý§ñ§Ö§ä §ã§à§Ù§Õ§Ñ§Ó§Ñ§ä§î §ß§à§Ó§í§Ö §á§â§Ñ§Ó§Ú§Ý§Ñ LLD.

§¿§ä§à§ä §Þ§Ö§ä§à§Õ §Õ§à§ã§ä§å§á§Ö§ß §ä§à§Ý§î§Ü§à §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§ñ§Þ §ã §ä§Ú§á§à§Þ §Õ§à§ã§ä§å§á§Ñ §¡§Õ§Þ§Ú§ß§Ú§ã§ä§â§Ñ§ä§à§â §Ú §³§å§á§Ö§â-§Ñ§Õ§Þ§Ú§ß§Ú§ã§ä§â§Ñ§ä§à§â. §²§Ñ§Ù§â§Ö§ê§Ö§ß§Ú§ñ §ß§Ñ §Ó§í§Ù§à§Ó §Þ§Ö§ä§à§Õ§Ñ §Þ§à§Ø§ß§à §à§ä§à§Ù§Ó§Ñ§ä§î §Ó §ß§Ñ§ã§ä§â§à§Û§Ü§Ñ§ç §â§à§Ý§Ö§Û §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§ñ. §¥§à§á§à§Ý§ß§Ú§ä§Ö§Ý§î§ß§å§ð §Ú§ß§æ§à§â§Þ§Ñ§è§Ú§ð §ã§Þ. §Ó §â§Ñ§Ù§Õ§Ö§Ý§Ö §²§à§Ý§Ú §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§Ö§Û.

§±§Ñ§â§Ñ§Þ§Ö§ä§â§í

(§à§Ò§ì§Ö§Ü§ä/§Þ§Ñ§ã§ã§Ú§Ó) §³§à§Ù§Õ§Ñ§Ó§Ñ§Ö§Þ§í§Ö §á§â§Ñ§Ó§Ú§Ý§Ñ LLD.

§£ §Õ§à§á§à§Ý§ß§Ö§ß§Ú§Ö §Ü §ã§ä§Ñ§ß§Õ§Ñ§â§ä§ß§í§Þ §ã§Ó§à§Û§ã§ä§Ó§Ñ§Þ §á§â§Ñ§Ó§Ú§Ý§Ñ LLD, §ï§ä§à§ä §Þ§Ö§ä§à§Õ §á§â§Ú§ß§Ú§Þ§Ñ§Ö§ä §ã§Ý§Ö§Õ§å§ð§ë§Ú§Ö §á§Ñ§â§Ñ§Þ§Ö§ä§â§í.

§±§Ñ§â§Ñ§Þ§Ö§ä§â §´§Ú§á §°§á§Ú§ã§Ñ§ß§Ú§Ö
filter §à§Ò§ì§Ö§Ü§ä §°§Ò§ì§Ö§Ü§ä §æ§Ú§Ý§î§ä§â§Ñ §á§â§Ñ§Ó§Ú§Ý§Ñ LLD §Õ§Ý§ñ §á§â§Ñ§Ó§Ú§Ý§Ñ LLD.

§£§à§Ù§Ó§â§Ñ§ë§Ñ§Ö§Þ§í§Ö §Ù§ß§Ñ§é§Ö§ß§Ú§ñ

(§à§Ò§ì§Ö§Ü§ä) §£§à§Ù§Ó§â§Ñ§ë§Ñ§Ö§ä §à§Ò§ì§Ö§Ü§ä, §Ü§à§ä§à§â§í§Û §ã§à§Õ§Ö§â§Ø§Ú§ä ID §ã§à§Ù§Õ§Ñ§ß§ß§í§ç §á§â§Ñ§Ó§Ú§Ý LLD, §å§Ü§Ñ§Ù§Ñ§ß§ß§í§ç §Ó §ã§Ó§à§Û§ã§ä§Ó§Ö itemids. §±§à§â§ñ§Õ§à§Ü §Ó§à§Ù§Ó§â§Ñ§ë§Ñ§Ö§Þ§í§ç ID §ã§à§Ó§á§Ñ§Õ§Ñ§Ö§ä §ã §á§à§â§ñ§Õ§Ü§à§Þ §á§Ö§â§Ö§Õ§Ñ§ß§ß§í§ç §á§â§Ñ§Ó§Ú§Ý LLD.

§±§â§Ú§Þ§Ö§â§í

§³§à§Ù§Õ§Ñ§ß§Ú§Ö LLD §á§â§Ñ§Ó§Ú§Ý§Ñ

§³§à§Ù§Õ§Ñ§ä§î LLD §á§â§Ñ§Ó§Ú§Ý§à Áú»¢¶Ä²© §Ñ§Ô§Ö§ß§ä§Ñ §Õ§Ý§ñ §à§Ò§ß§Ñ§â§å§Ø§Ö§ß§Ú§ñ §ã§Þ§à§ß§ä§Ú§â§à§Ó§Ñ§ß§ß§í§ç §æ§Ñ§Û§Ý§à§Ó§í§ç §ã§Ú§ã§ä§Ö§Þ. §°§Ò§ß§Ñ§â§å§Ø§Ö§ß§ß§í§Ö §ï§Ý§Ö§Þ§Ö§ß§ä§í §Ò§å§Õ§å§ä §à§Ò§ß§à§Ó§Ý§ñ§ä§î§ã§ñ §Ü§Ñ§Ø§Õ§í§Ö 30 §ã§Ö§Ü§å§ß§Õ.

§©§Ñ§á§â§à§ã:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Mounted filesystem discovery",
               "key_": "vfs.fs.discovery",
               "hostid": "10197",
               "type": 0,
               "interfaceid": "112",
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

§°§ä§Ó§Ö§ä:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27665"
               ]
           },
           "id": 1
       }

§ª§ã§á§à§Ý§î§Ù§à§Ó§Ñ§ß§Ú§Ö §æ§Ú§Ý§î§ä§â§Ñ

§³§à§Ù§Õ§Ñ§ß§Ú§Ö §á§â§Ñ§Ó§Ú§Ý§Ñ LLD §ã §ß§Ñ§Ò§à§â§à§Þ §å§ã§Ý§à§Ó§Ú§Û §á§à §Ü§à§ä§à§â§í§Þ §ß§Ö§à§Ò§ç§à§Õ§Ú§Þ§à §æ§Ú§Ý§î§ä§â§à§Ó§Ñ§ä§î §â§Ö§Ù§å§Ý§î§ä§Ñ§ä§í. §µ§ã§Ý§à§Ó§Ú§ñ §Ò§å§Õ§å§ä §ã§Ô§â§å§á§á§Ú§â§à§Ó§Ñ§ß§í §Ó§Þ§Ö§ã§ä§Ö §á§â§Ú §á§à§Þ§à§ë§Ú §Ý§à§Ô§Ú§é§Ö§ã§Ü§à§Ô§à §à§á§Ö§â§Ñ§ä§à§â§Ñ "§Ú".

§©§Ñ§á§â§à§ã:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Filtered LLD rule",
               "key_": "lld",
               "hostid": "10116",
               "type": "0",
               "interfaceid": "13",
               "delay": "30s",
               "filter": {
                   "evaltype": 1,
                   "conditions": [
                       {
                           "macro": "{#MACRO1}",
                           "value": "@regex1"
                       },
                       {
                           "macro": "{#MACRO2}",
                           "value": "@regex2"
                       },
                       {
                           "macro": "{#MACRO3}",
                           "value": "@regex3"
                       }
                   ]
               }
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

§°§ä§Ó§Ö§ä:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27665"
               ]
           },
           "id": 1
       }

§³§à§Ù§Õ§Ñ§ß§Ú§Ö §á§â§Ñ§Ó§Ú§Ý§Ñ LLD §ã §á§å§ä§ñ§Þ§Ú §Þ§Ñ§Ü§â§à§ã§à§Ó

§©§Ñ§á§â§à§ã:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "LLD rule with LLD macro paths",
               "key_": "lld",
               "hostid": "10116",
               "type": 0,
               "interfaceid": "13",
               "delay": "30s",
               "lld_macro_paths": [
                   {
                       "lld_macro": "{#MACRO1}",
                       "path": "$.path.1"
                   },
                   {
                       "lld_macro": "{#MACRO2}",
                       "path": "$.path.2"
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

§°§ä§Ó§Ö§ä:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "27665"
               ]
           },
           "id": 1
       }

§ª§ã§á§à§Ý§î§Ù§à§Ó§Ñ§ß§Ú§Ö §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§î§ã§Ü§Ú§ç §á§à§Ý§Ö§Û §Ù§Ñ§á§â§à§ã§Ñ §Ú §Ù§Ñ§Ô§à§Ý§à§Ó§Ü§à§Ó

§³§à§Ù§Õ§Ñ§ß§Ú§Ö LLD §á§â§Ñ§Ó§Ú§Ý§Ñ §ã §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§î§ã§Ü§Ú§Þ§Ú §á§à§Ý§ñ§Þ§Ú §Ù§Ñ§á§â§à§ã§Ñ §Ú §Ù§Ñ§Ô§à§Ý§à§Ó§Ü§Ñ§Þ§Ú.

§©§Ñ§á§â§à§ã:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "hostid": "10257",
               "interfaceid": "5",
               "type": "19",
               "name": "API HTTP agent",
               "key_": "api_discovery_rule",
               "value_type": "3",
               "delay": "5s",
               "url": "http://127.0.0.1?discoverer.php",
               "query_fields": [
                   {
                       "mode": "json"
                   },
                   {
                       "elements":"2"
                   }
               ],
               "headers": {
                   "X-Type": "api",
                   "Authorization": "Bearer mF_A.B5f-2.1JcM"
               },
               "allow_traps": "1",
               "trapper_hosts": "127.0.0.1",
               "id": 35,
               "auth": "d678e0b85688ce578ff061bd29a20d3b",
           }
       }

§°§ä§Ó§Ö§ä:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 35
       }

§ª§ã§á§à§Ý§î§Ù§à§Ó§Ñ§ß§Ú§Ö §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§î§ã§Ü§Ú§ç §á§à§Ý§Ö§Û §Ù§Ñ§á§â§à§ã§Ñ §Ú §Ù§Ñ§Ô§à§Ý§à§Ó§Ü§à§Ó

§³§à§Ù§Õ§Ñ§ä§î §á§â§Ñ§Ó§Ú§Ý§à LLD §ã §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§î§ã§Ü§Ú§Þ§Ú §á§à§Ý§ñ§Þ§Ú §Ù§Ñ§á§â§à§ã§Ñ §Ú §Ù§Ñ§Ô§à§Ý§à§Ó§Ü§Ñ§Þ§Ú.

§©§Ñ§á§â§à§ã:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "hostid": "10257",
               "interfaceid": "5",
               "type": 19,
               "name": "API HTTP agent",
               "key_": "api_discovery_rule",
               "value_type": 3,
               "delay": "5s",
               "url": "http://127.0.0.1?discoverer.php",
               "query_fields": [
                   {
                       "mode": "json"
                   },
                   {
                       "elements": "2"
                   }
               ],
               "headers": {
                   "X-Type": "api",
                   "Authorization": "Bearer mF_A.B5f-2.1JcM"
               },
               "allow_traps": 1,
               "trapper_hosts": "127.0.0.1"
           },
           "auth": "d678e0b85688ce578ff061bd29a20d3b",
           "id": 1
       }

§°§ä§Ó§Ö§ä:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "28336"
               ]
           },
           "id": 1
       }

§³§à§Ù§Õ§Ñ§ß§Ú§Ö §á§â§Ñ§Ó§Ú§Ý§Ñ LLD §ã §á§â§Ö§Õ§Ó§Ñ§â§Ú§ä§Ö§Ý§î§ß§à§Û §à§Ò§â§Ñ§Ò§à§ä§Ü§à§Û

§©§Ñ§á§â§à§ã:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Discovery rule with preprocessing",
               "key_": "lld.with.preprocessing",
               "hostid": "10001",
               "ruleid": "27665",
               "type": 0,
               "value_type": 3,
               "delay": "60s",
               "interfaceid": "1155",
               "preprocessing": [
                   {
                       "type": 20,
                       "params": "20",
                       "error_handler": 0,
                       "error_handler_params": ""
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

§°§ä§Ó§Ö§ä:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "44211"
               ]
           },
           "id": 1
       }

Creating a LLD rule with overrides

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Discover database host",
               "key_": "lld.with.overrides",
               "hostid": "10001",
               "type": 0,
               "value_type": 3,
               "delay": "60s",
               "interfaceid": "1155",
               "overrides": [
                   {
                       "name": "Discover MySQL host",
                       "step": "1",
                       "stop": "1",
                       "filter": {
                           "evaltype": "2",
                           "conditions": [
                               {
                                   "macro": "{#UNIT.NAME}",
                                   "operator": "8",
                                   "value": "^mysqld\\.service$"
                               },
                               {
                                   "macro": "{#UNIT.NAME}",
                                   "operator": "8",
                                   "value": "^mariadb\\.service$"
                               }
                           ]
                       },
                       "operations": [
                           {
                               "operationobject": "3",
                               "operator": "2",
                               "value": "Database host",
                               "opstatus": {
                                   "status": "0"
                               },
                               "optemplate": [
                                   {
                                       "templateid": "10170"
                                   }
                               ],
                               "optag": [
                                   {
                                       "tag": "Database",
                                       "value": "MySQL"
                                   }
                               ]
                           }
                       ]
                   },
                   {
                       "name": "Discover PostgreSQL host",
                       "step": "2",
                       "stop": "1",
                       "filter": {
                           "evaltype": "0",
                           "conditions": [
                               {
                                   "macro": "{#UNIT.NAME}",
                                   "operator": "8",
                                   "value": "^postgresql\\.service$"
                               }
                           ]
                       },
                       "operations": [
                           {
                               "operationobject": "3",
                               "operator": "2",
                               "value": "Database host",
                               "opstatus": {
                                   "status": "0"
                               },
                               "optemplate": [
                                   {
                                       "templateid": "10263"
                                   }
                               ],
                               "optag": [
                                   {
                                       "tag": "Database",
                                       "value": "PostgreSQL"
                                   }
                               ]
                           }
                       ]
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "30980"
               ]
           },
           "id": 1
       }

§³§à§Ù§Õ§Ñ§ä§î §ã§è§Ö§ß§Ñ§â§Ú§Û §á§â§Ñ§Ó§Ú§Ý§Ñ LLD

§³§à§Ù§Õ§Ñ§ä§î §á§â§à§ã§ä§à§Û §ã§Ò§à§â §Õ§Ñ§ß§ß§í§ç, §Ú§ã§á§à§Ý§î§Ù§å§ñ §á§â§Ñ§Ó§Ú§Ý§à script LLD.

§©§Ñ§á§â§à§ã:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "Script example",
               "key_": "custom.script.lldrule",
               "hostid": "12345",
               "type": 21,
               "value_type": 4,
               "params": "var request = new CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
               "parameters": [
                   {
                       "name": "host",
                       "value": "{HOST.CONN}"
                   }
               ],
               "timeout": "6s",
               "delay": "30s"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 2
       }

§°§ä§Ó§Ö§ä:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "23865"
               ]
           },
           "id": 3
       }

Create LLD rule with a specified time period for disabling and no deletion

Create an LLD rule with custom time period for disabling entity after it is no longer discovered, with the setting that it will never be deleted.

Request:

{
           "jsonrpc": "2.0",
           "method": "discoveryrule.create",
           "params": {
               "name": "lld disable after 1h",
               "key_": "lld.disable",
               "hostid": "10001",
               "type": 2,
               "lifetime_type": 1,
               "enabled_lifetime_type": 0, 
               "enabled_lifetime": "1h"
           },
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": {
               "itemids": [
                   "46864"
               ]
           },
           "id": 1
       }

§³§Þ§à§ä§â§Ú§ä§Ö §ä§Ñ§Ü§Ø§Ö

§ª§ã§ä§à§é§ß§Ú§Ü

CDiscoveryRule::create() §Ó ui/include/classes/api/services/CDiscoveryRule.php.