云观测开放API - 任务管理

注:任务管理的所有API请求都需要带GET查询参数site_address。

注:POST/PUT请求体为JSON格式

2.1 任务列表

功能:获取站点 site_address 的监测任务列表
请求URL:https://api.su.baidu.com/v1/ygc/task/
HTTP请求方式:GET
参数名称 参数类型 必选/可选 参数说明
site_address string 必选 指定站点的地址,带http://或https://前缀

返回字段:

参数名称 参数类型 参数说明
request_id string 本次请求的唯一性ID,帮助排查问题
success boolean 本次请求的结果:

true => 成功

false => 失败

errors list 错误信息列表,如无错误则为空
messages list 信息列表,如无信息则为空
result.sla dict 站点SLA任务的信息
result.sla.task_id int 监测任务的ID
result.sla.task_interval int 监测任务运行的时间间隔(单位为秒)
result.sla.task_node list 监测任务所使用的机器节点的ID
result.sla.enable string 当前监测任务是否启用,YES为启用,NO为禁用,如果为NO,则表示之前添加过,但又通过“删除任务”API禁用了任务,如果想重新启用,可以通过“创建任务”的API来启用当前类型的任务
result.sla.created_time string 监测任务创建的时间点
result.sla.updated_time string 监测任务最近更新的时间点
result.pixiu dict 站点PIXIU任务的信息
result.scanner dict 站点SCANNER任务的信息
result.borui dict 站点BORUI任务的信息
result.uaq dict 站点UAQ任务的信息

返回示例:

{
    "request_id": "55963e33eedc4-181460786-3708",
    "success": true,
    "errors": [],
    "messages": [],
    "result": {
        "sla": {
            "task_id": 1,
            "task_interval": 600,
            "task_node": [
                1,
                1001,
                ...
            ],
            "enable": "YES",
            "created_time": "2014-11-12 11:30:42",
            "updated_time": "2015-06-09 18:30:11"
        },
        "pixiu": {
            ...
        }
        "scanner": {
            ...
        },
        "borui": {
            ...
        },
        "uaq": {
            ...
        }
    }
}

2.2 任务详情

功能:获取指定监测任务的信息
请求URL:https://api.su.baidu.com/v1/ygc/task/{task_id}/
HTTP请求方式:GET
参数名称 参数类型 必选/可选 参数说明
site_address string 必选 带查询任务所属站点的地址

另注意请求URL中的{task_id}表示要填入目标监测任务的ID

返回字段

参数名称 参数类型 参数说明
request_id string 本次请求的唯一性ID,帮助排查问题
success boolean 本次请求的结果:

true => 成功

false => 失败

errors list 错误信息列表,如无错误则为空
messages list 信息列表,如无信息则为空
result.task_type int 当前监测任务的类型
result.task_interval int 监测任务运行的时间间隔(单位为秒)
result.task_node list 监测任务所使用的机器节点的ID
result.enable string 当前监测任务是否启用,YES为启用,NO为禁用,如果为NO,则表示之前添加过,但又通过“删除任务”API禁用了任务,如果想重新启用,可以通过“创建任务”的API来启用当前类型的任务
result.created_time string 监测任务创建的时间点
result.updated_time string 监测任务最近更新的时间点

返回示例:

{
    "request_id": "55963e33eedc4-181460786-3708",
    "success": true,
    "errors": [],
    "messages": [],
    "result": {
        "task_type": "SCANNER", // or PIXIU or SLA or BORUI or UAQ
        "task_interval": xxx,   // the seconds
        "task_node": [ // nodes we use to detect user's sites
            1,
            1001,
            ...
        ],
        "task_result": {...},   // the result, all kinds of result are listed as below
        "enable": "YES",        // whether it is enabled
        "created_time": "xxx",  // the format is Y-m-d H:i:s
        "updated_time": "xxx"
    }
}

