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.

Richiesta:

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

Richiesta:

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

Richiesta:

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

Richiesta:

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

Richiesta:

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