更新时间:2024-11-19 GMT+08:00

搜索告警列表

功能介绍

搜索告警列表

调用方法

请参见如何调用API

URI

POST /v1/{project_id}/workspaces/{workspace_id}/soc/alerts/search

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目id

最小长度:32

最大长度:36

workspace_id

String

工作空间id

最小长度:32

最大长度:36

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

最小长度:0

最大长度:2097152

content-type

String

内容类型

缺省值:application/json;charset=UTF-8

最小长度:0

最大长度:64

表3 请求Body参数

参数

是否必选

参数类型

描述

limit

Integer

分页大小

最小值:0

最大值:9999

offset

Integer

偏移量

最小值:0

最大值:9994

sort_by

String

排序字段:create_time | update_time

最小长度:0

最大长度:1000

order

String

排序方式:DESC | ASC

最小长度:0

最大长度:1000

枚举值:

  • DESC
  • ASC

from_date

String

搜索开始时间,例如:2023-02-20T00:00:00.000Z

最小长度:0

最大长度:64

to_date

String

搜索结束时间,例如:2023-02-27T23:59:59.999Z

最小长度:0

最大长度:64

condition

condition object

搜索条件表达式

表4 condition

参数

是否必选

参数类型

描述

conditions

Array of conditions objects

表达式列表

数组长度:0 - 999

logics

Array of strings

表达式名称列表

最小长度:0

最大长度:100

数组长度:0 - 999

表5 conditions

参数

是否必选

参数类型

描述

name

String

表达式名称

最小长度:0

最大长度:64

data

Array of strings

表达式内容列表

最小长度:0

最大长度:100

数组长度:0 - 999

响应参数

状态码: 200

表6 响应Header参数

参数

参数类型

描述

X-request-id

String

请求ID,格式为:request_uuid-timestamp-hostname

表7 响应Body参数

参数

参数类型

描述

code

String

错误码

最小长度:0

最大长度:64

message

String

错误信息

最小长度:0

最大长度:1024

total

Integer

告警总数

最小值:0

最大值:10000

limit

Integer

分页大小

最小值:0

最大值:10000

offset

Integer

偏移量

最小值:0

最大值:10000

success

Boolean

是否成功

data

Array of ListAlertDetail objects

告警列表

数组长度:0 - 10000

表8 ListAlertDetail

参数

参数类型

描述

create_time

String

记录时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

data_object

ListAlertRsp object

告警实体信息

dataclass_ref

dataclass_ref object

数据类对象

format_version

Integer

格式版本

最小值:0

最大值:999

id

String

告警唯一标识,UUID格式,最大36个字符

最小长度:0

最大长度:36

type

String

数据类型

最小长度:0

最大长度:64

project_id

String

当前项目的id

最小长度:0

最大长度:64

update_time

String

更新时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

version

Integer

版本

最小值:0

最大值:999

workspace_id

String

当前的工作空间id

最小长度:0

最大长度:36

表9 ListAlertRsp

参数

参数类型

描述

version

String

告警对象的版本,该字段的值必须为华为云SSA服务确定的官方发布版本之一

最小长度:0

最大长度:64

id

String

事件唯一标识,UUID格式,最大36个字符

最小长度:0

最大长度:36

domain_id

String

数据投递后,被委托用户的domain_id

最小长度:0

最大长度:36

region_id

String

数据投递后,被委托用户的region_id

最小长度:0

最大长度:36

workspace_id

String

当前的工作空间id

最小长度:0

最大长度:36

labels

String

标签,仅展示

最小长度:0

最大长度:1024

environment

environment object

告警产生的环境坐标信息

data_source

data_source object

首次上报数据源

first_observed_time

String

首次发现时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

last_observed_time

String

最近发现时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

create_time

String

记录时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

arrive_time

String

接收时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

title

String

告警标题

最小长度:0

最大长度:255

description

String

告警描述信息

最小长度:0

最大长度:1024

source_url

String

告警URL链接,指向数据源产品中有关当前事件说明的页面

最小长度:0

最大长度:1024

count

Integer

事件发生次数

最小值:0

最大值:999

confidence

Integer

事件的置信度。置信度的定义旨在说明识别的行为或问题的可能性。 取值范围:0-100,0表示置信度为0%,100表示置信度为100%

