更新时间:2025-03-21 GMT+08:00

查询活动或历史告警列表

功能介绍

该接口用于查询告警列表

URI

POST /v2/{project_id}/{domain_id}/lts/alarms/sql-alarm/query

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见:获取项目ID,获取账号ID,日志组ID、日志流ID

最小长度:32

最大长度:32

domain_id

String

账号ID,获取方式请参见:获取项目ID,获取账号ID,日志组ID、日志流ID

最小长度:32

最大长度:32

表2 Query参数

参数

是否必选

参数类型

描述

type

String

是活动告警还是历史告警。

marker

String

取值为上一页数据的最后一条记录的id(填写上一页数据返回得previous_marker或者next_marker值)。

最小长度:0

最大长度:1000

limit

Integer

每页数据量

最小值:0

最大值:1000

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

从IAM服务获取的用户Token,获取方式请参见:获取用户Token

最小长度:1000

最大长度:2000

Content-Type

String

该字段填为:application/json;charset=UTF-8。

最小长度:30

最大长度:30

表4 请求Body参数

参数

是否必选

参数类型

描述

whether_custom_field

Boolean

是否自定义查询时间段

start_time

Long

自定义时间段开始时间(时间戳)

最小值:13

最大值:13

end_time

Long

自定义时间段结束时间(时间戳)

最小值:13

最大值:13

time_range

String

timeRange用于指标查询时间范围,主要用于解决客户端时间和服务端时间不一致情况下,查询最近N分钟的数据。另可用于精确查询某一段时间的数据。

如:

  • -1.-1.60(表示最近60分钟),不管当前客户端是什么时间,都以服务端时间为准查询最近60分钟。

  • 1650852000000.1650852300000.5(表示GMT+8 2022-04-25 10:00:00至2022-04-25 10:05:00指定的5分钟)

    格式:startTimeInMillis.endTimeInMillis.durationInMinutes

    参数解释:

  • startTimeInMillis: 查询的开始时间,格式为UTC毫秒,如果指定为-1,服务端将按(endTimeInMillis -durationInMinutes * 60 *1000)计算开始时间。如-1.1650852300000.5,则相当于1650852000000.1650852300000.5

  • endTimeInMillis: 查询的结束时间,格式为UTC毫秒,如果指定为-1,服务端将按(startTimeInMillis+durationInMinutes * 60 *1000)计算结束时间,如果计算出的结束时间大于当前系统时间,则使用当前系统时间。如1650852000000.-1.5,则相当于1650852000000.1650852300000.5

  • durationInMinutes:查询时间的跨度分钟数。 取值范围大于0并且大于等于(endTimeInMillis -startTimeInMillis) / (60 * 1000) -1。当开始时间与结束时间都设置为-1时,系统会将结束时间设置为当前时间UTC毫秒值,并按(endTimeInMillis -durationInMinutes * 60 * 1000)计算开始时间。如:-1.-1.60(表示最近60分钟)

    约束:单次请求中,查询时长与周期需要满足以下条件: durationInMinutes * 60 / period <= 1440

最小长度:1

最大长度:32

search

String

模糊查询匹配字段,可以为空。如果值不为空,可以模糊匹配。metadata字段为必选字段。

最小长度:1

最大长度:1024

alarm_level_ids

Array of strings

告警级别("Critical","Major","Minor","Info")

说明:

alarmLevelIds为旧版参数,目前兼容该参数,建议使用

alarm_level_ids

sort

Sort object

返回列表的排序方式,可以为空。

step

Integer

统计步长。毫秒数,例如一分钟则填写为60000。

表5 Sort

参数

是否必选

参数类型

描述

order_by

Array of strings

排序字段列表。会根据列表中定义顺序对返回列表最排序。

order

String

排序方式枚举值。asc代表正序,desc代表倒序。

枚举值:

  • asc

  • desc

响应参数

状态码:200

表6 响应Body参数

参数

参数类型

描述

events

Array of Events objects

告警信息

page_info

PageInfo object

分页详情

表7 Events

参数

参数类型

描述

annotations

Annotations object

告警详情

metadata

Metadata object

告警信息

arrives_at

Long

到达时间(时间戳)

ends_at

Long

告警清除时间(时间戳)

id

String

告警id

starts_at

Long

告警产生时间(时间戳)

timeout

Long

告警自动清除时间(时间戳)

type

String

告警规则类型(SQL/关键词)

表8 Annotations

参数

参数类型

描述

message

String