// SLA
"task_result": {
    "flow": { // 用户访问流程概览 status 0 表示正常
        "browser": { // 浏览器
            "status": 0
        },
        "dns_provider": { // DNS
            "status": 0,
            "provider": ""
        },
        "cdn_provider": null, // CDN
        "web_server": { // web服务器
            "detail": null,
            "status": 2
        }
    },
    "last_day": {
        "x_axis": [ … ],    // x轴,小时
        "conn_rate": [ … ], // 连通率
        "ava_rate": [ … ],  // 可用率
        "alerts": [ … ]     // 警报
    },
    "last_week": [ // 最近的星期
        data: {
            avaRate: {   // 可用率
                xAxis: [ // x 轴 时间
                    "2015-06-09 00:00:00",
                    ...
                ],
                yAxis: [ // y 轴 可用率
                    100,
                    ...
                ]
            },
            resTime: { // 响应时间,同上
                ...
            },
            noAvaTime: {...}, // 不可用时间,同上
            dnsTime: {...}, // DNS时间,同上
            connTime: {...} // 连接时间,同上
        },
        dataByCDN: null // 如果有设置CDN,则有,结构同data
    ],
    "last_month": [ // 最近一个月,同上
        ...
    ],
    "alert_id": "xxx"
},

// SCANNER
"task_result": {
    "finish_time": "2015-06-13 14:17:59",
    "detail": [
        {
            "ServiceName": "ftp", // 服务名称
            "Banner": "Microsoft ftpd", //
            "Version": "",
            "Port": 21,
            "UserName": "ftp",
            "Password": "1",
            "Type": "BruteForce", // 类型名称
            "Level": 3,           // 危险等级
            "IsThird": 0,         // 是否是第三方漏洞
            "IsHostRisk": 1       // 是否是主机漏洞
        }
    ]
},

// PIXIU
"task_result": {
    "finish_time": "2015-06-15 13:45:36",
    "detail": [
        {
            "src": [
                "bd" // 来源
            ],
            "level": 1,
            "repair_suggest": [ // 被建议修复的问题
                "baoxiaojie"
            ],
            "scope": "link",
            "ps_agreement": { // 后果
                "降权": "降权"
            },
            "danger_type": "baoxiaojie", // 危险类型
            "url": [ // 有问题的网址
                "http:\/\/www.3gsc.com.cn\/search\/index\/show\/pic?keytype=0&q=%e3%84%a1%e6%a2%a7%e5%b7%9e%e6%89%be%e5%b0%8f%e5%a7%90q%e3%80%90642107656%e3%80%91%e8%81%94%e7%b3%bb\/"
            ],
            "name": "包小姐欺诈", // 名称
            "description": "页面内容包含以骗取用户钱财为目的的\"包小姐\" 广告等信息。", // 描述
            "solution": "1、删除虚假或违法违规信息 2、如有异议,请向百度申诉" // 解决方案
        }
    ]
},

// BORUI 或者 UAQ
"task_result": {
    "average_speed": 1.75, // 行业平均速度
    "detail": {
        "score": "9.37136",   // 评分
        "first_load": "2241", // 首屏时间
        "total_time": "7528", // 总时间
        "connect_time": "53", // 连接时间
        "dns_time": "359",    // DNS解析时间
        "isp": {              // ISP运营商分析
            "中国联通": {
                "total_time": 10668,
                "dns_time": 562,
                "download_time": 9361,
                "connect_time": 71,
                "ping": -1,
                "first_load": 2306
            },
            ...
        },
        "province": {        // 省份分析
            "北京": {
                "total_time": 7487,
                "dns_time": 395,
                "download_time": 3531,
                "connect_time": 44,
                "ping": -1,
                "first_load": 5137
            },
            ...
        },
        "finish_time": "2015-06-11 10:36:15", // 评测完成时间
    }
},

2.3 新增任务

