Updated on 2023-11-16 GMT+08:00

Adding a Threshold Rule (Offline Soon)

Function

This API is used to add a threshold rule.

URI

POST /v1/{project_id}/ams/alarms

For details about the substitute of this API, see Adding a Threshold Rule.

Request

Request parameters

Table 1 describes the request parameters.

Table 1 Request parameters

Parameter

Mandatory

Type

Value Range

Description

project_id

Yes

String

-

Project ID applied from Identity and Access Management (IAM). Generally, it is a string containing 32 characters.

statistic

Yes

String

maximum, minimum, average, sum, or sampleCount.

Statistic.

namespace

Yes

String

-

Namespace.

metricName

Yes

String

The value must be 1 to 255 characters long and meet the [a-zA-Z_:][a-zA-Z0-9_:]* expression. That is, the value must start with a letter, underscore (_), or colon (:). Only letters, digits, underscores, and colons are allowed.

Metric name.

period

Yes

Integer

-

Statistical period.

alarmLevel

Yes

Integer

-

Alarm severity.

evaluationPeriods

Yes

Integer

-

Number of consecutive periods.

comparisonOperator

Yes

String

-

Threshold criterion expression.

threshold

Yes

String

-

Threshold.

alarmName

Yes

String

-

Threshold name.

dimensions

Yes

String

-

Metric dimension.

unit

Yes

String

-

Metric unit.

actionEnabled

No

Boolean

-

Whether to enable the alarm function.

alarmActions

No

Array

-

Alarm action.

alarmAdvice

No

String

-

Suggestion.

alarmDescription

No

String

-

Threshold rule description.

insufficientDataActions

No

Array

-

Action to be taken when data is insufficient.

okActions

No

Array

-

Recovery action.

Request headers

Table 2 describes the request headers.

Table 2 Request headers

Name

Mandatory

Description

X-Auth-Token

Yes

User token obtained from IAM.

Content-Type

Yes

Content type, which is application/json.

Example request

{ 
    "actionEnabled": false, 
    "alarmActions": [], 
    "alarmAdvice": "", 
    "alarmDescription": "", 
    "alarmLevel": 3, 
    "alarmName": "aaaaaaaa", 
    "comparisonOperator": ">=", 
    "dimensions": [ 
        { 
            "name": "appName", 
            "value": "rhm-broker" 
        } 
    ], 
    "evaluationPeriods": 1, 
    "insufficientDataActions": [], 
    "metricName": "cpuCoreLimit", 
    "namespace": "PAAS.CONTAINER", 
    "okActions": [], 
    "period": 60000, 
    "statistic": "average", 
    "threshold": 0, 
    "unit": "Core" 
}

Response

Response parameters

Table 3 describes the response parameters.

Table 3 Response parameters

Parameter

Type

Description

errorCode

String

Response code.

errorMessage

String

Response message.

alarmId

Integer

Threshold rule code.

Example response

{ 
    "errorCode": "SVCSTG.AMS.2000", 
    "errorMessage": "success", 
    "alarmId": 12345678 
}

Status Code

  • Success response

    Table 4 describes the status code.

    Table 4 Status code

    Status Code

    Message

    Description

    200

    OK

    The request has succeeded.

  • Error response

    Table 5 describes the status codes. For more information, see Status Codes.

    Table 5 Status codes

    Status Code

    Message

    Description

    400

    Bad Request

    The request is invalid.

    The client should not repeat the request without modifications.

    401

    Unauthorized

    The authorization information provided by the client is incorrect or invalid.

    403

    Forbidden

    The request is rejected.

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

    500

    InternalServerError

    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 Code

Table 6 Error codes

Error Code

Message

Solution

SVCSTG_AMS_4000101

Invalid alarm name.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000102

The threshold rule name already exists.

Use another name.

SVCSTG_AMS_4000103

Invalid alarm description.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000104

Invalid alarm threshold.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000105

Invalid alarm period.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000106

Invalid email list.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000107

The maximum number of threshold rules has been reached.

Contact technical support to expand the capacity.

SVCSTG_AMS_4000108

Invalid time range for alarm queries.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000109

Invalid project ID.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000115

Invalid request parameter.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000118

Invalid number of consecutive periods.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000119

Invalid alarm statistic.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000120

Invalid alarm comparison operator.

Check whether the parameter meets requirements.

SVCSTG_AMS_4000121

The alarm does not exist.

Check whether the threshold rule exists.

SVCSTG_AMS_5000000

Internal server error.

Contact technical support.