最小值:0

最大值:100

severity

String

严重性等级,取值范围:Tips | Low | Medium | High | Fatal 说明: 0: Tips – 未发现任何问题。 1: Low – 无需针对问题执行任何操作。 2: Medium – 问题需要处理,但不紧急。 3: High – 问题必须优先处理。 4: Fatal – 问题必须立即处理,以防止产生进一步的损害

最小长度:3

最大长度:6

枚举值:

  • Tips
  • Low
  • Medium
  • High
  • Fatal

criticality

Integer

关键性,是指事件涉及的资源的重要性级别。 取值范围:0-100,0表示资源不关键,100表示最关键资源

最小值:0

最大值:100

alert_type

alert_type object

告警分类,详细定义参考《告警类型定义》

network_list

Array of network_list objects

网络信息

数组长度:0 - 999

resource_list

Array of resource_list objects

受影响资源

数组长度:0 - 999

remediation

remediation object

补救措施

verification_state

String

验证状态,标识事件的准确性。可选类型如下: Unknown – 未知 True_Positive – 确认 False_Positive – 误报 默认填写Unknown

最小长度:32

最大长度:64

枚举值:

  • Unknown
  • True_Positive
  • False_Positive

handle_status

String

事件处理状态,可选类型如下: Open – 打开,默认 Block – 阻塞 Closed – 关闭 默认填写Open

最小长度:4

最大长度:5

枚举值:

  • Open
  • Block
  • Closed

sla

String

约束闭环时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

update_time

String

更新时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

close_time

String

关闭时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

ipdrr_phase

String

周期/处置阶段编号 Prepartion|Detection and Analysis|Containm,Eradication& Recovery|Post-Incident-Activity

最小长度:0

最大长度:64

枚举值:

  • Prepartion
  • Detection and Analysis
  • Containm,Eradication& Recovery
  • Post-Incident-Activity

chop_phase

String

周期/处置阶段编号 Prepartion|Detection and Analysis|Containm,Eradication& Recovery|Post-Incident-Activity

最小长度:0

最大长度:64

枚举值:

  • Prepartion
  • Detection and Analysis
  • Containm,Eradication& Recovery
  • Post-Incident-Activity

ppdr_phase

String

周期/处置阶段编号 Prepartion|Detection and Analysis|Containm,Eradication& Recovery|Post-Incident-Activity

最小长度:0

最大长度:64

枚举值:

  • Prepartion
  • Detection and Analysis
  • Containm,Eradication& Recovery
  • Post-Incident-Activity

simulation

String

调试字段

最小长度:0

最大长度:64

actor

String

告警调查员

最小长度:0

最大长度:64

owner

String

责任人、服务责任人

最小长度:0

最大长度:64

creator

String

创建人

最小长度:0

最大长度:64

close_reason

String

关闭原因: 误检 - False detection 已解决 - Resolved 重复 - Repeated 其他 - Other

最小长度:0

最大长度:64

枚举值:

  • False detection
  • Resolved
  • Repeated
  • Other

close_comment

String

关闭评论

最小长度:0

最大长度:1024

malware

malware object

恶意软件

system_info

Object

系统信息

process

Array of process objects

进程信息

数组长度:0 - 999

user_info

Array of user_info objects

用户信息

数组长度:0 - 999

file_info

Array of file_info objects

文件信息

数组长度:0 - 999

system_alert_table

Object

告警管理列表的布局字段

表10 environment

参数

参数类型

描述

vendor_type

String

环境供应商:HWCP/HWC/AWS/Azure/GCP

最小长度:0

最大长度:64

domain_id

String

租户id

最小长度:0

最大长度:64

region_id

String

区域id,全局服务global

最小长度:0

最大长度:64

cross_workspace_id

String

数据投递前的源工作空间id,在源空间下值为null,投递后为被委托用户的id

最小长度:0

最大长度:64

project_id

String

项目id, 全局服务默认null

最小长度:0

最大长度:64

表11 data_source

参数

参数类型

描述

source_type

Integer

数据源类型,取值范围如下:

  • 1:华为云产品
  • 2:第三方产品
  • 3:租户私有产品

最小值:1

最大值:3

枚举值:

  • 1
  • 2
  • 3

domain_id

String

数据源产品所属账号的id

