discoveryrule.update
Description
object discoveryrule.update(object/array lldRules)
Cette méthode permet de mettre à jour des règles LLD existantes.
Cette méthode est disponible uniquement pour les types d’utilisateur Admin et Super admin. Les autorisations d’appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Voir User roles pour plus d’informations.
Paramètres
(object/array) Propriétés de la règle LLD à mettre à jour.
La propriété itemid doit être définie pour chaque règle LLD, toutes les autres
propriétés sont facultatives. Seules les propriétés transmises seront mises à jour, toutes
les autres resteront inchangées.
En plus des propriétés standard de la règle LLD, la méthode accepte les paramètres suivants.
| Paramètre | Type | Description |
|---|---|---|
| filter | object | Filtre de règle LLD pour remplacer le filtre existant. |
| preprocessing | object/array | Options de prétraitement de règle LLD pour remplacer les options de prétraitement existantes. Comportement du paramètre : - lecture seule pour les objets hérités |
| lld_macro_paths | object/array | Options lld_macro_path de la règle LLD pour remplacer les options lld_macro_path existantes. Comportement du paramètre : - lecture seule pour les objets hérités |
| overrides | object/array | Options de surcharges de règle LLD pour remplacer les options de surcharge existantes. Comportement du paramètre : - lecture seule pour les objets hérités |
Valeurs retournées
(object) Retourne un objet contenant les identifiants des règles mises à jour sous la propriété itemids.
Exemples
Ajout d’un filtre à une règle LLD
Ajoutez un filtre afin que le contenu de la macro {#FSTYPE} corresponde à l’expression régulière \@File systems for discovery.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"filter": {
"evaltype": 1,
"conditions": [
{
"macro": "{#FSTYPE}",
"value": "@File systems for discovery"
}
]
}
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Ajout de chemins de macro LLD
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "22450",
"lld_macro_paths": [
{
"lld_macro": "{#MACRO1}",
"path": "$.json.path"
}
]
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"22450"
]
},
"id": 1
}
Désactiver le trapping
Désactivez le trapping LLD pour la règle de découverte.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "28336",
"allow_traps": 0
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28336"
]
},
"id": 1
}
Mise à jour des options de prétraitement d’une règle LLD
Mettez à jour une règle LLD avec la règle de prétraitement « JSONPath ».
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "44211",
"preprocessing": [
{
"type": 12,
"params": "$.path.to.json",
"error_handler": 2,
"error_handler_params": "5"
}
]
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Mise à jour du script de la règle LLD
Mettez à jour un script de règle LLD avec un script différent et supprimez les paramètres inutiles qui étaient utilisés par le script précédent.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "23865",
"parameters": [],
"script": "Zabbix.log(3, 'Log test');\nreturn 1;"
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Mise à jour de la durée de vie d’une règle LLD
Mettez à jour la règle LLD pour désactiver l’entité qui n’est plus découverte après 12 heures et la supprimer après 7 jours.
{
"jsonrpc": "2.0",
"method": "discoveryrule.update",
"params": {
"itemid": "46864",
"lifetime_type": 0,
"lifetime": "7d",
"enabled_lifetime_type": 0,
"enabled_lifetime": "12h"
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"46864"
]
},
"id": 1
}
Source
CDiscoveryRule::update() dans ui/include/classes/api/services/CDiscoveryRule.php.