Creating an Alert Rule
Function
Create alert rule
Calling Method
For details, see Calling APIs.
URI
POST /v1/{project_id}/workspaces/{workspace_id}/siem/alert-rules
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Project ID. Project ID. |
|
workspace_id |
Yes |
String |
Workspace ID. Workspace ID. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
X-Auth-Token |
Yes |
String |
User token. You can obtain the token by calling the IAM API used to obtain a user token. Token of an IAM user. To obtain it, call the corresponding IAM API. |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
pipe_id |
Yes |
String |
Pipeline ID.Pipe ID. |
|
rule_name |
Yes |
String |
Alert rule name. Alert rule name. |
|
description |
No |
String |
Link description.Description. |
|
query |
Yes |
String |
Query statement. Query. |
|
query_type |
No |
String |
SQL query syntax. Query type. SQL. |
|
status |
No |
String |
Status. The options are as follows - Enabled - Disabled |
|
severity |
No |
String |
Severity. The options are as follows - Tips - Low - Medium - High - FATAL. |
|
custom_properties |
No |
Map<String,String> |
Custom extension information. Custom properties. |
|
alert_type |
No |
Map<String,String> |
Alert type. Alert type. |
|
event_grouping |
No |
Boolean |
Alert group. Alert group. |
|
suspression |
No |
Boolean |
Alert containment. Suppression. |
|
simulation |
No |
Boolean |
Simulated alerts. Simulation. |
|
schedule |
Yes |
Schedule object |
|
|
triggers |
Yes |
Array of AlertRuleTrigger objects |
Alert triggering rules. Alert triggers. |
|
pipe_name |
Yes |
String |
pipe name |
|
alert_name |
Yes |
String |
alert name |
|
alert_description |
No |
String |
alert description |
|
alert_remediation |
No |
String |
alert remediation |
|
accumulated_times |
No |
Integer |
accumulated times |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
frequency_interval |
Yes |
Integer |
Scheduling interval. Frequency interval. |
|
frequency_unit |
Yes |
String |
The unit of the scheduling interval. The value can be minute, hour, or day. Frequency unit. MINUTE, HOUR, DAY. |
|
period_interval |
Yes |
Integer |
Time window interval. Period interval. |
|
period_unit |
Yes |
String |
Time Window unit. The value can be minute, hour, or day. Period unit. MINUTE, HOUR, DAY. |
|
delay_interval |
No |
Integer |
The delay interval. Delay interval |
|
overtime_interval |
No |
Integer |
Timeout interval. Overtime interval |
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
mode |
No |
String |
Number of modes. Mode. COUNT. |
|
operator |
No |
String |
Operator, which can be equal to, not equal to, greater than, or less than. operator. EQ equal, NE not equal, GT greater than, LT less than. |
|
expression |
Yes |
String |
expression |
|
severity |
No |
String |
Severity. The options are as follows - Tips - Low - Medium - High - FATAL. |
|
accumulated_times |
No |
Integer |
accumulated_times |
Response Parameters
Status code: 200
|
Parameter |
Type |
Description |
|---|---|---|
|
X-request-id |
String |
This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. |
|
Parameter |
Type |
Description |
|---|---|---|
|
rule_id |
String |
Alert rule ID. |
|
pipe_id |
String |
Pipeline ID.Pipe ID. |
|
pipe_name |
String |
Data pipeline name.Pipe name. |
|
create_by |
String |
Created by. Created by. |
|
create_time |
Long |
Creation time. Create time. |
|
update_by |
String |
Updated by. Update by. |
|
update_time |
Long |
Update time. Update time. |
|
delete_time |
Long |
The deletion time. Delete time. |
|
rule_name |
String |
Alert rule name. |
|
query |
String |
Query. |
|
query_type |
String |
SQL query syntax. Query type. SQL. |
|
status |
String |
Status. The options are as follows - Enabled - Disabled |
|
severity |
String |
Severity. The options are as follows - Tips - Low - Medium - High - FATAL. |
|
custom_properties |
Map<String,String> |
Custom extension information. Custom properties. |
|
event_grouping |
Boolean |
Alert group. Alert group. |
|
schedule |
Schedule object |
Schedule Rule. |
|
triggers |
Array of AlertRuleTrigger objects |
Alert triggering rules. Alert triggers. |
|
Parameter |
Type |
Description |
|---|---|---|
|
frequency_interval |
Integer |
Scheduling interval. Frequency interval. |
|
frequency_unit |
String |
The unit of the scheduling interval. The value can be minute, hour, or day. Frequency unit. MINUTE, HOUR, DAY. |
|
period_interval |
Integer |
Time window interval. Period interval. |
|
period_unit |
String |
Time Window unit. The value can be minute, hour, or day. Period unit. MINUTE, HOUR, DAY. |
|
delay_interval |
Integer |
The delay interval. Delay interval |
|
overtime_interval |
Integer |
Timeout interval. Overtime interval |
|
Parameter |
Type |
Description |
|---|---|---|
|
mode |
String |
Number of modes. Mode. COUNT. |
|
operator |
String |
Operator, which can be equal to, not equal to, greater than, or less than. operator. EQ equal, NE not equal, GT greater than, LT less than. |
|
expression |
String |
expression |
|
severity |
String |
Severity. The options are as follows - Tips - Low - Medium - High - FATAL. |
|
accumulated_times |
Integer |
accumulated_times |
Status code: 400
|
Parameter |
Type |
Description |
|---|---|---|
|
X-request-id |
String |
This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. |
Example Requests
Create an alarm rule whose ID is 772fb35b-83bc-46c9-a0b1-ebe31070a889, Name is Alert rule, Query type is SQL, and Status is Enabled.D331
{
"pipe_id" : "772fb35b-83bc-46c9-a0b1-ebe31070a889",
"pipe_name" : "sec-hss-alarm",
"rule_name" : "Alert rule",
"description" : "An alert rule",
"query" : "* | select status, count(*) as count group by status",
"query_type" : "SQL",
"status" : "ENABLED",
"severity" : "TIPS",
"alert_name" : "test",
"custom_properties" : {
"references" : "https://localhost/references",
"maintainer" : "isap"
},
"event_grouping" : false,
"suspression" : false,
"simulation" : false,
"accumulated_times" : 1,
"schedule" : {
"frequency_interval" : 5,
"frequency_unit" : "MINUTE",
"period_interval" : 5,
"period_unit" : "MINUTE",
"delay_interval" : 2,
"overtime_interval" : 10
},
"triggers" : [ {
"mode" : "COUNT",
"operator" : "GT",
"expression" : 10,
"severity" : "TIPS",
"accumulated_times" : 1
} ]
}
Example Responses
Status code: 200
Success
{
"rule_id" : "443a0117-1aa4-4595-ad4a-796fad4d4950",
"pipe_id" : "772fb35b-83bc-46c9-a0b1-ebe31070a889",
"create_by" : "582dd19dd99d4505a1d7929dc943b169",
"create_time" : 1665221214,
"update_by" : "582dd19dd99d4505a1d7929dc943b169",
"update_time" : 1665221214,
"delete_time" : 0,
"rule_name" : "Alert rule",
"query" : "* | select status, count(*) as count group by status",
"query_type" : "SQL",
"status" : "ENABLED",
"severity" : "TIPS",
"custom_properties" : {
"references" : "https://localhost/references",
"maintainer" : "isap"
},
"event_grouping" : true,
"schedule" : {
"frequency_interval" : 5,
"frequency_unit" : "MINUTE",
"period_interval" : 5,
"period_unit" : "MINUTE",
"delay_interval" : 2,
"overtime_interval" : 10
},
"triggers" : [ {
"mode" : "COUNT",
"operator" : "GT",
"expression" : 10,
"severity" : "TIPS"
} ]
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
Success |
|
400 |
Bad Request |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.