云观测开放API - 报警管理

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

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

3.1 报警列表

功能:获取站点下的报警列表
请求URL:https://api.su.baidu.com/v1/ygc/alert/
HTTP请求方式:GET

请求参数:

参数名称 参数类型 必选/可选 参数说明
per_page int 可选 每页的条数,默认为10
page int 可选 标明获取第几页,默认为0
alert_type int 可选 报警类型 1 运行状况 2 网站安全
start_time mysql-timestamp 可选 Y-m-d H:i:s
end_time mysql-timestamp 可选 Y-m-d H:i:s

返回字段:

参数名称 参数类型 参数说明
errors list 错误信息列表,如无错误则为空
result.data.count int 数目
result.data.total int 总体数目
result.data.total_page int 总页数
result.data.alerts array 警报数组
result.success bollean 本次请求的结果

true => 成功

false => 失败

返回示例:

"result": {
    "total_page": xxx,
    "data": {
        "count": 2, // 数目
        "total": 2, // 总体数目
        "alerts": [
            {
                "Aid": "UlVOJlBJWElVJjE0MzQzNDcyODQxNTgwMDAmMjg5JjMxNzM=", // id
                "CTime": [         // 报警时间 数组长度为2,分别代表开始和结束时间,结束时间可能没有
                    "2015-06-15 13:48:04"
                ],
                "Host": "www.3gsc.com.cn", // 域名
                "Desp": "包小姐欺诈", // 描述
                "Level": "1",     // 危险等级
                "Type": 3,    // 类型
            },
            ...
        ],
        "total_page": 1 // 总页数
    }
}

3.2 报警详情

功能:获取站点下的报警列表
请求URL:https://api.su.baidu.com/v1/ygc/alert/{alert_id}/
HTTP请求方式:GET

请求参数:

无特殊参数

返回字段:

返回字段分为三种 运行故障详情、安全漏洞详情、恶意内容详情

参数名称 参数类型 参数说明
errors list 错误信息列表,如无错误则为空
result.data.Category string 类型
result.data.OrderNo string 单号
result.data.Status int 状态
result.data.AlertTime mysql-timestamp 报警时间
result.data.AlertWay int 报警方式
result.data.CreateTime array 报警开始时间(如有第二个,则是结束时间)
result.data.Host string 域名
result.data.Desp array 描述(可能有多个漏洞)
result.data.Desp.level string 漏洞名称
result.data.Desp.level string 漏洞严重程度
result.data.Desp.count int 漏洞数量
result.data.SnapShot array 快照
result.data.SnapShot.[].Name string 名称
result.data.SnapShot.[].Desp string 描述
result.data.SnapShot.[].Nodes array (仅SLA) 节点
result.data.SnapShot[].Nodes[].Status int (仅SLA) 节点状态,0表示正常
result.data.SnapShot[].Nodes[].Location string (仅SLA) 节点位置和运营商
result.data.SnapShot[].Nodes[].Host string (仅SLA) 域名
result.data.SnapShot[].Nodes[].Code string (仅SLA) http 返回码
result.FlowLine dict (仅SLA)流向图
result.FlowLine.browser.status int (仅SLA)流向图 浏览器状态, 0 表示正常,总是正常
result.FlowLine.dns_provider.status int (仅SLA)流向图 DNS状态, 0 表示正常
result.FlowLine.dns_provider.provider string (仅SLA)流向图 DNS提供商
result.FlowLine.cdn_provider null | dict (仅SLA)流向图 CDN状态 (如未使用CDN则为null,如使用了,则结构和dns_provider一样)
result.FlowLine.web_server.status int (仅SLA)流向图 web服务器状态, 0 表示正常
result.FlowLine.web_server.detail null|dict (仅SLA)流向图 web服务器详情,如未使用SLA,则为null,正常的话,就是IP和对应状态

以上并未描述尽,下面将会有详细描述。

一个恶意内容的返回展示

