文档首页/ 云搜索服务 CSS/ API参考/ API/ 智能运维/ 获取智能运维任务列表及详情
更新时间:2024-10-08 GMT+08:00
分享

获取智能运维任务列表及详情

功能介绍

该接口用于获取智能运维任务列表及详情。

调用方法

请参见如何调用API

URI

GET /v1.0/{project_id}/clusters/{cluster_id}/ai-ops

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参见获取项目ID和名称

cluster_id

String

指定待查询的集群ID。

表2 Query参数

参数

是否必选

参数类型

描述

limit

Integer

分页参数,列表当前分页的数量限制。

start

Integer

偏移量。 偏移量为一个大于0小于终端节点服务总个数的整数, 表示从偏移量后面的终端节点服务开始查询。

请求参数

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

total_size

Integer

检测任务个数。

aiops_list

Array of aiops_list objects

检测任务详情列表

表4 aiops_list

参数

参数类型

描述

id

String

检测任务id。

name

String

检测任务名称。

desc

String

检测任务描述。

status

Integer

任务执行状态。

  • 150:未开启。

  • 200:已开启。

  • 300:已发送。

summary

summary object

风险概要。

create_time

String

检测任务创建时间戳。

smn_status

String

检测任务SMN告警任务发送状态。

  • not_open:未开启。

  • not_trigger:未触发。

  • sent:已发送。

  • send_fail: 发送失败。

smn_fail_reason

String

发送失败原因。

task_risks

Array of AIOpsRiskInfo objects

风险项详情。

表5 summary

参数

参数类型

描述

high

Integer

检测项判定为高风险的数量。

medium

Integer

检测项判定为中风险的数量。

suggestion

Integer

检测项判定为建议的数量。

表6 AIOpsRiskInfo

参数

参数类型

描述

riskType

String

检测项介绍。

level

String

风险等级。

  • high

  • medium

  • suggestion

desc

String

风险描述。

suggestion

String

风险建议。

请求示例

获取智能运维任务列表及详情。

GET /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters/4f3deec3-efa8-4598-bf91-560aad1377a3/ai-ops

响应示例

状态码: 200

请求成功。

{
  "aiops_list" : [ {
    "id" : "7381a80b-68cb-4b9e-8226-37d686b18b1d",
    "name" : "aiops-test",
    "desc" : "",
    "status" : 200,
    "summary" : {
      "high" : 1,
      "medium" : 0,
      "suggestion" : 1
    },
    "create_time" : 1687944156750,
    "smn_status" : "not_open",
    "smn_fail_reason" : null,
    "task_risks" : [ {
      "riskType" : "检测集群7天内是否有快照备份失败,或7天内无快照备份记录。",
      "level" : "suggestion",
      "desc" : "集群7天内无快照备份记录。",
      "suggestion" : "建议您开启集群快照功能并保持7天内快照备份成功。如快照备份失败,建议您进入集群快照页面详细查看失败原因、进入日志管理页面查看日志详情。"
    }, {
      "riskType" : "检测集群节点数与AZ(可用区)数,判定Elasticsearch分布式集群的高可用性。",
      "level" : "high",
      "desc" : "当前集群为单个或两个节点,当出现一个节点故障时可能导致整个集群不可用,服务可用性风险较高。",
      "suggestion" : "建议您可通过CSS集群控制台-Elasticsearch-更多-形态变更-切换可用区更改为多AZ集群,通过更改集群规格调整集群节点数量。"
    } ]
  } ],
  "total_size" : 1
}

SDK代码示例

SDK代码示例如下。

 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
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.css.v1.region.CssRegion;
import com.huaweicloud.sdk.css.v1.*;
import com.huaweicloud.sdk.css.v1.model.*;


public class ListAiOpsSolution {

    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");
        String projectId = "{project_id}";

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

        CssClient client = CssClient.newBuilder()
                .withCredential(auth)
                .withRegion(CssRegion.valueOf("<YOUR REGION>"))
                .build();
        ListAiOpsRequest request = new ListAiOpsRequest();
        request.withClusterId("{cluster_id}");
        try {
            ListAiOpsResponse response = client.listAiOps(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());
        }
    }
}
 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
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcss.v1.region.css_region import CssRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcss.v1 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"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

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

    try:
        request = ListAiOpsRequest()
        request.cluster_id = "{cluster_id}"
        response = client.list_ai_ops(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    css "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/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")
    projectId := "{project_id}"

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

    client := css.NewCssClient(
        css.CssClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListAiOpsRequest{}
	request.ClusterId = "{cluster_id}"
	response, err := client.ListAiOps(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

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

状态码

状态码

描述

200

请求成功。

400

非法请求。

建议直接修改该请求,不要重试该请求。

409

服务器在完成请求时发生冲突。

返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。

412

未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。

错误码

请参见错误码

相关文档