告警列表详情

log_info

String

日志组/流id名称

current_value

String

当前值

old_annotations

String

(sql/关键词)告警详情原始数据

表9 Metadata

参数

参数类型

描述

event_type

String

告警类型

event_id

String

告警id

event_severity

String

告警级别

event_name

String

告警名称

resource_type

String

资源类型

resource_id

String

日志组/流名称

resource_provider

String

告警源

lts_alarm_type

String

告警规则类型(SQL/关键词)

表10 PageInfo

参数

参数类型

描述

next_marker

String

返回下一页查询地址(为空时,代表后面没有数据)

previous_marker

String

返回前一页查询地址

current_count

String

本页返回条目数量

状态码:400

表11 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误内容

状态码:500

表12 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误内容

请求示例

查询活动或历史告警列表

POST https://{endpoint}/v2/{project_id}/{domain_id}/lts/alarms/sql-alarm/query?type=active_alert

{
  "whether_custom_field" : false,
  "start_time" : 0,
  "end_time" : 0,
  "time_range" : "30",
  "search" : "",
  "alarm_level_ids" : [ "Critical", "Major", "Minor", "Info" ],
  "sort" : {
    "order_by" : [ "starts_at" ],
    "order" : "desc"
  }
}

响应示例

状态码:200

请求响应成功。

{
  "events" : [ {
    "annotations" : {
      "current_value" : "{\"pv\":30}",
      "log_info" : "[{\"log_group_id\":\"50bcab14-xxxx-xxxx-xxxx-41ae4a6e3401\",\"log_group_name\":\"lts-test-group\",\"log_group_name_alias\":\"lts-test-group\",\"log_stream_id\":\"90727e60-xxxx-xxxx-xxxx-19ba53adcbc5\",\"log_stream_name\":\"lts-test-topic\",\"log_stream_name_alias\":\"lts-test-topic\"}]",
      "message" : "{\"alarm_action_rule_name\":\"testlts\",\"alarm_rule_alias\":\"lts001\",\"alarm_rule_id\":\"2ef849e9-afb4-4983-9197-9049c3460b9d\",\"alarm_rule_name\":\"lts001\",\"closed_alarm_time\":0,\"condition_expression\":\"pv > 0\",\"condition_expressions\":[{\"condition_expression\":\"pv > 0\"}],\"create_time\":0,\"domain_id\":\"1d26cc8c86a840e28a4f8dxxxxxxxxxx\",\"frequency\":{\"day_of_week\":1,\"fixed_rate\":1,\"fixed_rate_unit\":\"minute\",\"hour_of_day\":0,\"type\":\"FIXED_RATE\"},\"is_css_sql\":true,\"ltsAlarmInfos\":[{\"conditions\":[],\"is_time_range_relative\":true,\"log_group_id\":\"50bcab14-xxxx-xxxx-xxxx-41ae4a6e3401\",\"log_group_name\":\"lts-test-group\",\"log_group_name_alias\":\"lts-test-group\",\"log_stream_id\":\"90727e60-xxxx-xxxx-xxxx-19ba53adcbc5\",\"log_stream_name\":\"lts-test-topic\",\"log_stream_name_alias\":\"lts-test-topic\",\"search_time_range\":5,\"search_time_range_unit\":\"minute\",\"sql\":\"* | SELECT count(*) as pv\",\"sql_request_title\":\"\"}],\"notification_frequency\":0,\"projectId\":\"\",\"status\":\"RUNNING\",\"topics\":[],\"type\":\"sql\",\"update_time\":0,\"whether_recovery_policy\":false}"
    },
    "metadata" : {
      "event_type" : "alarm",
      "event_id" : "2ef849e9-xxxx-xxxx-xxxx-9049c3460b9d",
      "lts_alarm_type" : "search_analysis",
      "event_severity" : "Critical",
      "resource_type" : "日志组/流",
      "event_name" : "lts001",
      "resource_id" : "lts-test-group/lts-test-topic",
      "event_subtype" : "sql",
      "resource_provider" : "LTS"
    },
    "type" : "search_analysis"
  } ]
}

状态码:400

响应内容

{
  "error_code" : "LTS.2005",
  "error_msg" : "Find alarm error start_time or end_tim must not be empty."
}

状态码:500

响应内容

{
  "error_code" : "LTS.0010",
  "error_msg" : "Internal Server Error"
}

状态码

状态码

描述

200

请求响应成功。

400

响应内容

500

响应内容

错误码

请参见错误码