Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

action.create

Description

object action.create(object/array actions)

Cette méthode permet de créer de nouvelles actions.

Cette méthode est disponible uniquement pour les types d'utilisateurs Admin et Super admin. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôles utilisateur. Voir Rôles Utilisateur pour plus d'informations.

Paramètres

(object/array) Actions à créer.

En plus des propriétés d'action standard, la méthode accepte les paramètres suivants.

Paramètre Type Description
filter object Objet de filtre d'action pour l'action.
operations array Opérations d'action à créer pour l'action.
recovery_operations array Opérations de récupération d'action à créer pour l'action.
update_operations array Opérations de mise à jour d'action à créer pour l'action.

Valeurs retournées

(object) Retourne un objet contenant les identifiants des actions créées sous la propriété actionids. L'ordre des ID retournés correspond à l'ordre des actions transmises.

Exemples

Créer une action de déclenchement

Créez une action qui sera exécutée lorsqu'un déclencheur de l'hôte "10084" dont le nom contient le mot "mémoire" passe en état de problème. L'action doit d'abord envoyer un message à tous les utilisateurs du groupe d'utilisateurs "7". Si l'événement n'est pas résolu en 4 minutes, il exécutera le script "3" sur tous les hôtes du groupe "2". Lors de la récupération du déclencheur, il informera tous les utilisateurs qui ont reçu des messages concernant le problème auparavant. Lors de la mise à jour du déclencheur, un message avec un sujet et un corps personnalisés sera envoyé à tous ceux qui ont laissé des acquittements et des commentaires via tous les types de médias.

Requête :

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "status": 0,
               "esc_period": "2m",
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10084"
                       },
                       {
                           "conditiontype": 3,
                           "operator": 2,
                           "value": "memory"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 0,
                       "esc_period": "0s",
                       "esc_step_from": 1,
                       "esc_step_to": 2,
                       "evaltype": 0,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   },
                   {
                       "operationtype": 1,
                       "esc_step_from": 3,
                       "esc_step_to": 4,
                       "evaltype": 0,
                       "opconditions": [
                           {
                               "conditiontype": 14,
                               "operator": 0,
                               "value": "0"
                           }
                       ],
                       "opcommand_grp": [
                           {
                               "groupid": "2"
                           }
                       ],
                       "opcommand": {
                           "scriptid": "3"
                       }
                   }
               ],
               "recovery_operations": [
                   {
                       "operationtype": "11",
                       "opmessage": {
                           "default_msg": 1
                       }
                   }    
               ],
               "update_operations": [
                   {
                       "operationtype": "12",
                       "opmessage": {
                           "default_msg": 0,
                           "message": "Corps du message de l'opération de mise à jour personnalisée",
                           "subject": "Objet du message de l'opération de mise à jour personnalisée"
                       }
                   }
               ],
               "pause_suppressed": "0",
               "notify_if_canceled": "0"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   "17"
               ]
           },
           "id": 1
       }

Créer une action de découverte

Créer une action qui liera les hôtes découverts au modèle "10091".

Requête :

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Discovery action",
               "eventsource": 1,
               "status": 0,
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 21,
                           "operator": 0,
                           "value": "1"
                       },
                       {
                           "conditiontype": 10,
                           "operator": 0,
                           "value": "2"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 6,
                       "optemplate": [
                           {
                               "templateid": "10091"
                           }
                       ]
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   "18"
               ]
           },
           "id": 1
       }

Utilisation d'un filtre d'expression personnalisé

Créez une action de déclencheur qui utilisera une condition de filtre personnalisée. L'action doit envoyer un message pour chaque déclencheur avec une sévérité supérieure ou égale à "Warning" pour les hosts "10084" et "10106". Les identifiants de formule "A", "B" et "C" ont été choisis arbitrairement.

Requête :

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "status": 0,
               "esc_period": "2m",
               "filter": {
                   "evaltype": 3,
                   "formula": "A and (B or C)",
                   "conditions": [
                       {
                           "conditiontype": 4,
                           "operator": 5,
                           "value": "2",
                           "formulaid": "A"
                       },
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10084",
                           "formulaid": "B"
                       },
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10106",
                           "formulaid": "C"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 0,
                       "esc_period": "0s",
                       "esc_step_from": 1,
                       "esc_step_to": 2,
                       "evaltype": 0,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   }
               ],
               "pause_suppressed": "0",
               "notify_if_canceled": "0"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   "18"
               ]
           },
           "id": 1
       }

Créer une règle d'enregistrement automatique des agents

Ajoutez un hôte au groupe d'hôtes "Linux servers" lorsque le nom d'hôte contient "SRV" ou que les métadonnées contiennent "CentOS".

Requête :

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Register Linux servers",
               "eventsource": "2",
               "status": "0",
               "filter": {
                   "evaltype": "2",
                   "conditions": [
                       {
                           "conditiontype": "22",
                           "operator": "2",
                           "value": "SRV"
                       },
                       {
                           "conditiontype": "24",
                           "operator": "2",
                           "value": "CentOS"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": "4",
                       "opgroup": [
                           {
                               "groupid": "2"
                           }
                       ]
                   }
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Réponse :

{
           "jsonrpc": "2.0",
           "result": {
               "actionids": [
                   19
               ]
           },
           "id": 1
       }

Voir également

Source

CAction::create() dans ui/include/classes/api/services/CAction.php.