Adding a Threshold Rule

Function

This API is used to add a threshold rule.

URI

POST /v1/{project_id}/ams/alarms

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

Project-level token obtained from IAM.

Content-Type

Yes

String

Content type, which is application/json.

Enumeration values:

  • application/json

Table 3 Request body parameters

Parameter

Mandatory

Type

Description

statistic

Yes

String

Statistic.

Enumeration values:

  • maximum

  • minimum

  • average

  • sum

  • sampleCount

namespace

Yes

String

Metric namespace.

Values:

  • PAAS.CONTAINER: namespace of component, instance, process, and container metrics.

  • PAAS.NODE: namespace of host, network, disk, and file system metrics.

  • PAAS.AGGR: namespace of cluster metrics.

  • Namespace of custom metrics.

metricName

Yes

String

Metric name. The value must contain 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.

period

Yes

Integer

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

alarmLevel

Yes

Integer

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

Enumeration values:

  • 1

  • 2

  • 3

  • 4

evaluationPeriods

Yes

Integer

Number of consecutive periods.

comparisonOperator

Yes

String

Threshold criterion expression.

threshold

Yes

String

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

alarmName

Yes

String

Threshold name.

dimensions

Yes

Array of Dimension objects

Metric dimension.

unit

Yes

String

Metric unit.

actionEnabled

No

Boolean

Whether to enable alarm reporting.

alarmActions

No

Array of strings

Action to be taken when an alarm is reported.

alarmAdvice

No

String

Suggestion.

alarmDescription

No

String

Threshold rule description.

insufficientDataActions

No

Array of strings

Action to be taken when data is insufficient.

okActions

No

Array of strings

Action to be taken when restoration is complete.

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

errorCode

String

Response code.

errorMessage

String

Response message.

alarmId

Long

Threshold rule code.

Example Requests

Add a threshold rule.

POST https://{Endpoint}/v1/{project_id}/ams/alarms

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

Example Responses

Status code: 200

OK

The request is successful.

{
  "errorCode" : "SVCSTG_AMS_2000000",
  "errorMessage" : "success",
  "alarmId" : 12345678
}

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

ForbiddenThe 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.