最小长度:0

最大长度:36

project_id

String

数据源产品所属项目的id

最小长度:0

最大长度:64

region_id

String

数据源产品所在区域,具体取值范围查看华为云地区和终端节点定义

最小长度:0

最大长度:64

company_name

String

数据源产品所属公司的名称

最小长度:0

最大长度:16

product_name

String

数据源产品的名称

最小长度:0

最大长度:24

product_feature

String

产品功能特性名称,用来指明检测到当前事件的产品的功能特性

最小长度:0

最大长度:24

product_module

String

检测模块列表

最小长度:0

最大长度:1024

表12 alert_type

参数

参数类型

描述

category

String

类别

最小长度:0

最大长度:1024

alert_type

String

告警类型

最小长度:0

最大长度:1024

表13 network_list

参数

参数类型

描述

direction

String

方向,取值范围:IN | OUT

最小长度:0

最大长度:3

枚举值:

  • IN
  • OUT

protocol

String

协议,包含7层和4层的协议 参考:IANA registered name https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

最小长度:0

最大长度:64

src_ip

String

源IP地址

最小长度:0

最大长度:64

src_port

Integer

源端口,0–65535

最小值:0

最大值:65535

src_domain

String

源域名

最小长度:0

最大长度:128

src_geo

src_geo object

源IP的地理位置信息

dest_ip

String

目的IP地址

最小长度:32

最大长度:64

dest_port

String

目的端口,0–65535

最小长度:0

最大长度:65535

dest_domain

String

目的域名

最小长度:0

最大长度:128

dest_geo

dest_geo object

目标IP的地理位置信息

表14 src_geo

参数

参数类型

描述

latitude

Number

纬度

最小值:0

最大值:90

longitude

Number

经度

最小值:0

最大值:180

city_code

String

城市编码,Beijing | Shanghai

最小长度:0

最大长度:64

country_code

String

国家简码,参考ISO 3166-1 alpha-2,例如:CN | US | DE | IT | SG

最小长度:0

最大长度:64

表15 dest_geo

参数

参数类型

描述

latitude

Number

纬度

最小值:0

最大值:90

longitude

Number

经度

最小值:0

最大值:180

city_code

String

城市编码,Beijing | Shanghai

最小长度:0

最大长度:64

country_code

String

国家简码,参考ISO 3166-1 alpha-2,例如:CN | US | DE | IT | SG

最小长度:0

最大长度:64

表16 resource_list

参数

参数类型

描述

id

String

云服务资源id

最小长度:0

最大长度:36

name

String

资源名称

最小长度:0

最大长度:255

type

String

资源类型;引用华为云RMS type字段

最小长度:0

最大长度:64

provider

String

云服务名称;引用华为云RMS provider字段

最小长度:0

最大长度:64

region_id

String

区域;按照华为云regionId填写

最小长度:0

最大长度:36

domain_id

String

资源所属账号ID,UUID格式

最小长度:0

最大长度:36

project_id

String

资源所属项目ID,UUID格式

最小长度:0

最大长度:36

ep_id

String

企业项目id

最小长度:0

最大长度:128

ep_name

String

企业项目名称

最小长度:0

最大长度:128

tags

String

资源标签 1、最多50个key/values对 2、values:最大255字符,取值范围:字母数字,空格,+, -, =, ., _, :, /,@

最小长度:0

最大长度:2048

表17 remediation

参数

参数类型

描述

recommendation

String

推荐处理方法

最小长度:0

最大长度:128

url

String

链接,指向该事件的一般修复信息。该URL必须可以从公网访问,不需要提供凭证

最小长度:0

最大长度:2048

表18 malware

参数

参数类型

描述

malware_family

String

恶意家族

最小长度:0

最大长度:64

malware_class

String

恶意软件分类

最小长度:0

最大长度:64

表19 process

参数

参数类型

描述

process_name

String

进程名

最小长度:0

最大长度:64

process_path

String

进程执行文件路径

最小长度:0

最大长度:512

process_pid

Integer

进程id

最小值:0

最大值:65535

process_uid

Integer

进程用户id

最小值:0

最大值:655350

process_cmdline

String

进程命令行

最小长度:0

最大长度:128

process_parent_name

String

父进程名称

最小长度:0

最大长度:64

