Queries the alert rules of Prometheus Service.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes ListPrometheusAlertRules

The operation that you want to perform. Set the value to ListPrometheusAlertRules.

Name String No Prometheus_Alert

The name of the alert rule.

RegionId String Yes cn-hangzhou

The ID of the region.

ClusterId String Yes c0bad479465464e1d8c1e641b0afb****

The ID of the cluster.

Type String No Custom

The type of the alert rule.

Status Integer No 1

Specifies whether the alert rule is enabled. Valid values:

  • 1: The alert rule is enabled.
  • 0: The alert rule is disabled.
MatchExpressions String No [{"key":"severity","value":"critical","operator":"re"}]

The tag match conditions that are described in a JSON string. For more information about this parameter, see the Additional description of the MatchExpressions parameter section.

Additional description of the MatchExpressions parameter

JSON string example and description

[
{
    "key":"severity",                           // The key of the tag. 
    "value":"critical",                           // the value of the tag. 
    "operator":"re"                           // eq: equals to. re: matches a regular expression. 
}
]

Response parameters

Parameter Type Example Description
RequestId String 9FEA6D00-317F-45E3-9004-7FB8B0B7****

The ID of the request.

PrometheusAlertRules Array of PrometheusAlertRule

The struct returned.

Status Integer 1

Indicates whether the alert rule is enabled. Valid values:

  • 1: The alert rule is enabled.
  • 0: The alert rule is disabled.
Type String Custom

The type of the alert rule.

NotifyType String ALERT_MANAGER

The method of that is used to send alert notifications. Valid values:

  • ALERT_MANAGER: Alert notifications are sent by Operation Center.
  • DISPATCH_RULE: Alert notifications are sent based on the specified notification policy.
Expression String 100 * (sum(rate(container_cpu_usage_seconds_total[1m])) by (pod_name) / sum(label_replace(kube_pod_container_resource_limits_cpu_cores, \"pod_name\", \"$1\", \"pod\", \"(.*)\")) by (pod_name))>75

The expression of the alert rule.

Message String The CPU utilization of ${{$labels.pod_name}} exceeds 80%. Current value: {{$value}}%

The message of the alert notification. Tags can be referenced in the {{$labels.xxx}} format.

Duration String 1m

The duration of the alert. Valid values: 1 to 1440. Unit: minutes.

DispatchRuleId Long 10282

The ID of the notification policy. This parameter is returned if the NotifyType parameter is set to DISPATCH_RULE.

AlertName String Prometheus_Alert

The name of the alert rule.

AlertId Long 3888704

The ID of the alert rule.

ClusterId String c0bad479465464e1d8c1e641b0afb****

The ID of the cluster.

Labels Array of Label

The tags of the alert rule.

Name String severity

The name of the tag.

Value String critical

The value of the tag.

Annotations Array of Annotation

The annotations of the alert rule.

Name String message

The name of the annotation.

Value String The CPU utilization of ${{$labels.pod_name}} exceeds 80%. Current value: {{$value}}%

The value of the annotation.

Examples

Sample requests

http(s)://[Endpoint]/?Action=ListPrometheusAlertRules
&ClusterId=c0bad479465464e1d8c1e641b0afb****
&RegionId=cn-hangzhou
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<ListPrometheusAlertRulesResponse>
    <PrometheusAlertRules>
        <Status>1</Status>
        <NotifyType>ALERT_MANAGER</NotifyType>
        <Type>Custom</Type>
        <AlertId>3888704</AlertId>
        <AlertName>Prometheus_Alert</AlertName>
        <Message>The CPU utilization of ${{$labels.pod_name}} exceeds 80%. Current value: {{$value}}%</Message>
        <ClusterId>c0bad479465464e1d8c1e641b0afb****</ClusterId>
        <Expression>100 * (sum(rate(container_cpu_usage_seconds_total[1m])) by (pod_name) / sum(label_replace(kube_pod_container_resource_limits_cpu_cores, \"pod_name\", \"$1\", \"pod\", \"(.*)\")) by (pod_name))&amp;gt;75</Expression>
        <DispatchRuleId>10282</DispatchRuleId>
        <Duration>1m</Duration>
        <Labels>
            <Value>critical</Value>
            <Name>severity</Name>
        </Labels>
        <Annotations>
            <Value>The CPU utilization of ${{$labels.pod_name}} exceeds 80%. Current value: {{$value}}%</Value>
            <Name>message</Name>
        </Annotations>
    </PrometheusAlertRules>
    <RequestId>9FEA6D00-317F-45E3-9004-7FB8B0B7****</RequestId>
</ListPrometheusAlertRulesResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "PrometheusAlertRules" : {
    "Status" : 1,
    "NotifyType" : "ALERT_MANAGER",
    "Type" : "Custom",
    "AlertId" : 3888704,
    "AlertName" : "Prometheus_Alert",
    "Message" : "The CPU utilization of ${{$labels.pod_name}} exceeds 80%. Current value: {{$value}}%",
    "ClusterId" : "c0bad479465464e1d8c1e641b0afb****",
    "Expression" : "100 * (sum(rate(container_cpu_usage_seconds_total[1m])) by (pod_name) / sum(label_replace(kube_pod_container_resource_limits_cpu_cores, \\\"pod_name\\\", \\\"$1\\\", \\\"pod\\\", \\\"(.*)\\\")) by (pod_name))&amp;gt;75",
    "DispatchRuleId" : 10282,
    "Duration" : "1m",
    "Labels" : {
      "Value" : "critical",
      "Name" : "severity"
    },
    "Annotations" : {
      "Value" : "The CPU utilization of ${{$labels.pod_name}} exceeds 80%. Current value: {{$value}}%",
      "Name" : "message"
    }
  },
  "RequestId" : "9FEA6D00-317F-45E3-9004-7FB8B0B7****"
}