discoveryrule.update
Leírás
object discoveryrule.update(object/array lldRules)
Ez a módszer lehetővé teszi a meglévő LLD-szabályok frissítését.
Ez a módszer csak az Admin és a Kiemelt rendszergazda számára érhető el felhasználói típusok. A metódus meghívására vonatkozó engedélyek felhasználói szerepkörben visszavonhatók beállítások. Lásd: User roles további információért.
Parameters
(object/array) LLD rule properties to be updated.
The itemid property must be defined for each LLD rule, all other
properties are optional. Only the passed properties will be updated, all
others will remain unchanged.
Additionally to the standard LLD rule properties, the method accepts the following parameters.
| Parameter | Type | Description |
|---|---|---|
| filter | object | LLD rule filter object to replace the current filter. |
| preprocessing | array | LLD rule preprocessing options to replace the current preprocessing options. |
| lld_macro_paths | array | LLD rule lld_macro_path options. |
| overrides | array | LLD rule overrides options. |
Visszatérési értékek
(object) A frissített LLD-szabályok azonosítóit tartalmazó objektumot ad vissza
az itemids tulajdonság alatt.
Példák
Adding a filter to an LLD rule
Add a filter so that the contents of the {#FSTYPE} macro would match the \@File systems for discovery regexp.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#FSTYPE}",
"value": "@File systems for discovery"
}
]
}
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Adding LLD macro paths
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Disable trapping
Disable LLD trapping for discovery rule.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 36,
"auth": "d678e0b85688ce578ff061bd29a20d3b"
}
Response:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28336"
]
},
"id": 36
}
Updating LLD rule preprocessing options
Update an LLD rule with preprocessing rule “JSONPath”.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "44211",
"preprocessing": [
{
"type": 12,
"params": "$.path.to.json",
"error_handler": 2,
"error_handler_params": "5"
}
]
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Updating LLD rule script
Update an LLD rule script with a different script and remove unnecessary parameters that were used by previous script.
Request:
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.Log(3, 'Log test');\nreturn 1;"
},
"auth": "700ca65537074ec963db7efabda78259",
"id": 1
}
Response:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Forrás
CDiscoveryRule::update() in ui/include/classes/api/services/CDiscoveryRule.php.