process_parent_path

String

父进程执行文件路径

最小长度:0

最大长度:512

process_parent_pid

Integer

父进程id

最小值:0

最大值:65535

process_parent_uid

Integer

父进程用户id

最小值:0

最大值:655350

process_parent_cmdline

String

父进程命令行

最小长度:0

最大长度:128

process_child_name

String

子进程名称

最小长度:0

最大长度:64

process_child_path

String

子进程执行文件路径

最小长度:0

最大长度:512

process_child_pid

Integer

子进程id

最小值:0

最大值:65535

process_child_uid

Integer

子进程用户id

最小值:0

最大值:655350

process_child_cmdline

String

子进程命令行

最小长度:0

最大长度:128

process_launche_time

String

进程启动时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

process_terminate_time

String

进程结束时间,格式ISO8601:YYYY-MM-DDTHH:mm:ss.ms+timezone。时区信息为事件发生时区,无法解析时区的时间,默认时区填东八区

最小长度:0

最大长度:30

表20 user_info

参数

参数类型

描述

user_id

String

用户uid

最小长度:0

最大长度:36

user_name

String

用户名称

最小长度:32

最大长度:64

表21 file_info

参数

参数类型

描述

file_path

String

文件路径/名称

最小长度:0

最大长度:128

file_content

String

文件内容

最小长度:0

最大长度:1024

file_new_path

String

文件新路径/名称

最小长度:32

最大长度:64

file_hash

String

文件hash

最小长度:0

最大长度:128

file_md5

String

文件md5

最小长度:0

最大长度:128

file_sha256

String

文件sha256

最小长度:0

最大长度:128

file_attr

String

文件属性

最小长度:0

最大长度:1024

表22 dataclass_ref

参数

参数类型

描述

id

String

数据类唯一标识,UUID格式,最大36个字符

最小长度:0

最大长度:36

name

String

数据类名称

最小长度:0

最大长度:36

状态码: 400

表23 响应Header参数

参数

参数类型

描述

X-request-id

String

请求ID,格式为:request_uuid-timestamp-hostname

表24 响应Body参数

参数

参数类型

描述

code

String

错误码

最小长度:0

最大长度:64

message

String

错误描述

最小长度:0

最大长度:1024

请求示例

查询告警列表请求样例,查询2024年1月20号到2024年1月26号,告警等级为中危且处理状态为打开的告警,按照创建时间降序排序,返回第一页,每页10条数据

{
  "limit" : 10,
  "offset" : 0,
  "sort_by" : "create_time",
  "order" : "DESC",
  "condition" : {
    "conditions" : [ {
      "name" : "severity",
      "data" : [ "severity", "=", "Medium" ]
    }, {
      "name" : "handle_status",
      "data" : [ "handle_status", "=", "Open" ]
    } ],
    "logics" : [ "severity", "and", "handle_status" ]
  },
  "from_date" : "2024-01-20T00:00:00.000Z+0800",
  "to_date" : "2024-01-26T23:59:59.999Z+0800"
}

响应示例

状态码: 200

搜索告警列表返回body体

