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.
{
"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.
{
"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.
{
"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".
{
"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.
{
"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.