action.create
Descrizione
object action.create(object/array actions)
Questo metodo consente di creare nuove azioni.
Questo metodo è disponibile solo per gli utenti di tipo Admin e Super admin. I permessi per chiamare il metodo possono essere revocati nelle impostazioni del ruolo utente. Consultare Ruoli utente per ulteriori informazioni.
Parametri
(object/array) Azioni da creare.
Oltre alle proprietà standard dell'azione, il metodo accetta i seguenti parametri.
| Parametro | Tipo | Descrizione |
|---|---|---|
| filter | object | Oggetto filtro dell'azione per l'azione. |
| operations | array | Operazioni dell'azione da creare per l'azione. |
| recovery_operations | array | Operazioni di ripristino dell'azione da creare per l'azione. |
| update_operations | array | Operazioni di aggiornamento dell'azione da creare per l'azione. |
Restituisce i valori
(object) Restituisce un oggetto contenente gli ID delle azioni create
sotto la proprietà actionids. L'ordine degli ID restituiti corrisponde
all'ordine delle azioni passate.
Esempi
Creare un'azione trigger
Creare un'azione trigger che verrà avviata quando un trigger (con la parola "memory" nel nome) del host "10084" passa allo stato PROBLEM. L'azione avrà 4 operazioni configurate. La prima operazione, eseguita immediatamente, invierà un messaggio a tutti gli utenti del gruppo utenti "7" tramite il tipo di supporto "1". Se l'evento non viene risolto entro 30 minuti, verrà eseguita la seconda operazione script "5" (script con ambito "Action operation") su tutti gli host del gruppo "2". Se l'evento viene risolto, un'operazione di ripristino notificherà tutti gli utenti che hanno ricevuto messaggi relativi al problema. Se l'evento viene aggiornato, un'operazione di conferma/aggiornamento notificherà (con un oggetto e un messaggio personalizzati) tutti gli utenti che hanno ricevuto messaggi relativi al 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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"actionids": [
"17"
]
},
"id": 1
}
Creare un'azione di discovery
Creare un'azione di discovery che collegherà il template "10001" agli host rilevati.
{
"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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"actionids": [
"18"
]
},
"id": 1
}
Utilizzo di un filtro di espressione personalizzato
Creare un'azione trigger che utilizzi un'espressione personalizzata - "A and (B or C)" - per valutare le condizioni dell'azione. Quando un trigger con gravità superiore o uguale a "Warning" dal host "10084" o dal host "10106" passa allo stato PROBLEM, l'azione invierà un messaggio a tutti gli utenti del gruppo utenti "7" tramite il tipo di supporto "1". Gli ID formula "A", "B" e "C" sono stati scelti 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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"actionids": [
"18"
]
},
"id": 1
}
Creare una regola di autoregistrazione dell'agent
Creare un'azione di autoregistrazione che aggiunga un host al gruppo host "2" quando il nome dell'host contiene "SRV" oppure i metadati contengono "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
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"actionids": [
19
]
},
"id": 1
}
Creare una regola di autoregistrazione dell'agent con tag host
Creare un'azione di autoregistrazione che aggiunga un host al gruppo host "2" e aggiunga due tag host.
{
"jsonrpc": "2.0",
"method": "action.create",
"params": {
"name": "Register Linux servers with tags",
"eventsource": "2",
"operations": [
{
"operationtype": "4",
"opgroup": [
{
"groupid": "2"
}
]
},
{
"operationtype": "13",
"optag": [
{
"tag": "location",
"value": "office"
},
{
"tag": "city",
"value": "Riga"
}
]
}
]
},
"id": 1
}
Risposta:
{
"jsonrpc": "2.0",
"result": {
"actionids": [
20
]
},
"id": 1
}
Vedi anche
Sorgente
CAction::create() in ui/include/classes/api/services/CAction.php.