Updated on 2024-04-15 GMT+08:00

Adding a Threshold Rule

Function

This API is used to add a threshold rule.

URI

POST /v2/{project_id}/alarm-rules

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID obtained from IAM. Generally, a project ID contains 32 characters.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

String

User token obtained from IAM.

Content-Type

Yes

String

Content type, which is application/json.

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

alarm_advice

No

String

Alarm clearance suggestion.

alarm_description

No

String

Threshold rule description.

alarm_level

Yes

Integer

Alarm severity. Values: 1 (critical), 2 (major), 3 (minor), and 4 (warning).

alarm_rule_name

Yes

String

Threshold rule name. The following characters are not allowed: $>+<;#";&?%=''

comparison_operator

Yes

String

Comparison operator. Values: >, >=, <, and <=.

dimensions

Yes

Array of Dimension objects

List of time series dimensions.

evaluation_periods

Yes

Integer

Interval at which data is calculated. Value range: 1–5.

is_turn_on

No

Boolean

Whether to enable the threshold rule.

metric_name

Yes

String

Time series name. Length: 1–255 characters.

namespace

Yes

String

Namespace of time series objects.

period

Yes

Integer

Statistical period. Values: 60,000, 300,000, 900,000, and 3,600,000.

statistic

Yes

String

Statistic. Values: maximum, minimum, average, sum, and sampleCount.

threshold

Yes

String

Threshold value. Length: up to 255 characters. The value must be parsed as a positive number.

unit

No

String

Threshold unit.

Table 4 Dimension

Parameter

Mandatory

Type

Description

name

Yes

String

Dimension name.

value

Yes

String

Dimension value.

Response Parameters

Status code: 200

Table 5 Response body parameters

Parameter

Type

Description

alarm_rule_id

Long

Threshold rule ID.

Status code: 400

Table 6 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

error_type

String

Error type.

Example Requests

Add a threshold rule.

POST https://{Endpoint}/v2/{project_id}/alarm-rules

{
  "id_turn_on" : true,
  "alarm_advice" : "",
  "alarm_description" : "",
  "alarm_level" : 3,
  "alarm_rule_name" : "aaaaaaaa",
  "comparison_operator" : ">=",
  "dimensions" : [ {
    "name" : "appName",
    "value" : "rhm-broker"
  } ],
  "evaluation_periods" : 1,
  "metric_name" : "cpuCoreLimit",
  "namespace" : "PAAS.CONTAINER",
  "period" : 60000,
  "statistic" : "average",
  "threshold" : 0,
  "unit" : "Core"
}

Example Responses

Status code: 200

OK

The request is successful.

{
  "alarm_rule_id" : [ ]
}

Status code: 400

Bad Request

Invalid request. The client should not repeat the request without modifications.

{
  "error_code" : "AOM.02001500",
  "error_msg" : "internal server error",
  "error_type" : "INTERNAL_SERVER_ERROR"
}

Status Codes

Status Code

Description

200

OK

The request is successful.

400

Bad Request

Invalid request. The client should not repeat the request without modifications.

401

Unauthorized

The authorization information is incorrect or invalid.

403

Forbidden

The request is rejected. The server has received the request and understood it, but the server refuses to respond to it. The client should not repeat the request without modifications.

500

Internal Server Error

The server is able to receive the request but unable to understand the request.

503

Service Unavailable

The requested service is invalid. The client should not repeat the request without modifications.

Error Codes

See Error Codes.