action.create

Описание

object action.create(объект/массив actions)

Этот метод позволяет создавать новые действия.

Этот метод доступен только типам пользователей Администратор и Супер-администратор. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.

Параметры

(объект/массив) Действия для создания.

Кроме стандартных свойств действия, метод принимает следующие параметры.

Параметр Тип Описание
filter object(объект) Объект фильтра для действия.
operations array(массив) Операции для создания действия.
recovery_operations array(массив) Операции восстановления для создания действия.
update_operations array(массив) Операции обновления для создания действия.

Возвращаемые значения

(объект) Возвращает объект, который содержит ID созданных действий под свойством actionids. Порядок возвращаемых ID соответствует порядку переданных действий.

Примеры

Создание действия триггера

Создание действия триггера, которое начнется, когда триггер (с содержащим слово "memory" в его имени) от хоста "10084" перейдет в состояние ПРОБЛЕМЫ. Действие будет иметь 4 настроенные операции. Первая и немедленная операция отправит сообщение всем пользователям в группе пользователей "7" через тип носителя "1". Если событие не будет разрешено в течение 30 минут, вторая операция запустит скрипт "5" (скрипт с областью действия "Action operation") на всех хостах в группе "2". Если событие будет разрешено, операция восстановления уведомит всех пользователей, которые получили любые сообщения о проблеме. Если событие будет обновлено, операция подтверждения/обновления уведомит (с пользовательской темой и сообщением) всех пользователей, которые получили любые сообщения о проблеме.

Запрос:

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

Ответ:

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

Создание действия обнаружения

Создать действие обнаружения, которое свяжет обнаруженные узлы сети с шаблоном "10001"

Запрос:

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

Ответ:

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

Использование пользовательского фильтра выражений

Создание действия триггера, которое использует пользовательское выражение - "A and (B or C)" - для оценки условий действия. Как только триггер с серьезностью выше или равной "Warning" от хоста "10084" или хоста "10106" перейдет в состояние ПРОБЛЕМЫ, действие отправит сообщение всем пользователям в группе пользователей "7" через тип носителя "1". Формулы с идентификаторами "A", "B" и "C" выбраны произвольно.

Запрос:

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

Ответ:

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

Создание правила автоматической регистрации агента

Создать действие автоматической регистрации, которое добавляет хост в группу хостов "2", если имя хоста содержит "SRV" или метаданные содержат "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
       }

Ответ:

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

Смотрите также

Источник

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