GetMLServiceResults - 获取指定场景任务的算法分析结果

在阿里云日志服务平台上,提供了基础数据(Log、Metric、Trace)的智能分析能力。用户调用相关模型,可以直接得到模型的分析结果。目前主要涉及:日志数据的NER任务、时间序列数据的异常检测、高延时链路数据的Span根因定位。

接口说明

需要具备的基本权限如下

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "log:Get*"
            ],
            "Resource": [
                "acs:log:*:*:mlservice/sls_builtin_*"
            ],
            "Effect": "Allow"
        }
    ]
}

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求语法

POST /ml/service/{serviceName}/analysis HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

serviceName

string

服务名。

枚举值:
  • sls_builtin_service_trace_rca :

    高延时 trace 请求链路分析的服务名

  • sls_builtin_service_log_struct :

    LogNER 的服务名

  • sls_builtin_service_metric_anomaly :

    单维度时间序列异常检测的服务名

sls_builtin_service_log_struct

allowBuiltin

boolean

  • true 表示请求允许使用系统内置的服务

  • false 表示请求不允许使用系统内置的服务

枚举值:
  • true :

    允许使用系统内置的服务

  • false :

    不允许使用系统内置的服务名

true

version

string

设置算法的版本号,不同的版本对应不同算法

v1

body MLServiceAnalysisParam

请求结构体。

枚举值:
  • others :

    根据不同的 serviceName 有不一样的说明

在不同的情况,对于请求中的参数会不一样,具体如下:

日志内容实体识别(sls_builtin_service_log_struct)

body.parameter 相关的内容

{
  "is_struct": "true",
  "use_gpu": "true/false",
  "max_fields": "1"
}
  • is_struct 为 true 时,表示日志格式为 JSON 结构。目前只支持设置为 true

  • use_gpu 表示是否使用 gpu 资源

  • max_fields 表示当日志格式为 JSON 结构时,最多分析其中的几个字段,默认只分析一个字段

body.input 相关的内容

[
  {
    "{column_name}": "{column_value}"
  }
]

输入的内容是一个是 JSON 结构数组,其中

  • column_name 表示 JSON 结构的日志的某个字段名称

  • column_value 表示 JSON 结构的日志的某个字段的值

时间序列异常检测(sls_builtin_service_metric_anomaly)

body.parameter 的相关内容

{
  "isOrdered": "true/false",
  "keys": "[]",
  "timeColumnName": "",
  "analysisColumnNames": "[]",
  "interval": "-1"
}
  • isOrdered 表示输入的数据是否是有序的,如果输入的序列是按照时间维度从小到大,升序排列的,设置为 true,否则设置为 false

  • interval 表示时间序列的间隔大小,按照秒来描述。比如:序列是每分钟一个点,则设置为 60;如果不确定序列的间隔,则设置为 -1

  • timeColumnName 表示输入的序列中,时间维度的名称

  • analysisColumnNames 表示输入的序列中,带分析的数值特征维度的名称,使用数组来表示,且需要将这个数组序列化成字符串

  • keys 表示输入的数据的各列的名称,使用数组表示,且需要将这个数组序列化成字符串

body.input 的相关内容

[
  {
    "{column_name}": "{column_value}"
  }
]

输入的内容是一个是数组,其中

  • column_name 表示序列中某个字段的名称

  • column_value 表示序列中某个字段的值的内容。当 {column_name} 等于 {timeColumnName} 时,对应的值表示的是时间大小,使用 unixtime 时间戳来表示,单位是秒

高延时链路数据检测(sls_builtin_service_trace_rca)

body.parameter 的相关内容

{
  "project": "",
  "logstore": "",
  "endpoint": "",
  "role_arn": ""
}
  • project 表示待分析的 Trace 数据存储在 SLS 中的 Project 的名称

  • logstore 表示待分析的 Trace 数据存储在 SLS 中的 Logstore 的名称

  • endpoint 表示 project 所在地域的 endpoint 信息,这里必须使用公网域名,内网域名无法访问

  • role_arn 表示已经对该资源进行授权的角色信息,这里务必使用 ETLRole 或者 AuditRole 的 arn 信息

