Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

action.create

Описание

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

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

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

Параметры

(object/array) Действия для создания.

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

Параметр Тип Описание
filter object Фильтр действий объект для действия.
operations array Операции действий, которое нужно создать для действия.
recovery_operations array Действие операции восстановления, которое нужно создать для действия.
update_operations array Действие операции обновления, которое необходимо создать для действия.

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

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

Примеры

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

Создать действие триггера, которое начнется, как только триггер (со словом «память» в названии) с хоста «10084» перейдет в состояние ПРОБЛЕМА. Действие будет иметь 4 настроенные операции. Первая и немедленная операция отправит сообщение всем пользователям в группе пользователей «7» через тип носителя «1». Если событие не будет устранено в течение 30 минут, вторая операция запустит script "5" (скрипт с областью действия "Операция действия") на всех хостах группы «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
       }

Response:

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

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

Создать действие триггера, использующее пользовательское выражение "A и (B или C)" для оценки условий действия. Как только триггер с уровнем серьезности выше или равным "Предупреждение" с хоста "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
       }

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

Создать действие авторегистрации, которое добавляет хост в группу хостов «2» и добавляет два тега хоста.

Запрос:

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

Ответ:

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

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

Источник

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