"result": {
    "Category": "VEN", // 类型
    "OrderNo": "13606", // 单号
    "Status": 0, // 状态
    "AlertTime": "2015-06-15 13:48:04", // 报警时间
    "AlertWay": 1,     // 报警方式
    "CreateTime": [    // 报警开始时间(如有第二个,则是结束时间)
        "2015-06-15 13:48:04"
    ],
    "Host": "http:\/\/www.3gsc.com.cn", // 域名
    "Desp": [ // 描述(可能有多个漏洞)
        {
            "label": "包小姐欺诈",
            "level": "1",
            "count": 1
        }
    ],
    "SnapShot": [ // 快照
        {
            "Name": "包小姐欺诈",
            "Level": "1",
            "Desp": "页面内容包含以骗取用户钱财为目的的\"包小姐\" 广告等信息。",
            "Urls": [
            {
                "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\/",
                "StartTime": "2015-06-15 13:46:01", // 开始时间
                "ResumeTime": "",                   // 结束时间
                "LastTime": ""                      // 持续时间
            }
            ],
            "Solution": "请仔细核实页面内容并删除虚假或违法违规信息,避免影响搜索引擎对您站点的收录情况,从而影响网站的访问流量。"
        }
    ]
}

不同类型的报警的细节描述:

3.3 SLA报警

result 示例

'result': {
    'Category': 'RUNTIME',
    'OrderNo': '37216',
    'Status': 0,
    'Region': 0,
    'Aid': 'UlVOJkhUVFAmMTQxOTY4ODU2NjE3OTcwNiYyMjI0MSYxMTQ5MDgxOTUyJjA=',
    'AlertTime': '2014-12-27 21:55:12',
    'AlertWay': 0,
    'Host': 'www.baidu.com',
    'CreateTime': ['2014-12-27 21:55:12', '2014-12-27 22:06:22'],
    'Desp': [{}, {}],
    'SnapShot': [{}, {}],
    'FlowLine': {}
}
字段 含义 类型 可选值 备注
result.Category 报警类型 String - 运行故障 的所有报警数据中的Category字段都为'RUNTIME'
result.OrderNo 运行故障单号 String - 每一条报警都会带有唯一的单号信息
result.Status 该条运行故障的当前状态 Integer 0,1,2 标识该条报警的当前状态,分别表示: 正处于报警中部分恢复全部恢复
result.Region 故障范围 Integer 0,1 标识该条报警的故障范围,分别表示: 全部地区部分地区
result.Aid 此条报警的alert id String - 每条报警都会有一个唯一的Aid信息
result.AlertTime 系统向用户发出告警的时间 String - 满足时间戳格式的字符串
result. AlertWay 系统向用户发出告警的方式 Integer 0,1,2 标识告警方式, 分别表示 邮箱&手机短信邮箱手机短信
result.Host 故障域名 String - 例如 www.baidu.com
result.CreateTime 该条报警的开始和结束时间 Array - 足时间戳格式的字符串,若该条报警未恢复,则只有一个数组元素
result.Desp 运行故障描述 Array - 见 [3.3.3]
result.SnapShot 运行故障详情 Array - 见 [3.3.1]
result.FlowLine 运行故障快照流向图 Object - 见 [3.3.2]

3.3.1 data.SnapShot

data.SnapShot是一个Array类型的数据字段,它包含了该条运行故障报警的所有信息。

下面将仅展示其数组元素的数据模型,