body.input 的相关内容

[
  {
    "service": "",
    "name": "",
    "from_ts_sec": "",
    "to_ts_sec": "",
    "slo_ts_micro": "",
    "batch_id": "",
    "trace_ids": "[]"
  }
]

输入的内容是一个是数组,切输入的数组的长度是 1,其中对应的参数的含义解释如下:

  • service 表示某个或者某一批待诊断的 TraceID 的服务名称,可以从 logstore 中获得

  • name 表示某个或者某一批待诊断的 TraceID 的服务名称,可以从 logstore 中获得

  • from_ts_sec 表示待分析的开始时间戳,单位是秒

  • to_ts_sec 表示待分析的结束时间戳,单位是秒

  • batch_id 表示当前待分析的一批 TraceID 的名称

  • trace_ids 表示当前请求中对应的 trace_id 的列表,使用 JSON 序列化成字符串

返回参数

名称

类型

描述

示例值

headers

object

Server

string

nginx

Content-Type

string

application/json

Content-Length

string

0

Connection

string

close

Date

string

Sun, 27 May 2018 08:25:04 GMT

x-log-requestid

string

5B0A6B60BB6EE39764D458B5

object

返回的结构体

枚举值:
  • 无 :

status

object

任务的状态

枚举值:
  • 无 :

string

默认为空,表示返回所有状态的任务,支持 success、fail 和 running 状态。

枚举值:
  • 无 :

200

data

array<object>

返回的数据。

object

数据集结构体

string

返回结果。

{'marker': ''}

在不同的情况,对于请求的返回值会不一样,具体如下:

日志内容实体识别(sls_builtin_service_log_struct)

data 相关的内容

[
  {
    "{column_name}": "{column_value}"
  }
]

输出内容中每一个 JSON 结构与输入的 JSON 结构日志相对应,其中

  • column_name 表示 JSON 结构的日志的被分析了的某个字段名称,最多有 max_fields 个字段被分析

  • column_value 表示 JSON 结构的日志的被分析了的某个字段的值,字段值中的 NER 结果被标签 <ml_ner_${ner_type}></ml_ner_${ner_type}> 包裹,其中 ${ner_type} 是具体的 NER 类型

时间序列异常检测(sls_builtin_service_metric_anomaly)

data 的相关内容

[
  {
    "start": "",
    "end": "",
    "label": ""
  }
]
  • start 表示检测出来的异常区间的开始时间

  • end 表示检测出来的异常区间的结束时间

  • label 表示检测出来的当前区间的异常类型
    • SPIKE_UP_TYPE

    • SPIKE_DOWN_TYPE

    • TREND_UP_TYPE

    • TREND_DOWN_TYPE

    • MEANSHIFT_UPWARD_TYPE

    • MEANSHIFT_DOWNWARD_TYPE

高延时链路数据检测(sls_builtin_service_trace_rca)

data 的相关内容

[
  {
    "traceID": "",
    "service": "",
    "name": "",
    "rootCauses": "[{}]"
  }
]
  • traceID 表示待检测的 traceID 信息

  • service 表示当前这个 Trace 的根节点的 service 名称

  • name 表示当前这个 Trace 的根节点的 name 名称

  • rootCauses 表示当前这个高延时请求的 Trace 中,导致高延时的 span 的列表信息,使用序列化后的字符串来表示。该字段的值反序列化后的结构如下:

[
  {
    "spanID": "",
    "service": "",
    "name": "",
    "host": "xxxx",
    "predicateDuration": 10
  }
]

示例

正常返回示例

JSON格式

{
  "status": {
    "key": "200"
  },
  "data": [
    {
      "key": "{'marker': ''}"
    }
  ]
}

错误码

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情