{
  "code" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
  "message" : "Error message",
  "total" : 41,
  "limit" : 2,
  "offset" : 1,
  "success" : true,
  "data" : [ {
    "data_object" : {
      "version" : "1.0",
      "environment" : {
        "vendor_type" : "MyXXX",
        "domain_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "region_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "project_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f"
      },
      "data_source" : {
        "source_type" : 3,
        "domain_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "project_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "region_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f"
      },
      "first_observed_time" : "2021-01-30T23:00:00Z+0800",
      "last_observed_time" : "2021-01-30T23:00:00Z+0800",
      "create_time" : "2021-01-30T23:00:00Z+0800",
      "arrive_time" : "2021-01-30T23:00:00Z+0800",
      "title" : "MyXXX",
      "description" : "This my XXXX",
      "source_url" : "http://xxx",
      "count" : 4,
      "confidence" : 4,
      "severity" : "TIPS",
      "criticality" : 4,
      "alert_type" : { },
      "network_list" : [ {
        "direction" : {
          "IN" : null
        },
        "protocol" : "TCP",
        "src_ip" : "192.168.0.1",
        "src_port" : "1",
        "src_domain" : "xxx",
        "dest_ip" : "192.168.0.1",
        "dest_port" : "1",
        "dest_domain" : "xxx",
        "src_geo" : {
          "latitude" : 90,
          "longitude" : 180
        },
        "dest_geo" : {
          "latitude" : 90,
          "longitude" : 180
        }
      } ],
      "resource_list" : [ {
        "id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "name" : "MyXXX",
        "type" : "MyXXX",
        "domain_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "project_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "region_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "ep_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "ep_name" : "MyXXX",
        "tags" : "909494e3-558e-46b6-a9eb-07a8e18ca62f"
      } ],
      "remediation" : {
        "recommendation" : "MyXXX",
        "url" : "MyXXX"
      },
      "verification_state" : "Unknown – 未知,True_Positive – 确认,False_Positive – 误报。默认填写Unknown",
      "handle_status" : "Open – 打开,Block – 阻塞,Closed – 关闭。默认填写Open",
      "sla" : "2021-01-30T23:00:00Z+0800",
      "update_time" : "2021-01-30T23:00:00Z+0800",
      "close_time" : "2021-01-30T23:00:00Z+0800",
      "ipdrr_phase" : "Prepartion|Detection and Analysis|Containm,Eradication& Recovery| Post-Incident-Activity",
      "simulation" : "false",
      "actor" : "刘一博",
      "owner" : "MyXXX",
      "creator" : "MyXXX",
      "close_reason" : "误检;已解决;重复;其他",
      "close_comment" : "误检;已解决;重复;其他",
      "malware" : {
        "malware_family" : "family",
        "malware_class" : "恶意占用内存"
      },
      "system_info" : { },
      "process" : [ {
        "process_name" : "MyXXX",
        "process_path" : "MyXXX",
        "process_pid" : 123,
        "process_uid" : 123,
        "process_cmdline" : "MyXXX"
      } ],
      "user_info" : [ {
        "user_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
        "user_name" : "MyXXX"
      } ],
      "file_info" : [ {
        "file_path" : "MyXXX",
        "file_content" : "MyXXX",
        "file_new_path" : "MyXXX",
        "file_hash" : "MyXXX",
        "file_md5" : "MyXXX",
        "file_sha256" : "MyXXX",
        "file_attr" : "MyXXX"
      } ],
      "system_alert_table" : { },
      "id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
      "workspace_id" : "909494e3-558e-46b6-a9eb-07a8e18ca620"
    },
    "create_time" : "2021-01-30T23:00:00Z+0800",
    "update_time" : "2021-01-30T23:00:00Z+0800",
    "project_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
    "workspace_id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
    "id" : "MyXXX",
    "version" : 123,
    "format_version" : 123,
    "dataclass_ref" : {
      "id" : "909494e3-558e-46b6-a9eb-07a8e18ca62f",
      "name" : "MyXXX"
    }
  } ]
}

SDK代码示例

SDK代码示例如下。

查询告警列表请求样例,查询2024年1月20号到2024年1月26号,告警等级为中危且处理状态为打开的告警,按照创建时间降序排序,返回第一页,每页10条数据

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.secmaster.v2.region.SecMasterRegion;
import com.huaweicloud.sdk.secmaster.v2.*;
import com.huaweicloud.sdk.secmaster.v2.model.*;

import java.util.List;
import java.util.ArrayList;

