This is a translation of the original English documentation page. Help us make it better.

action.create

説明

object action.create(object/array actions)

このメソッドは、新しいアクションを作成することができます。

このメソッドは、AdminおよびSuper adminタイプのユーザーのみ利用可能です。メソッドを呼び出す権限は、ユーザーの役割の設定で取り消すことができます。詳細はユーザーの役割を参照してください。

パラメーター

(object/array) 作成するアクション。

actionの標準プロパティに加えて、このメソッドは以下のパラメーターを受け付けます。

パラメーター タイプ 説明
filter object アクション用のアクションフィルターオブジェクト。
operations array アクション用に作成するアクション操作
recovery_operations array アクション用に作成するアクション回復操作
update_operations array アクション用に作成するアクション更新操作

戻り値

(object) actionidsプロパティの下に作成されたアクションのIDを含むオブジェクトを返します。返されるIDの順序は、渡されたアクションの順序と一致します。

トリガーアクションの作成

ホスト"10084"からのトリガー(名前に"memory"が含まれる)が障害状態になると実行されるトリガーアクションを作成する。 アクションには4つの操作が構成されます。 最初の即時操作では、メディアタイプ"1"を介してユーザーグループ"7"内のすべてのユーザーにメッセージが送信されます。 イベントが30分以内に解決されない場合、2番目の操作ではグループ"2"のすべてのホストでスクリプト"5"(スコープ"アクション操作"のスクリプト) が実行されます。 イベントが解決された場合は、回復操作により、問題に関するメッセージを受け取ったすべてのユーザーに通知されます。 イベントが更新されると、確認/更新操作により、問題に関するメッセージを受信したすべてのユーザーに (カスタムの件名とメッセージを使用して) 通知します。

リクエスト :

{  "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)"を使用するトリガーアクションを作成します。 ホスト"10084"またはホスト"10106"からの"警告"以上の深刻度を持つトリガーが障害状態になると、 このアクションは、メディアタイプ"1"を介してユーザーグループ"7"のすべてのユーザーにメッセージを送信します。

リクエスト :

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

エージェントの自動登録ルール作成

ホスト名に"SRV "が含まれているか、メタデータに"AlmaLinux"が含まれている場合、ホストをホストグループ "2"に追加します。

リクエスト :

{  "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"に追加し、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() in ui/include/classes/api/services/CAction.php.