{
    'Status': 0,
    'Location': '苏州电信',
    'Host': '103.6.221.249',
    'Code': 'httpcode 200',
    'StartTime': '2014-12-27 21:55:12',
    'ResumeTime': '2014-12-27 22:04:16',
    'LastTime': '9分钟'
}
字段 含义 类型 可选值 备注
Status 故障的状态(是否恢复) Integer 0,1 标识故障是否恢复,分别表示: 未恢复已恢复
Location 故障地点 String - 一般来说,故障地点都是"xxx电信"、"xxx联通"等
Host 故障主机/域名 String - 可以是故障的主机ip也可以是网站域名
Code 故障信息 String - 故障信息一般是一种httpcode
StartTime 故障开始时间 String - 故障开始的时间
ResumeTime 故障恢复时间 String '' 空字符串表示故障状态为未恢复
LastTime 故障持续时间 String '' 空字符串表示故障节点未恢复

3.3.2 data.FlowLine

data.FlowLine表示该条告警的故障快照。

{
    "browser": {
        "status": 0
    },
    "dns_provider": {
        "status": 0,
        "provider": "万网"
    },
    "cdn_provider": {
        "status": 0,
        "provider": "百度云加速"
    },
    "web_server": {
        "status": 1,
        "detail": [{
            "ip": "172.32.13.119",
            "node": "上海电信"
        }, {
            "ip": "139.42.11.190",
            "node": "湖南联通"
        }]
    }
}
字段 含义 类型 可选值 备注
browser 用户浏览器快照信息 Object null 如果没有浏览器快照信息,则browser字段为null
dns_provider dns服务器快照信息 Object null -
cdn_provider dcdn服务器快照信息 Object null -
web_server web服务器快照信息 Object null -
{}.status 快照状态 Integer 0,1,2,3 分别表示: 全部正常部分有问题全部有问题由于上一节点出了问题,本节点未通过
{}.provider dns/cdn服务商 - -
web_server.detail - Array - web服务器快照出问题时,给出问题节点的ip和节点名称

3.3.3 data.Desp

data.Desp 是一个Array类型的数据字段,代表故障的名字和描述

下面将仅展示其数组元素的数据模型,

{
    "Name": "源站异常",
    "Desp": "用户和搜索引擎爬虫无法访问你的网站"
}
字段 含义 类型 可选值 备注
Name 故障标题 String - 抽屉中第一行的故障标题
Desp 故障描述 String - 抽屉中第一行的故障描述

3.4 安全漏洞 SCANNER 返回内容详细说明

'result': {
    'Host': 'www.baidu.com',
    'Category': 'VUL',
    'OrderNo': '37216',
    'Status': 0,
    'Aid': 'UlVOJkhUVFAmMTQxOTY4ODU2NjE3OTcwNiYyMjI0MSYxMTQ5MDgxOTUyJjA=',
    'AlertTime': '2014-12-27 21:55:12',
    'AlertWay': 0,
    'CreateTime': ['2014-12-27 21:55:12', '2014-12-27 22:06:22'],
    'Desp': [{}, {}],
    'SnapShot': [{}, {}]
}
字段 含义 类型 可选值 备注
result.Host 报警网站 String - 报警网站对应的网址
result.Category 报警类型 String - 安全漏洞 的所有报警数据中的Category字段都为'VUL'
result.OrderNo 安全漏洞单号 String - 每一条报警都会带有唯一的单号信息
result.Status 该条安全漏洞的当前状态 Integer 0,1,2 标识该条报警的当前状态,分别表示: 正处于报警中部分恢复全部恢复
result.Aid 此条报警的alert id String - 每条报警都会有一个唯一的Aid信息
result.AlertTime 系统向用户发出告警的时间 String - 满足时间戳格式的字符串
result. AlertWay 系统向用户发出告警的方式 Integer 0,1,2 标识告警方式, 分别表示 邮箱&手机短信邮箱手机短信
result.CreateTime 该条报警的开始和结束时间 Array - 满足时间戳格式的字符串,若该条报警未恢复,则只有一个数组元素
result.Desp 安全漏洞描述 Array - 见 [3.4.1]
result.SnapShot 安全漏洞详情 Array - 见 [3.4.2]

3.4.1 result.Desp

此字段标识安全漏洞的相关描述信息

此字段为数组类型,下面将展示其数组元素的数据模型,

