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.