Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

action.create

Descripción

object action.create(object/array actions)

Este método permite crear nuevas acciones.

Este método solo está disponible para los tipos de usuario Admin y Super admin. Los permisos para llamar al método pueden ser revocados en la configuración del rol de usuario. Consulte Roles de usuario para obtener más información.

Parámetros

(objeto/array) Acciones a crear.

Además de las propiedades estándar de la acción, el método acepta los siguientes parámetros.

Parámetro Tipo Descripción
filter objeto Objeto Filtro de acción para la acción.
operations array Operaciones de acción a crear para la acción.
recovery_operations array Operaciones de recuperación de acción a crear para la acción.
update_operations array Operaciones de actualización de acción a crear para la acción.

Valores de retorno

(object) Devuelve un objeto que contiene los IDs de las acciones creadas bajo la propiedad actionids. El orden de los IDs devueltos coincide con el orden de las acciones pasadas.

Ejemplos

Crear una acción de disparador

Cree una acción de disparador que comenzará una vez que un disparador (con la palabra "memory" en su nombre) del equipo "10084" entre en estado de PROBLEMA. La acción tendrá 4 operaciones configuradas. La primera operación, inmediata, enviará un mensaje a todos los usuarios del grupo de usuarios "7" a través del tipo de medio "1". Si el evento no se resuelve en 30 minutos, la segunda operación ejecutará el script "5" (script con alcance "Operación de acción") en todos los equipos del grupo "2". Si el evento se resuelve, una operación de recuperación notificará a todos los usuarios que recibieron algún mensaje relacionado con el problema. Si el evento se actualiza, una operación de reconocimiento/actualización notificará (con un asunto y mensaje personalizados) a todos los usuarios que recibieron algún mensaje relacionado con el problema.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "esc_period": "30m",
               "filter": {
                   "evaltype": 0,
                   "conditions": [
                       {
                           "conditiontype": 1,
                           "operator": 0,
                           "value": "10084"
                       },
                       {
                           "conditiontype": 3,
                           "operator": 2,
                           "value": "memory"
                       }
                   ]
               },
               "operations": [
                   {
                       "operationtype": 0,
                       "esc_step_from": 1,
                       "esc_step_to": 1,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   },
                   {
                       "operationtype": 1,
                       "esc_step_from": 2,
                       "esc_step_to": 2,
                       "opconditions": [
                           {
                               "conditiontype": 14,
                               "operator": 0,
                               "value": "0"
                           }
                       ],
                       "opcommand_grp": [
                           {
                               "groupid": "2"
                           }
                       ],
                       "opcommand": {
                           "scriptid": "5"
                       }
                   }
               ],
               "recovery_operations": [
                   {
                       "operationtype": "11",
                       "opmessage": {
                           "default_msg": 1
                       }
                   }
               ],
               "update_operations": [
                   {
                       "operationtype": "12",
                       "opmessage": {
                           "default_msg": 0,
                           "message": "Custom update operation message body",
                           "subject": "Custom update operation message subject"
                       }
                   }
               ]
           },
           "id": 1
       }

Respuesta:

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

Crear una acción de descubrimiento

Cree una acción de descubrimiento que vincule la plantilla "10001" a los equipos descubiertos.

Solicitud:

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

Respuesta:

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

Uso de un filtro de expresión personalizada

Cree una acción de disparador que utilice una expresión personalizada - "A and (B or C)" - para evaluar las condiciones de la acción. Una vez que un disparador con una severidad mayor o igual a "Warning" del equipo "10084" o del equipo "10106" pase a estado de PROBLEMA, la acción enviará un mensaje a todos los usuarios del grupo de usuarios "7" mediante el tipo de medio "1". Los IDs de fórmula "A", "B" y "C" se han elegido arbitrariamente.

Petición:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Trigger action",
               "eventsource": 0,
               "esc_period": "15m",
               "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_step_from": 1,
                       "esc_step_to": 1,
                       "opmessage_grp": [
                           {
                               "usrgrpid": "7"
                           }
                       ],
                       "opmessage": {
                           "default_msg": 1,
                           "mediatypeid": "1"
                       }
                   }
               ]
           },
           "id": 1
       }

Respuesta:

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

Crear regla de autorregistro de agente

Cree una acción de autorregistro que agregue un equipo al grupo de equipos "2" cuando el nombre del equipo contenga "SRV" o los metadatos contengan "AlmaLinux".

Solicitud:

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

Respuesta:

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

Crear una regla de autorregistro de agente con etiquetas de equipo

Cree una acción de autorregistro que agregue un equipo al grupo de equipos "2" y agregue dos etiquetas de equipo.

Solicitud:

{
           "jsonrpc": "2.0",
           "method": "action.create",
           "params": {
               "name": "Registrar servidores Linux con etiquetas",
               "eventsource": "2",
               "operations": [
                   {
                       "operationtype": "4",
                       "opgroup": [
                           {
                               "groupid": "2"
                           }
                       ]
                   },
                   {
                       "operationtype": "13",
                       "optag": [
                           {
                               "tag": "location",
                               "value": "office"
                           },
                           {
                               "tag": "city",
                               "value": "Riga"
                           }
                       ]
                   }
               ]
           },
           "id": 1
       }

Respuesta:

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

Véase también

Origen

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