功能:为站点 site_address 添加监测任务
请求URL:https://api.su.baidu.com/v1/ygc/task/
HTTP请求方式:POST
参数名称 参数类型 必选/可选 参数说明
SLA int 可选 创建SLA任务,该参数值为任务的时间间隔,单位为秒,目前只能为600(10分钟一次)
UAQ int 可选 创建UAQ任务,该参数值为任务的时间间隔,单位为秒,目前只能为86400(一天一次)
BORUI int 可选 创建BORUI任务,该参数值为任务的时间间隔,单位为秒,目前只能为86400(一天一次)
SCANNER int 可选 创建SCANNER任务,该参数值为任务的的时间间隔,单位为秒,可从86400(一天一次)、172800(2天一次)、604800(一周一次)、1209600(2周一次)、2592000(一月一次)这几种中选择
PIXIU int 可选 创建PIXIU任务,该参数值为任务的时间间隔,单位为秒,可从86400(一天一次)、172800(2天一次)、604800(一周一次)、1209600(2周一次)、2592000(一月一次)这几种中选择

上面“SLA”、“UAQ”、“BORUI”、“SCANNER”、“PIXIU”任一任务均为可选。

目前只有SCANNER、PIXIU任务支持选择任务间隔,单位秒,可从86400(一天一次)、172800(2天一次)、604800(一周一次)、1209600(2周一次)、2592000(一月一次)这几种中选择

另外,得带上GET请求参数site_address。

返回字段

参数名称 参数类型 参数说明
request_id string 本次请求的唯一性ID,帮助排查问题
success boolean 本次请求的结果:

true => 成功

false => 失败

errors list 错误信息列表,如无错误则为空
messages list 信息列表,如无信息则为空
result list 任务创建成功后的基本信息
result.[].task_id int 监测任务的ID
result.[].task_type string 监测任务的类型
result.[].created_time string 监测任务创建的时间点

返回示例

{
    "request_id": "55963e33eedc4-181460786-3708",
    "success": true,
    "errors": [],
    "messages": [],
    "result": [
        {
            "task_id": xxx,
            "task_type": "xxx",
            "created_time": "xxx"
        },
        {
            ...
        },
        ...
    ]
}

2.4 更新任务参数

功能:为指定监测任务更新参数
请求URL:https://api.su.baidu.com/v1/ygc/task/{task_id}/
HTTP请求方式:PUT
参数名称 参数类型 必选/可选 参数说明
task_interval int 必选 目前只有SCANNER、PIXIU任务支持选择任务间隔,单位秒,可从86400(一天一次)、172800(2天一次)、604800(一周一次)、1209600(2周一次)、2592000(一月一次)这几种中选择

另外,得带上GET请求参数site_address。

返回字段

参数名称 参数类型 参数说明
request_id string 本次请求的唯一性ID,帮助排查问题
success boolean 本次请求的结果:

true => 成功

false => 失败

errors list 错误信息列表,如无错误则为空
messages list 信息列表,如无信息则为空
result.task_id int 刚更新的监测任务的ID
result.updated_time string 监测任务刚更新的时间点

返回示例

{
    "request_id": "55963e33eedc4-181460786-3708",
    "success": true,
    "errors": [],
    "messages": [],
    "result": {
        "task_id": "xxx",
        "updated_time": "XXX"
    }
}

2.5 删除/禁用任务

功能:删除/禁用指定任务
请求URL:https://api.su.baidu.com/v1/ygc/task/{task_id}/
HTTP请求方式:DELETE
参数名称 参数类型 必选/可选 参数说明

记得带上GET查询参数site_address哦。

返回字段

参数名称 参数类型 参数说明
request_id string 本次请求的唯一性ID,帮助排查问题
success boolean 本次请求的结果:

true => 成功

false => 失败

errors list 错误信息列表,如无错误则为空
messages list 信息列表,如无信息则为空
result.task_id int 刚删除的监测任务的ID

返回示例

{
    "request_id": "55963e33eedc4-181460786-3708",
    "success": true,
    "errors": [],
    "messages": [],
    "result": {
        "task_id": "xxx"
    }
}