{
    'Label': '内链病毒',
    'Level': 1,
    'Count': 10
}
字段 含义 类型 可选值 备注
Label 描述文案 String - -
Level 安全漏洞描述的危险等级 Integer 1,2,3 标识安全漏洞的危险等级,分别表示:
Count 该条安全漏洞下报警url的条数 Integer - -

3.4.2 result.SnapShot

该字段也是数组型数据,下面将展示其数组元素的数据模型,

{
    'Name': '服务器入侵',
    'Class': 'SCANNER',
    'Level': 1,
    'Desp': 'crossdomain.xml配置风险',
    'Tooltip': '由于网站中的crossdomain.xml文件配置不当,黑客可以通过编写特定的flash文件来窃取网站中的敏感数据',
    'Urls': [{}, {}]
    'Solution': '对网站中的flash安全策略做严格限制,比如:allow-access-from domain=你所信任的网站地址。'
}
字段 含义 类型 可选值 备注
Name 安全漏洞的名称 String - -
Class 扫雷数据来源 String SCANNER,THIRD,HOSTVUL 见 [2.4.3]
Level 安全漏洞的危险等级 Integer 1,2,3 分别表示:
Desp 安全漏洞的详细情况 String - 一定要去区分安全漏洞的NameDesp字段,之前的接口中这两个字段就是混淆了
Tooltip 安全漏洞详情的详细解释 String - 鼠标hover在热区给出详细解释
Urls 安全漏洞条目详情 Array - 详见 2.4.3.1、2.4.3.2、2.4.3.3
Solution 针对某一安全漏洞的解决方案 String - -

3.4.3 result.Class

扫雷数据不仅包括自身提供的数据,还有可能提供来自第三方的数据。此字段标识扫雷数据来源,其中SCANNER表示数据来自扫雷自身。

不同数据来源的数据,其SnapShot.Urls是不太一致的。

3.4.3.1 result.Class = 'SCANNER'

result.Class = 'SCANNER'时,表示此条报警的数据是扫雷自身提供的,其data.SnapShot.Urls如下。

由于该字段也是数组型数据,下面将展示其数组元素的数据模型,

{
    'Url': 'http://www.codewars.com/crossdomain.xml',
    'Params': '',
    'Method': 'GET',
    'StartTime': '2014-12-24 14:30:21',
    'ResumeTime': '',
    'LastTime': ''
}
字段 含义 类型 可选值 备注
Url 安全漏洞url String - -
Params 请求参数 String '' 空字符串表示没有请求参数
Method 请求方法 String get,post,... -
StartTime 发现时间 String - -
ResumeTime 恢复时间 String '' 空字符串表示还未恢复
LastTime 持续时间 String '' 空字符串表示还未恢复
3.4.3.2 result.Class = 'THIRD'

result.Class = 'THIRD'时,表示此条报警的数据是第三方提供的,其result.SnapShot.Urls如下。

由于该字段也是数组型数据,下面将展示其数组元素的数据模型,

{
    'AppName': '',
    'AffectVersion': '',
    'VulLibId': '',
    'StartTime': '2014-12-24 14:30:21',
    'ResumeTime': '',
    'LastTime': ''
}
字段 含义 类型 可选值 备注
AppName 应用名称 String - -
AffectVersion 影响版本 String - -
VulLibId 漏洞编号 String `` -
StartTime 发现时间 String - -
ResumeTime 恢复时间 String '' 空字符串表示还未恢复
LastTime 持续时间 String '' 空字符串表示还未恢复
3.4.3.3 result.Class = 'HOSTVUL'

result.Class = 'HOSTVUL'时,表示此条报警的数据是第三方提供的,其result.SnapShot.Urls如下。

由于该字段也是数组型数据,下面将展示其数组元素的数据模型,

