作成 v2¶
POST /api/v1/alert_policy/add_v2
概要¶
アラートポリシーを作成します。v2 では、関連付けられたモニター/インテリジェントモニター/インテリジェントインスペクション/SLO、セキュリティモニタリングを同時に更新することができます。
Body リクエストパラメータ¶
| パラメータ名 | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | Y | アラートポリシー名 空を許可: False |
| desc | string | 説明 空を許可: False 空文字列を許可: True 最大長: 256 |
|
| openPermissionSet | boolean | カスタム権限設定を有効にする(デフォルト false: 無効)。有効にすると、このルールの操作権限は permissionSet に従います。 空を許可: False |
|
| permissionSet | array | 操作権限設定。設定可能な値(ロール(所有者を除く)、メンバー UUID、チーム UUID) 例: ['wsAdmin', 'acnt_xxxx', 'group_yyyy'] 空を許可: False |
|
| checkerUUIDs | array | モニター/インテリジェントモニター/インテリジェントインスペクション/SLO の uuid(2024-12-11 のイテレーションで追加) 例: ['rule_xxx', 'monitor_xxx'] 空を許可: False |
|
| securityRuleUUIDs | array | セキュリティモニタリング(cspm, siem, aba)の uuid 例: ['srul_xxx', 'srul_xxx', 'srul_xxx'] 空を許可: False |
|
| ruleTimezone | str | Y | アラートポリシーのタイムゾーン 例: Asia/Shanghai 空を許可: False |
| alertOpt | json | アラート設定 空を許可: False |
|
| alertOpt.aggType | string | アラート集約タイプ。このフィールドを渡さない場合は従来のロジングが適用されます(2024-12-25 のイテレーションで追加) 空を許可: True 選択可能な値: ['byFields', 'byCluster', 'byAI', 'byCustom'] |
|
| alertOpt.ignoreOK | boolean | 詳細設定。正常レベルの場合、イベントのみを生成し、通知を送信しません(OK 通知を無視するかどうか)。2025-10-22 に追加されたフィールド。 空を許可: False |
|
| alertOpt.alertType | string | アラートポリシーの通知タイプ。ステータス(status)/メンバー(member)。デフォルトはステータス。 空を許可: False 選択可能な値: ['status', 'member'] |
|
| alertOpt.alertTarget | array | トリガーアクション。トリガー時間とパラメータ処理に注意。 例: [{'name': '通知設定1', 'targets': [{'to': ['acnt_xxxx32'], 'status': 'critical', 'tags': {'pod_name': ['coredns-7769b554cf-w95fk']}, 'upgradeTargets': [{'to': ['acnt_xxxx32'], 'duration': 600}, {'to': ['group_xxxx32'], 'duration': 6000}]}], 'crontabDuration': 600, 'crontab': '0 9 * * 0,1,2,3,4'}, {'name': '通知設定2', 'targets': [{'status': 'error', 'to': ['group_xxxx32'], 'upgradeTargets': [{'to': ['acnt_xxxx32'], 'duration': 600}, {'to': ['group_xxxx32'], 'duration': 6000}]}], 'customDateUUIDs': ['ndate_xxxx32'], 'customStartTime': '09:30:10', 'crontabDuration': 600}] 空を許可: False |
|
| alertOpt.silentTimeout | integer | 繰り返しアラート設定 空を許可: False |
|
| alertOpt.silentTimeoutByStatusEnable | boolean | レベル別に繰り返しアラートを設定するかどうか。デフォルト false の場合は silentTimeout を使用します。 空を許可: False |
|
| alertOpt.silentTimeoutByStatus | array | レベル別に繰り返しアラートを設定。レベル別の最小アラート間隔設定。 空を許可: False |
|
| alertOpt.aggInterval | integer | Y | アラート集約間隔(秒)。0 は集約しないことを意味します。 空を許可: False $minValue: 0 $maxValue: 1800 |
| alertOpt.aggFields | array | 集約フィールドリスト。空リスト[]を指定すると「集約ルール:すべて」を意味します。 df_monitor_checker_id:モニター/インテリジェントインスペクション/SLO、 df_dimension_tags:検出ディメンション、 df_label:ラベル、 CLUSTER:スマート集約。 例: ['CLUSTER'] 空を許可: False |
|
| alertOpt.aggLabels | array | ラベル集約時のラベル値リスト。aggFields で df_label を指定している場合のみ有効です。 空を許可: False |
|
| alertOpt.aggClusterFields | array | スマート集約時のフィールドリスト。aggFields で CLUSTER を指定している場合のみ有効です。選択可能な値: "df_title":タイトル, "df_message":コンテンツ。 例: ['df_title'] 空を許可: False |
|
| alertOpt.aggSendFirst | boolean | 集約時、最初のアラートを直接送信するかどうか(2025-09-03 のイテレーションで追加されたパラメータ)。 空を許可: False |
パラメータ補足説明¶
データ説明
1. alertOpt パラメータ説明
| パラメータ名 | type | 必須 | 説明 |
|---|---|---|---|
| name | string | 必須 | ルール名 |
| desc | string | 説明 | |
| type | string | 必須 | チェッカータイプ |
| ruleTimezone | string | 必須 | アラートポリシーのタイムゾーン(2024-01-31 のイテレーションで追加) |
| alertOpt | Dict | 必須 | アラート設定 |
| alertOpt.silentTimeout | integer | 最小アラート間隔。同じアラートを再度送信しない期間(アラートサイレント時間)。単位は秒。0/null はアラートを1回のみ送信(間隔が無限)を意味します。 | |
| alertOpt.silentTimeoutByStatusEnable | boolean | レベル別の繰り返しアラート設定を有効にするかどうか。 | |
| alertOpt.silentTimeoutByStatus | array | レベル別の最小アラート間隔(秒)。セキュリティモニタリングのレベルは security_ プレフィックスを使用します。 |
|
| alertOpt.aggInterval | integer | アラート集約間隔(秒)。0 は集約しないことを意味します。範囲 [0,1800]。 | |
| alertOpt.aggFields | array | 集約フィールドリスト。空リスト[]は「集約ルール:すべて」を意味します。 df_monitor_checker_id:モニター/インテリジェントインスペクション/SLO、 df_dimension_tags:検出ディメンション、 df_label:ラベル、 CLUSTER:スマート集約、または aggType=byCustom の場合はカスタム集約フィールド。 | |
| alertOpt.aggLabels | array | ラベル集約時のラベル値リスト。aggFields で df_label を指定している場合のみ有効です。 | |
| alertOpt.aggClusterFields | array | スマート集約時のフィールドリスト。aggFields で CLUSTER を指定している場合のみ有効です。選択可能な値: "df_title":タイトル, "df_message":コンテンツ。 | |
| alertOpt.aggSendFirst | boolean | 集約時、最初のアラートを直接送信するかどうか(2025-09-03 のイテレーションで追加)。 | |
| alertOpt.aggType | string | デフォルトでは旧バージョンのロジックが適用されます。byFields: ルール集約、byCluster: スマート集約、byAI: AI 集約、byCustom: ルール集約-カスタム。2024-12-25 に追加されたフィールド。 | |
| alertOpt.alertTarget | Array[Dict] | アラートアクション | |
| alertOpt.alertType | string | アラートポリシーの通知タイプ。ステータス(status)/メンバー(member)。デフォルトはステータス。2024-11-06 のイテレーションで追加。 | |
| alertOpt.ignoreOK | boolean | 詳細設定。正常レベルの場合、イベントのみを生成し、通知を送信しません(OK 通知を無視するかどうか)。2025-10-22 に追加されたフィールド。 | |
| openPermissionSet | boolean | カスタム権限設定を有効にするかどうか。デフォルト false。2024-11-06 のイテレーションで追加。 | |
| permissionSet | array | 操作権限設定。2024-11-06 のイテレーションで追加。 | |
| checkerUUIDs | array | 関連付けられたモニター/インテリジェントモニター/インテリジェントインスペクション/SLO の UUID。2024-12-11 のイテレーションで追加。 | |
| securityRuleUUIDs | array | 関連付けられたセキュリティモニタリング(cspm, siem, aba)の UUID。2025-05-14 のイテレーションで追加。 |
1.1 alertOpt.aggType パラメータ説明
2024-12-25
アラート集約タイプ:
null: 集約しない
byFields: ルール集約
byCluster: スマート集約
byAI: AI 集約
旧バージョンのデータ構造では aggType フィールドが存在せず、代わりに aggFields の内容で集約タイプを判断していたため、aggType フィールド追加後は以下のように互換処理が行われます:
aggType が指定されている場合、aggType で指定された集約方式で集約します。
aggType が指定されていない、または aggType=None の場合(旧バージョンのロジックに従う)
aggFields に "CLUSTER" が含まれている場合、スマート集約方式で集約します。
aggFields に "CLUSTER" が含まれていない場合、ルール集約方式で集約します。
派生ルール:
aggInterval=0 または aggInterval=null を指定した場合、依然として「集約しない」ことを意味します。
aggType="byCluster" を指定した場合、aggFields に "CLUSTER" を含める必要はありません(含めても影響はありません)。
aggType="byFields" を指定したが、aggFields に "CLUSTER" が含まれている場合、"CLUSTER" は無視されます(aggType の優先順位が高い)。
aggType="byCustom" を指定した場合、aggFields のカスタムフィールドに従って集約します。
2. アラートポリシーがステータスタイプの場合の alertOpt.alertTarget パラメータ説明
| key | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | 設定名 | |
| targets | Array[dict] | 必須 | 通知先設定(アラートポリシーのステータス/メンバータイプにおけるこのフィールドの位置に注意) |
| crontab | String | 繰り返し時間帯を選択する場合、開始 Crontab(Crontab 構文) | |
| crontabDuration | integer | 繰り返し時間を選択する場合、Crontab 開始からの継続時間(秒) | |
| customDateUUIDs | Array[String] | カスタム時間を選択する場合、カスタム通知日付の UUID リスト。例: ['ndate_xxxx32', 'ndate_xxxx32']。カスタム通知日付は(モニタリング - アラートポリシー - カスタム通知日付、API)を参照。 | |
| customStartTime | String | カスタム時間帯を選択する場合、毎日の開始時間。形式: HH |
|
| customDuration | integer | カスタム時間帯を選択する場合、customStartTime からの継続時間(秒) |
3. アラートポリシーがメンバータイプの場合の alertOpt.alertTarget パラメータ説明
| key | 型 | 必須 | 説明 |
|---|---|---|---|
| alertTarget[#] | dict | alertTarget リスト要素 | |
| alertTarget[#].name | string | 設定名 | |
| alertTarget[#].crontab | String | 繰り返し時間帯を選択する場合、開始 Crontab(Crontab 構文) | |
| alertTarget[#].crontabDuration | integer | 繰り返し時間を選択する場合、Crontab 開始からの継続時間(秒) | |
| alertTarget[#].customDateUUIDs | Array[String] | カスタム時間を選択する場合、カスタム通知日付の UUID リスト。例: ['ndate_xxxx32', 'ndate_xxxx32']。カスタム通知日付は(モニタリング - アラートポリシー - カスタム通知日付、API)を参照。 | |
| alertTarget[#].customStartTime | String | カスタム時間帯を選択する場合、毎日の開始時間。形式: HH |
|
| alertTarget[#].customDuration | integer | カスタム時間帯を選択する場合、customStartTime からの継続時間(秒) | |
| alertTarget[#].alertInfo | Array[dict] | 必須 | メンバータイプのアラートポリシーにおける通知関連情報設定。2024-11-27 のイテレーションで追加。 |
4. アラートポリシーがメンバータイプの場合の alertOpt.alertTarget.alertInfo パラメータ説明
| key | 型 | 必須 | 説明 |
|---|---|---|---|
| alertInfo[#] | string | alertInfo リスト要素 | |
| alertInfo[#].name | string | 設定名 | |
| alertInfo[#].targets | Array[dict] | 必須 | 通知先設定(アラートポリシーのステータス/メンバータイプにおけるこのフィールドの位置に注意) |
| alertInfo[#].filterString | string | alertType が member の場合、このフィールドを使用します。フィルター条件の生文字列。2024-11-27 のイテレーションで追加。 | |
| alertInfo[#].memberInfo | array | alertType が member の場合、このフィールドを使用します(チーム UUID、メンバー UUID)。例: [group_xxxx,acnt_xxxx]。2024-11-27 のイテレーションで追加。 |
5. 時間設定に関する説明
繰り返し時間帯を選択する場合、crontab、crontabDuration フィールドは必須パラメータです。
カスタム時間帯を選択する場合、customDateUUIDs、customDuration、customStartTime フィールドは必須パラメータです。
その他の時間を選択する場合、crontab、crontabDuration、customDateUUIDs、customStartTime、customDuration はすべて不要です。
注意: 各アラートポリシーには、その他の時間の通知ルールが1つ存在します。つまり、時間設定がない場合はフォールバックの通知先となります。
6. 通知先フィールド targets 説明
alertType が status の場合、targets の位置は alertOpt.alertTarget.targets です。
alertType が member の場合、targets の位置は alertOpt.alertTarget.alertInfo.targets です。
targets はリストで、内部要素は dict です。内部フィールドの説明は以下の通りです:
| key | 型 | 必須 | 説明 |
|---|---|---|---|
| to | Array[String] | 必須 | 通知先/メンバー/チーム。例: [group_xxxx,acnt_xxxx,notify_xxxx]。(alertType が member の場合、通知先と固定フィールド email、sms(SaaS 版は sms をサポート)のみ選択可能。例: [email,notify_xxxx]。2024-11-06 のイテレーションで追加。) |
| status | Enum | 必須 | アラートを送信する必要があるイベントの status 値(複数の status はカンマで区切ります。All はすべてを意味します)。非セキュリティモニタリングタイプの status 値: fatal、critical、error、warning、nodata、info。セキュリティモニタリングタイプの status 値: critical、high、medium、low、info(2025-05-14 のイテレーションでセキュリティモニタリングの列挙値を追加)。 |
| df_source | Enum | status がセキュリティモニタリングの status である必要がある場合、ここで df_source を security に指定する必要があります。デフォルトで渡さない場合は非セキュリティモニタリングの status を意味します(2025-05-14 のイテレーションで追加)。 | |
| upgradeTargets | Array | 各アラート設定のステータスに対するエスカレーション通知。 | |
| tags | dict | フィルター条件。 | |
| filterString | dict | フィルター条件の生文字列。tags を置き換えることができます。filterString の使用優先順位は tags より高いです。2024-11-27 のイテレーションで追加。 |
7. 通知先フィールド upgradeTargets 説明
<br/>
alertType が status の場合、targets の位置は alertOpt.alertTarget.targets.upgradeTargets です。
alertType が member の場合、targets の位置は alertOpt.alertTarget.alertInfo.targets.upgradeTargets です。
7.1 upgradeTargets はリストで、内部要素は dict です。内部フィールドの説明は以下の通りです:
| key | 型 | 必須 | 説明 |
|---|---|---|---|
| to | Array[String] | 必須 | 通知先/メンバー/チーム。例: [group_xxxx,acnt_xxxx,notify_xxxx]。(alertType が member の場合、メンバーとチームのみ選択可能。2024-11-06 のイテレーションで追加。) |
| duration | integer | 継続時間。このステータスレベルのイベントが継続して発生した場合にエスカレーション通知をトリガーします。 | |
| toWay | Array[String] | alertType がメンバー(member)タイプの場合に使用します。通知先と固定フィールド email、sms(SaaS 版は sms をサポート)のみ選択可能。例: [email,notify_xxxx]。2024-11-06 のイテレーションで追加。 |
8. 操作権限設定パラメータ説明
| パラメータ名 | type | 説明 |
|---|---|---|
| openPermissionSet | boolean | カスタム権限設定を有効にするかどうか。デフォルト false。 |
| permissionSet | array | 操作権限設定。 |
8.1 permissionSet、openPermissionSet フィールド説明(2024-06-26 のイテレーションで追加されたフィールド):
openPermissionSet を有効にすると、ワークスペースのオーナーと permissionSet 設定に含まれるロール、チーム、メンバーのみが編集/有効化/無効化/削除を行えます。
openPermissionSet を無効にした場合(デフォルト)、削除/有効化/無効化/編集の権限は既存の API の編集/有効化/無効化/削除権限に従います。
permissionSet フィールドには、ロール UUID(wsAdmin, general, readOnly, role_xxxxx)、チーム UUID(group_yyyy)、メンバー UUID(acnt_xxx)を設定できます。
permissionSet フィールドの例:
9. alertOpt[#].silentTimeoutByStatus パラメータ説明
| パラメータ名 | type | 説明 |
|---|---|---|
| silentTimeoutByStatus[#] | dict | silentTimeoutByStatus リスト要素 |
| silentTimeoutByStatus[#].status | boolean | 非セキュリティモニタリングタイプの status 値: fatal、critical、error、warning、nodata、info。セキュリティモニタリングタイプの status 値: security_critical、security_high、security_medium、security_low、security_info。 |
| silentTimeoutByStatus[#].silentTimeout | integer | 最小アラート間隔。同じアラートを再度送信しない期間(アラートサイレント時間)。単位は秒。0/null はアラートを1回のみ送信(間隔が無限)を意味します。 |
silentTimeoutByStatus フィールドの例:
[
{
"status": "fatal",
"silentTimeout": 600
},
{
"status": "critical,error",
"silentTimeout": 900
},
{
"status": "security_high",
"silentTimeout": 600
},
]
リクエスト例¶
curl 'https://openapi.guance.com/api/v1/alert_policy/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"name":"jj_test","ruleTimezone":"Asia/Shanghai","alertOpt":{"alertTarget":[{"name":"Notification Configuration1","targets":[{"status":"critical","tags":{"pod_name":["coredns-7769b554cf-w95fk"]},"to":["acnt_xxxx32"]}],"crontabDuration":600,"crontab":"0 9 * * 0,1,2,3,4"},{"name":"Notification Configuration2","targets":[{"status":"error","to":["group_xxxx32"]}],"customDateUUIDs":["ndate_xxxx32"],"customStartTime":"09:30:10","customDuration":600},{"targets":[{"status":"warning","to":["notify_xxxx32"]}]}],"silentTimeout":21600,"aggInterval":120,"aggFields":["df_monitor_checker_id"]}}' \
--compressed
レスポンス¶
{
"code": 200,
"content": {
"alertOpt": {
"aggFields": [
"df_monitor_checker_id"
],
"aggInterval": 120,
"alertTarget": [
{
"crontab": "0 9 * * 0,1,2,3,4",
"crontabDuration": 600,
"name": "Notification Configuration1",
"targets": [
{
"status": "critical",
"tags": {
"pod_name": [
"coredns-7769b554cf-w95fk"
]
},
"to": [
"acnt_xxxx32"
]
}
]
},
{
"customDateUUIDs": [
"ndate_xxxx32"
],
"customDuration": 600,
"customStartTime": "09:30:10",
"name": "Notification Configuration2",
"targets": [
{
"status": "error",
"to": [
"group_xxxx32"
]
}
]
},
{
"targets": [
{
"status": "warning",
"to": [
"notify_xxxx32"
]
}
]
}
],
"silentTimeout": 21600
},
"createAt": 1719373984,
"creator": "wsak_xxxx32",
"declaration": {
"asd": "aa,bb,cc,1,True",
"asdasd": "dawdawd",
"business": "aaa",
"fawf": "afawf",
"organization": "64fe7b4062f74d0007b46676"
},
"deleteAt": -1,
"id": null,
"name": "jj_test",
"ruleTimezone": "Asia/Shanghai",
"score": 0,
"status": 0,
"updateAt": 1719373984,
"updator": "wsak_xxxx32",
"uuid": "altpl_xxxx32",
"workspaceUUID": "wksp_xxxx32"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-148B6846-6180-4594-BD26-8A2077F0E911"
}