コンテンツにスキップ

作成 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🇲🇲ss
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🇲🇲ss
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 値: fatalcriticalerrorwarningnodatainfo。セキュリティモニタリングタイプの status 値: criticalhighmediumlowinfo(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 フィールドの例:

  ["wsAdmin", "general", "group_yyyy", "acnt_xxxx"]    


9. alertOpt[#].silentTimeoutByStatus パラメータ説明

パラメータ名 type 説明
silentTimeoutByStatus[#] dict silentTimeoutByStatus リスト要素
silentTimeoutByStatus[#].status boolean 非セキュリティモニタリングタイプの status 値: fatalcriticalerrorwarningnodatainfo。セキュリティモニタリングタイプの status 値: security_criticalsecurity_highsecurity_mediumsecurity_lowsecurity_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"
} 

フィードバック

このページは役に立ちましたか?