Update Alert Rule
Updates an existing alert rule by its ID. The current user should be a project admin.
The base URL for this API is in the following format:
https://${CLUSTER_ENDPOINT}
- You need to fill in
${CLUSTER_ENDPOINT}
with that of your Zilliz Cloud cluster. - To get the endpoint, use the Describe Cluster V2 API to extract the values from the responses.
export CLUSTER_ENDPOINT=""
The authentication token should be an API key with appropriate privileges.
The ID of the alert rule to update.
The ID of the project to which the alert rule belongs.
The name of the alert rule.
The level of the alert rule.
The name of the metric that the alert rule monitors.
The threshold value of the alert rule.
The time window for the alert rule in minutes.
The comparison operator used in the alert rule.
The IDs of the clusters to which the alert rule applies.
The ID of the cluster.
Indicates whether the alert rule is enabled.
Indicates whether to send notifications when the alert rule is resolved.
The actions to take when the alert rule is triggered.
An action to take when the alert rule is triggered.
The type of the action.
The configuration for the action.
The recipients of the alert notification. This applies only when the action type is EMAIL and SMS.
A list of email addresses to receive the alert notification.
An email address to receive the alert notification.
A list of organization roles to receive the alert notification.
An organization role to receive the alert notification.
A list of project roles to receive the alert notification.
A project role to receive the alert notification.
The URL to which the alert notification should be sent. This applies only when the action type is WEBHOOK.
The URL to which the alert notification should be sent. This applies only when the action type is SLACK, LARK, and WECOM.
The region where your PagerDuty or OpsGenie service is located. This applies only when the action type is PAGERDUTY and OPSGENIE.
The API key for your PagerDuty or OpsGenie service. This applies only when the action type is PAGERDUTY and OPSGENIE.
export TOKEN="db_admin:xxxxxxxxxxxxx"
export ALERT_RULE_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
curl --request PUT \
--url "${CLUSTER_ENDPOINT}/v2/alertRules/${ALERT_RULE_ID}" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"id": "12391290837zs09sad0d09123",
"projectId": "proj-b44a39b0c51cf21791a841",
"ruleName": "my alert name",
"level": "CRITICAL",
"metricName": "REQUEST_LATENCY_SEARCH_P99",
"threshold": "70",
"windowSize": "10",
"comparisonOperator": "GREATER_THAN",
"targetClusterIds": [
"in01-xxxxxxxxxxxx"
],
"enabled": true,
"sendResolved": true,
"actions": [
{
"type": "EMAIL",
"config": {
"recipients": {
"members": [
"your-email@your-org.com"
],
"orgRoles": [
"OWNER",
"MEMBER",
"BILLING_ADMIN"
],
"projectRoles": [
"OWNER",
"MEMBER"
]
}
}
},
{
"type": "SMS",
"config": {
"recipients": {
"members": [
"your-email@your-org.com"
],
"orgRoles": [
"OWNER",
"MEMBER",
"BILLING_ADMIN"
],
"projectRoles": [
"OWNER",
"MEMBER"
]
}
}
},
{
"type": "WEBHOOK",
"config": {
"url": "https://xxxx"
}
},
{
"type": "SLACK",
"config": {
"webhookUrl": "https://xxxx"
}
},
{
"type": "LARK",
"config": {
"webhookUrl": "https://xxxx"
}
},
{
"type": "WECOM",
"config": {
"webhookUrl": "https://xxxx"
}
},
{
"type": "PAGERDUTY",
"config": {
"region": "US",
"apiKey": "..."
}
},
{
"type": "OPSGENIE",
"config": {
"region": "US",
"apiKey": "..."
}
}
]
}'
Returns a list of alert rules.
Response code.
The ID of the alert rule.
The ID of the project to which the alert rule belongs.
The name of the alert rule.
The level of the alert rule.
The name of the metric that the alert rule monitors.
The threshold value of the alert rule.
The time window for the alert rule in minutes.
The comparison operator used in the alert rule.
The IDs of the clusters to which the alert rule applies.
The ID of the cluster.
Indicates whether the alert rule is enabled.
Indicates whether to send notifications when the alert rule is resolved.
The actions to take when the alert rule is triggered.
An action to take when the alert rule is triggered.
The type of the action.
The configuration for the action.
The recipients of the alert notification. This applies only when the action type is EMAIL and SMS.
A list of email addresses to receive the alert notification.
An email address to receive the alert notification.
A list of organization roles to receive the alert notification.
An organization role to receive the alert notification.
A list of project roles to receive the alert notification.
A project role to receive the alert notification.
The URL to which the alert notification should be sent. This applies only when the action type is WEBHOOK.
The URL to which the alert notification should be sent. This applies only when the action type is SLACK, LARK, and WECOM.
The region where your PagerDuty or OpsGenie service is located. This applies only when the action type is PAGERDUTY and OPSGENIE.
The API key for your PagerDuty or OpsGenie service. This applies only when the action type is PAGERDUTY and OPSGENIE.
Returns an error message.
Response code.
Error message.
{
"code": 0,
"data": {
"id": "12391290837zs09sad0d09123",
"projectId": "proj-b44a39b0c51cf21791a841",
"ruleName": "my alert name",
"level": "CRITICAL",
"metricName": "REQUEST_LATENCY_SEARCH_P99",
"threshold": "70",
"windowSize": "10",
"comparisonOperator": "GREATER_THAN",
"targetClusterIds": [
"in01-xxxxxxxxxxxx"
],
"enabled": true,
"sendResolved": true,
"actions": [
{
"type": "EMAIL",
"config": {
"recipients": {
"members": [
"your-email@your-org.com"
],
"orgRoles": [
"OWNER",
"MEMBER",
"BILLING_ADMIN"
],
"projectRoles": [
"OWNER",
"MEMBER"
]
}
}
},
{
"type": "SMS",
"config": {
"recipients": {
"members": [
"your-email@your-org.com"
],
"orgRoles": [
"OWNER",
"MEMBER",
"BILLING_ADMIN"
],
"projectRoles": [
"OWNER",
"MEMBER"
]
}
}
},
{
"type": "WEBHOOK",
"config": {
"url": "https://xxxx"
}
},
{
"type": "SLACK",
"config": {
"webhookUrl": "https://xxxx"
}
},
{
"type": "LARK",
"config": {
"webhookUrl": "https://xxxx"
}
},
{
"type": "WECOM",
"config": {
"webhookUrl": "https://xxxx"
}
},
{
"type": "PAGERDUTY",
"config": {
"region": "US",
"apiKey": "..."
}
},
{
"type": "OPSGENIE",
"config": {
"region": "US",
"apiKey": "..."
}
}
]
}
}