{
    'ServiceName': 'ftpd',
    'Port': 21,
    'Version': '0.9',
    'Banner': 'Microsoft ftpd',
    'StartTime': '2014-12-24 14:30:21',
    'ResumeTime': '',
    'LastTime': ''
}
字段 含义 类型 可选值 备注
ServiceName 存在漏洞的服务 String - -
Port 端口 Integer - -
Version 版本号 String '' -
Banner 服务banner String - -
StartTime 发现时间 String - -
ResumeTime 恢复时间 String '' 空字符串表示还未恢复
LastTime 持续时间 String '' 空字符串表示还未恢复

3.5 恶意内容 PIXIU 返回详细说明

'result': {
    'Category': 'VEN',
    'OrderNo': '37216',
    'Status': 0,
    'Aid': 'UlVOJkhUVFAmMTQxOTY4ODU2NjE3OTcwNiYyMjI0MSYxMTQ5MDgxOTUyJjA=',
    'AlertTime': '2014-12-27 21:55:12',
    'AlertWay': 0,
    'CreateTime': ['2014-12-27 21:55:12', '2014-12-27 22:06:22']
    'Desp': [{}, {}],
    'SnapShot': [{}, {}]
}
字段 含义 类型 可选值 备注
result.Category 报警类型 String - 恶意内容 的所有报警数据中的Category字段都为'VEN'
result.OrderNo 安全漏洞单号 String - 每一条报警都会带有唯一的单号信息
result.Status 该条安全漏洞的当前状态 Integer 0,1,2 标识该条报警的当前状态,分别表示: 正处于报警中部分恢复全部恢复
result.Aid 此条报警的alert id String - 每条报警都会有一个唯一的Aid信息
result.AlertTime 系统向用户发出告警的时间 String - 满足时间戳格式的字符串
result. AlertWay 系统向用户发出告警的方式 Integer 0,1,2 标识告警方式, 分别表示 邮箱&手机短信邮箱手机短信
result.CreateTime 该条报警的开始和结束时间 Array - 满足时间戳格式的字符串,若该条报警未恢复,则只有一个数组元素
result.Desp 安全漏洞描述 Array - 见 [3.5.1]
result.SnapShot 安全漏洞详情 Array - 见 [3.5.2]

3.5.1 result.Desp

此字段标识恶意内容的相关描述信息

此字段为数组类型,下面将展示其数组元素的数据模型,

{
    'label': '支付诈骗',
    'level': 2,
    'count': 10
}
字段 含义 类型 可选值 备注
label 描述文案 String - -
level 恶意内容描述的危险等级 Integer 1,2,3 标识安全漏洞的危险等级,分别表示:
count 该条恶意内容下报警url的条数 Integer - -

3.5.2 result.SnapShot

该字段也是数组型数据,下面将展示其数组元素的数据模型,

{
    'Name': '支付诈骗',
    'Level': 2,
    'Desp': '提供虚假的电子商务网站的退款、提现等客服电话。或者仿冒电子商务网站',
    'Urls': [{}, {}]
    'Solution': '1、删除虚假或违法违规信息 2、如有异议,请向百度申诉'
}
字段 含义 类型 可选值 备注
Name 恶意内容的名称 String - -
level 恶意内容的危险等级 Integer 1,2,3 分别表示:
Desp 恶意内容的详细情况 String - -
Urls 恶意内容条目详情 Array - 详见 [2.4.2.1]
Solution 针对某一恶意内容的解决方案 String - -
3.5.2.1 Urls

该字段也是数组型数据,下面将展示其数组元素的数据模型,

{
    'Url': 'http://tieba.baidu.com/p/3462548255',
    'StartTime': '2014-12-24 14:30:21',
    'ResumeTime': '',
    'LastTime': ''
}
字段 含义 类型 可选值 备注
Url 恶意内容url String - -
StartTime 发现时间 String - -
ResumeTime 恢复时间 String '' 空字符串表示还未恢复
LastTime 持续时间 String '' 空字符串表示还未恢复