public class ListAlertsSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        SecMasterClient client = SecMasterClient.newBuilder()
                .withCredential(auth)
                .withRegion(SecMasterRegion.valueOf("<YOUR REGION>"))
                .build();
        ListAlertsRequest request = new ListAlertsRequest();
        DataobjectSearch body = new DataobjectSearch();
        List<String> listConditionLogics = new ArrayList<>();
        listConditionLogics.add("severity");
        listConditionLogics.add("and");
        listConditionLogics.add("handle_status");
        List<String> listConditionsData = new ArrayList<>();
        listConditionsData.add("handle_status");
        listConditionsData.add("=");
        listConditionsData.add("Open");
        List<String> listConditionsData1 = new ArrayList<>();
        listConditionsData1.add("severity");
        listConditionsData1.add("=");
        listConditionsData1.add("Medium");
        List<DataobjectSearchConditionConditions> listConditionConditions = new ArrayList<>();
        listConditionConditions.add(
            new DataobjectSearchConditionConditions()
                .withName("severity")
                .withData(listConditionsData1)
        );
        listConditionConditions.add(
            new DataobjectSearchConditionConditions()
                .withName("handle_status")
                .withData(listConditionsData)
        );
        DataobjectSearchCondition conditionbody = new DataobjectSearchCondition();
        conditionbody.withConditions(listConditionConditions)
            .withLogics(listConditionLogics);
        body.withCondition(conditionbody);
        body.withToDate("2024-01-26T23:59:59.999Z+0800");
        body.withFromDate("2024-01-20T00:00:00.000Z+0800");
        body.withOrder(DataobjectSearch.OrderEnum.fromValue("DESC"));
        body.withSortBy("create_time");
        body.withOffset(0);
        body.withLimit(10);
        request.withBody(body);
        try {
            ListAlertsResponse response = client.listAlerts(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

查询告警列表请求样例,查询2024年1月20号到2024年1月26号,告警等级为中危且处理状态为打开的告警,按照创建时间降序排序,返回第一页,每页10条数据

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdksecmaster.v2.region.secmaster_region import SecMasterRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdksecmaster.v2 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]

    credentials = BasicCredentials(ak, sk)

    client = SecMasterClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(SecMasterRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListAlertsRequest()
        listLogicsCondition = [
            "severity",
            "and",
            "handle_status"
        ]
        listDataConditions = [
            "handle_status",
            "=",
            "Open"
        ]
        listDataConditions1 = [
            "severity",
            "=",
            "Medium"
        ]
        listConditionsCondition = [
            DataobjectSearchConditionConditions(
                name="severity",
                data=listDataConditions1
            ),
            DataobjectSearchConditionConditions(
                name="handle_status",
                data=listDataConditions
            )
        ]
        conditionbody = DataobjectSearchCondition(
            conditions=listConditionsCondition,
            logics=listLogicsCondition
        )
        request.body = DataobjectSearch(
            condition=conditionbody,
            to_date="2024-01-26T23:59:59.999Z+0800",
            from_date="2024-01-20T00:00:00.000Z+0800",
            order="DESC",
            sort_by="create_time",
            offset=0,
            limit=10
        )
        response = client.list_alerts(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

查询告警列表请求样例,查询2024年1月20号到2024年1月26号,告警等级为中危且处理状态为打开的告警,按照创建时间降序排序,返回第一页,每页10条数据

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    secmaster "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/secmaster/v2/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := secmaster.NewSecMasterClient(
        secmaster.SecMasterClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListAlertsRequest{}
	var listLogicsCondition = []string{
        "severity",
	    "and",
	    "handle_status",
    }
	var listDataConditions = []string{
        "handle_status",
	    "=",
	    "Open",
    }
	var listDataConditions1 = []string{
        "severity",
	    "=",
	    "Medium",
    }
	nameConditions:= "severity"
	nameConditions1:= "handle_status"
	var listConditionsCondition = []model.DataobjectSearchConditionConditions{
        {
            Name: &nameConditions,
            Data: &listDataConditions1,
        },
        {
            Name: &nameConditions1,
            Data: &listDataConditions,
        },
    }
	conditionbody := &model.DataobjectSearchCondition{
		Conditions: &listConditionsCondition,
		Logics: &listLogicsCondition,
	}
	toDateDataobjectSearch:= "2024-01-26T23:59:59.999Z+0800"
	fromDateDataobjectSearch:= "2024-01-20T00:00:00.000Z+0800"
	orderDataobjectSearch:= model.GetDataobjectSearchOrderEnum().DESC
	sortByDataobjectSearch:= "create_time"
	offsetDataobjectSearch:= int32(0)
	limitDataobjectSearch:= int32(10)
	request.Body = &model.DataobjectSearch{
		Condition: conditionbody,
		ToDate: &toDateDataobjectSearch,
		FromDate: &fromDateDataobjectSearch,
		Order: &orderDataobjectSearch,
		SortBy: &sortByDataobjectSearch,
		Offset: &offsetDataobjectSearch,
		Limit: &limitDataobjectSearch,
	}
	response, err := client.ListAlerts(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

搜索告警列表返回body体

400

搜索告警列表错误返回body体

错误码

请参见错误码