分析与日志
  • 日志服务
    • 概述
    • 实时日志
      • 实时日志概述
      • 推送至腾讯云 CLS
      • 推送至 AWS S3 兼容对象存储
      • 推送至 HTTP 服务器
    • 离线日志
    • 相关参考
      • 字段说明
        • 七层访问日志
        • 四层代理日志
      • 推送实时日志筛选条件
      • 自定义推送日志字段
      • 自定义日志输出格式
  • 数据分析
    • 概述
    • 分析
    • Web安全分析
    • 流量分析
    • 缓存分析
    • 安全分析
      • 站点安全概览
      • Web 安全分析
    • 四层代理
    • DNS 解析
    • 相关参考
      • 抽样统计
      • 如何使用筛选条件
      • 如何修改查询时间范围
      • 如何导出统计数据与报告
  • 告警服务
    • 自定义统计指标

七层访问日志

以下是七层访问日志(站点加速日志、速率限制和 CC 攻击防护日志、自定义规则日志、Bot 管理日志、托管规则日志)的详细字段说明。
说明
实时日志-站点加速日志记录全量 L7 请求日志、包含 L7 防护拦截日志的功能在内测中,如有需求请 联系我们
速率限制和 CC 攻击防护日志、自定义规则日志、Bot 管理日志预计将于2024年7月31日下线,建议您使用站点加速日志来获取全量 L7 防护日志。

字段说明

通用字段

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
ContentID
String
与请求相关的内容标识符,用于识别 EO 平台上提供的计费、报告和监控的特定流量和内容子集。若该请求关联到内容标识符则为eocontentid;若无则为zoneid
EdgeEndTime
Timestamp ISO8601
完成响应客户端请求的时间。示例值:2024-10-14T05:13:43Z,表示 2024年10月14日 UTC+0 时区时间 05:13:43,等同于 2024年10月14日 UTC+8 时区(北京时间)13:13:43。
EdgeFunctionSubrequest
Integer
标识此条日志是否属于边缘函数发起的子请求,取值有:
1:边缘函数发起的子请求。
0:非边缘函数发起的子请求。
LogTime
Timestamp ISO8601
日志生成的时间。示例值:2024-10-14T05:13:43Z。
ParentRequestID
String
当该请求是使用边缘函数发起时,记录父请求的RequestID;否则记录为“-”。
RequestID
String
客户端请求的唯一标识 ID。

客户端信息

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
ClientConnectionID
String
客户端与边缘节点之间连接的唯一标识。示例值:"5692760165714882237"。
ClientDeviceType
String
客户端请求设备类型,取值有:
TV:电视
Tablet:平板电脑
Mobile:手机
Desktop:电脑
Other:其他
ClientIP
String
与 EdgeOne 节点建连的客户端 IP。
ClientISP
String
客户端 IP 解析出的运营商信息。
中国大陆境内数据,记录为 ISP 中文名称;
全球可用区(不含中国大陆)数据,记录为 自治系统编号(ASN)
ClientPort
Integer
与 EdgeOne 节点建连的客户端端口。
ClientRegion
String
客户端 IP 解析出来的国家/地区。格式标准:ISO 3166-1 alpha-2
ClientState
String
客户端 IP 解析出的国家下一级的行政划分。目前仅支持中国大陆境内数据。格式标准:ISO-3166-2

请求信息

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
RemotePort
Integer
TCP 协议下与客户端建立连接的 EdgeOne 节点端口。
RequestBodyBytes
Integer
客户端请求发送给 EdgeOne 节点的请求体大小,单位:Byte。
RequestBytes
Integer
客户端请求过程中向 EdgeOne 节点发送的总流量,根据请求头大小、请求体大小、SSL 握手中客户端向 EdgeOne 节点发送的数据统计而来。单位:Byte。
RequestHost
String
客户端请求的 Host。
RequestMethod
String
客户端请求的 HTTP Method,取值有:
GET
POST
HEAD
PUT
DELETE
CONNECT
OPTIONS
TRACE
PATCH
RequestProtocol
String
客户端请求的应用层协议,取值有:
HTTP/1.0
HTTP/1.1
HTTP/2.0
HTTP/3
WebSocket
RequestRange
String
客户端请求的 Range 参数信息。
RequestReferer
String
客户端请求的 Referer 信息。
RequestScheme
String
客户端请求的 HTTP 协议。取值有:HTTP、HTTPS。
RequestSSLProtocol
String
客户端的使用的 SSL(TLS)协议,若取值为“-”,则表示请求没有 SSL 握手;取值有:
TLS1.0
TLS1.1
TLS1.2
TLS1.3
RequestStatus
String
客户端请求的状态,若使用 WebSocket 协议的请求,EdgeOne 会周期打印日志,可以使用此字段确定连接状态,取值有:
0:未结束
1:请求正常结束
2:WebSocket 协议下,表示同连接的首条日志
3:WebSocket 协议下,表示同连接的非首条、非末条日志
RequestTime
Timestamp ISO8601
EdgeOne 节点收到客户端请求的时间,时区:UTC +00:00。示例值:2024-10-14T05:13:43Z。
RequestUA
String
客户端请求的 User-Agent 信息。
RequestUrl
String
客户端请求的 URL Path ,不包含查询参数。
RequestUrlQueryString
String
客户端请求的 URL 携带的查询参数。

响应信息

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
EdgeCacheStatus
String
客户端请求是否命中节点缓存,取值有:
hit:资源由节点缓存提供
miss:资源可缓存,但由源站提供
dynamic:资源不可缓存
other:无法被识别的缓存状态
EdgeInternalTime
Integer
从 EdgeOne 接收到客户端发起的请求开始,到响应给客户端的第一个字节,整个过程的耗时;单位:ms。
EdgeResponseBodyBytes
Integer
节点返回给客户端的响应体大小,单位:Byte。
EdgeResponseBytes
Integer
节点返回给客户端的总流量,根据响应头大小、响应体大小、SSL 握手中 EdgeOne 节点向客户端发送的数据统计而来。单位:Byte。
EdgeResponseStatusCode
Integer
节点响应返回给客户端的状态码。
EdgeResponseTime
Integer
从 EdgeOne 接收到客户端发起的请求开始,到客户端接收到服务器端的响应结束,这个过程所耗费的时间;单位:ms。

边缘服务端信息

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
EdgeException
String
描述 EO 边缘节点处理请求时遇到的问题。字段取值含义详见 EdgeException 字段说明
EdgeServerID
String
客户端访问到的 EdgeOne 服务器唯一标识。示例值:"28a1672eeaa86c145501d3950bff06cc-501d3fb0abce346ac9a5598b665bfcfe"。
EdgeServerIP
String
DNS 解析 Host 得到的 EdgeOne 服务器 IP 地址。
EdgeServerRegionTopDivision
String
边缘服务端接入 IP 解析出的国家下一级的行政划分。目前仅支持中国大陆境内数据。格式标准:ISO-3166-2
EdgeSeverRegion
String
边缘服务端接入 IP 解析出来的国家/地区,格式标准参考:ISO 3166-1 alpha-2

源站信息

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
OriginDNSResponseDuration
Float
接收到源站 DNS 解析响应的耗时,若没有回源,记录为 -1 ,单位:ms。
OriginIP
String
回源访问的源站 IP,若没有回源,记录为“-”。
OriginRequestHeaderSendDuration
Float
向源站发送请求头的耗时,一般是 0,若没有回源,记录为 -1 ,单位:ms。
OriginResponseHeaderDuration
Float
向源站发送请求头到接受到源站响应头的耗时,若没有回源,记录为 -1 ,单位:ms。
OriginResponseStatusCode
Integer
源站响应状态码,若没有回源,记录为 -1。
OriginSSLProtocol
String
请求源站使用的 SSL 协议版本,若没有回源,记录为“-”;取值有:
TLS1.0
TLS1.1
TLS1.2
TLS1.3
OriginTCPHandshakeDuration
Float
请求源站时,完成 TCP 握手的耗时,若没有回源,记录为 -1 ,单位:ms;注意:当连接重复利用时为0。
OriginTLSHandshakeDuration
Float
请求源站时,完成 TLS 握手的耗时,若没有回源或回源协议为 HTTP,记录为 -1 ,单位:ms;注意:当连接重复利用时为0。

安全防护相关字段

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
BotCharacteristic
String
EO Bot 智能分析引擎发现该请求具备的特征,仅提供给已启用 Bot 管理 - Bot 智能分析功能的域名。字段取值含义详见 BotCharacteristic 字段说明
BotClassAccountTakeOver
String
基于近期 IP 情报数据,请求客户端 IP 有恶意破解登录、发起账号接管攻击的风险等级,取值有:
high:高风险
medium:中等风险
low:一般风险
-:无历史数据或域名没有开启客户端画像分析功能
BotClassAttacker
String
基于近期 IP 情报数据,请求客户端 IP 有攻击(如 DDoS,高频恶意请求、站点攻击等)行为的风险等级,取值有:
high:高风险
medium:中等风险
low:一般风险
-:无历史数据或域名没有开启客户端画像分析功能
BotClassMaliciousBot
String
基于近期 IP 情报数据,请求客户端 IP 有恶意爬虫、刷量和暴力破解行为的风险等级,取值有:
high:高风险
medium:中等风险
low:一般风险
-:无历史数据或域名没有开启客户端画像分析功能
BotClassProxy
String
基于近期 IP 情报数据,请求客户端 IP 开放可疑代理端口、并且被用作网络代理(包括秒拨IP)的风险等级,取值有:
high:高风险
medium:中等风险
low:一般风险
-:无历史数据或域名没有开启客户端画像分析功能
BotClassScanner
String
基于近期 IP 情报数据,请求客户端 IP 有攻击已知漏洞的扫描器行为的风险等级,取值有:
high:高风险
medium:中等风险
low:一般风险
-:无历史数据或域名没有开启客户端画像分析功能
BotTag
String
EO Bot 智能分析引擎根据请求速率、IP 情报库等因素对请求进行综合评估分类,仅提供给已启用 Bot 管理 - Bot 智能分析功能的域名。取值有:
evil_bot:恶意 Bot 请求
suspect_bot:疑似 Bot 请求
good_bot:正常 Bot 请求
normal:正常请求
-:未分类
JA3Hash
String
用于分析 SSL/TLS 客户端的 JA3 指纹的 MD5 哈希值,仅提供给已启用 Bot 管理的域名。
SecurityAction
String
请求命中安全规则后的最终处置动作,取值有:
-:未知/未命中
Monitor:观察
JSChallenge:JavaScript 挑战
Deny:拦截
Allow:放行
BlockIP:IP 封禁
Redirect:重定向
ReturnCustomPage:返回自定义页面
ManagedChallenge:托管挑战
Silence:静默
LongDelay:长时间等待后响应
ShortDelay:短时间等待后响应
SecurityModule
String
最终处置请求的安全模块名称,与 SecurityAction 对应,取值有:
-:未知/未命中
CustomRule:Web防护 - 自定义规则
RateLimitingCustomRule:Web防护 - 速率限制规则
ManagedRule:Web防护 - 托管规则
L7DDoS:Web防护 - CC攻击防护
BotManagement:Bot管理 - Bot基础管理
BotClientReputation:Bot管理 - 客户端画像分析
BotBehaviorAnalysis:Bot管理 - Bot智能分析
BotCustomRule:Bot管理 - 自定义Bot规则
BotActiveDetection:Bot管理 - 主动特征识别
SecurityRuleID
String
最终处置请求的安全规则 ID,与 SecurityAction 对应。

相关参考

日志示例

以下是默认情况下单条七层访问日志示例。您可以根据下游日志分析系统的具体要求自定义配置 EdgeOne 日志输出格式,更多请参见 自定义日志输出格式
{
"ClientState": "CN-LN",
"BotTag": "normal",
"EdgeSeverRegion": "US",
"RequestID": "13719873400522703510",
"EdgeException": "client_request_exception.upstream_failed",
"RequestMethod": "GET",
"RequestUrlQueryString": "-",
"LogTime": "2024-10-13T23:30:39Z",
"RequestUrl": "/app/",
"ClientPort": 62389,
"RequestBodyBytes": 0,
"SecurityRuleID": "-",
"ContentID": "zone-2mxigizoh600",
"OriginRequestHeaderSendDuration": 0.001,
"EdgeResponseTime": 379,
"ParentRequestID": "-",
"EdgeServerRegionTopDivision": "CN-LN",
"RequestSSLProtocol": "-",
"RequestScheme": "HTTPS",
"RequestTime": "2024-10-13T23:30:39Z",
"EdgeResponseStatusCode": 404,
"ClientIP": "0.0.0.0",
"BotCharacteristic": "-",
"SecurityAction": "-",
"EdgeEndTime": "2024-10-13T23:30:39Z",
"RequestRange": "-",
"BotClassScanner": "-",
"BotClassProxy": "-",
"ClientDeviceType": "Desktop",
"RequestHost": "www.example.com",
"OriginSSLProtocol": "-",
"EdgeResponseBodyBytes": 548,
"RequestProtocol": "HTTP/1.1",
"EdgeServerID": "b3da9837137ad37f8e430b1d6de51dc5-d41d8cd98f00b204e9800998ecf8427e",
"EdgeCacheStatus": "miss",
"EdgeFunctionSubrequest": 0,
"EdgeResponseBytes": 825,
"OriginTCPHandshakeDuration": 182.485,
"SecurityModule": "-",
"ClientConnectionID": "5692760165714882237",
"EdgeInternalTime": 378,
"RequestBytes": 769,
"OriginIP": "0.0.0.0",
"JA3Hash": "-",
"OriginResponseHeaderDuration": 182.676,
"OriginResponseStatusCode": 404,
"ClientRegion": "US",
"RemotePort": 80,
"ClientISP": "AS396982",
"BotClassMaliciousBot": "-",
"BotClassAccountTakeOver": "-",
"OriginDNSResponseDuration": 0.0,
"RequestReferer": "-",
"BotClassAttacker": "-",
"RequestUA": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36",
"EdgeServerIP": "0.0.0.0",
"OriginTLSHandshakeDuration": -1,
"RequestStatus": "1"
}

EdgeException 字段说明

字段格式:[请求阶段].[异常描述]
若无异常,则字段值为no_exception

请求阶段

请求阶段取值
含义
client_request_exception
客户端向 EdgeOne 边缘节点发起请求过程中发生异常。
edge_response_exception
EdgeOne 边缘节点向客户端响应请求过程中发生异常。

异常描述

说明:
以下仅列出常见异常情况,后续 EdgeOne 有可能追加新的异常情况描述。
异常描述取值
含义
timeout
超时
peer_close
对端关闭(对端关闭以是否收到 FIN 包为准);对于 EdgeOne 边缘服务端来说,对端指的是客户端。
closed
本端主动关闭
read_buffer_full
读 buffer 满
package_write_failed
写失败(仅针对 UDP)
peer_error
读写数据出现异常(RST 等)
peers_is_empty
回源 peers 为空
module_load_failed
HTTP 模块加载失败
header_too_large
HTTP 头部过大
parse_header_failed
HTTP 解析头部失败
read_offset_out_of_upstream_range
读取回源数据的偏移超出了回源响应的 range
no_cache
不使用缓存
partial_compress_cache
仅包含部分压缩缓存
upstream_no_mtime
回源响应无 mtime
cache_no_mtime
本地缓存无 mtime
upstream_mtime_change
回源 mtime 变化
upstream_no_etag
回源响应无 etag
cache_no_etag
本地缓存无 etag
upstream_etag_change
回源 etag 变化
upstream_length_change
回源长度变化
upstream_status_change
回源状态码变化
upstream_data_not_set
回源模块数据未初始化
upstream_respond_extra_data
源站响应多余数据
domain_resolve_failed
回源域名解析失败
domain_resolve_none
回源域名解析结果为空
upstream_server_is_empty
源站列表为空
upstream_failed
回源失败
upstream_content_range_with_content_encoding
源站响应同时包含 Content-Range 和 Content-Encoding
upstream_unknown_transfer_encoding
源站响应未知 Transfer-Encoding
upstream_transfer_encoding_with_content_length
源站响应同时包含 Transfer-Encoding 和 Content-Length
upstream_keepalive_without_length
源站响应未知长度文件并要求 keep-alive
chunked_error
chunked 解析失败
read_file_info_failed
缓存文件信息读取失败
set_cache_data_failed
尝试设置缓存数据失败
unknown_compress_method
未知压缩算法
compress_size_too_large
压缩文件过大
compress_error
压缩异常
upstream_verify_failed
UUID 防劫持校验失败
scheme_error
未知 schema
empty_domain
域名为空
reset_client
需 RST 客户端
blacklist_fatal_error
封禁名单异常
range_index_error
多 Range 下标异常
upstream_respond_206_without_content_range
源站响应 206 未携带 Range
upstream_respond_content_range_without_size
源站响应 Content-Range 未携带文件总大小
upstream_respond_error_content_range
源站响应 Range 异常

BotCharacteristic 字段说明

说明:
该字段仅提供给已启用 Bot 管理 - Bot 智能分析功能的域名。
字段取值
对应规则名称
详细描述
映射 Bot 标签(BotTag
可能命中攻击或业务场景
Client Inconsistency
客户端不一致
请求头部和特征不一致,或四层操作系统指纹与 User-Agent 不匹配
恶意 Bot
伪造 UA,例如 Linux 服务器请求却声明为 Windows UA;
某些用户使用代理、办公网/校园网等出口时,四层指纹来自代理机器,与用户 UA 不匹配。
Irregular TLS Fingerprint
TLS 指纹异常
工具的 TLS 指纹异常
恶意 Bot,疑似 Bot
脚本工具发起的请求;
某些客户端用工具/组件调用 API、静态资源。
High Frequency
高频请求
同一或几个 IP/User-Agent 发送大量请求
恶意 Bot,疑似 Bot
/
Irregular Path Access
非常规路径访问
请求路径出现随机或集中在特定接口,可能是扫描或数据抓取
恶意 Bot,疑似 Bot
某些站点资源少或做活动时,用户请求在短时间内高频集中访问某特定路径。
Real-time Proxy Detection
实时代理检测
基于实时流量模式,判断请求是否可能经由代理转发
恶意 Bot,疑似 Bot
黑产用秒拨代理换 IP 绕风控策略;
用户用代理 VPN、办公网/校园网出口 IP;
网络波动较大。
TLS Fingerprint Inconsistency
TLS 指纹不一致
TLS 指纹与 User-Agent 不匹配
恶意 Bot,疑似 Bot
某些小众客户端(非常见 UA);
脚本工具请求;
篡改 UA 请求;
办公网/校园网出口。
UA with Bot Identifier
UA 含 Bot 标识
User-Agent 中包含常见的 bot 工具标识
恶意 Bot
用户 UA 含常见脚本工具标识字符串。
Python-Requests
Python-requests 请求
使用 python-requests 工具发送请求
恶意 Bot
用户 UA 含python-requests字符串。
Python-Urllib
Python-urllib 请求
使用 python-urllib 工具发送请求
恶意 Bot
用户 UA 含python-urllib字符串。
Curl
cURL 请求
使用 curl 工具发送请求
恶意 Bot
用户 UA 含curl字符串。
Go HTTP Client
Go HTTP 客户端请求
使用 go-http-client 工具发送请求
恶意 Bot
用户 UA 含go-http-client字符串。
Phpcrawl
phpcrawl 请求
使用 phpcrawl 工具发送请求
恶意 Bot
用户 UA 含phpcrawl字符串。
Libcurl
libcurl 请求
使用 libcurl 工具发送请求
恶意 Bot
用户 UA 含libcurl字符串。
WinHTTP Client
WinHTTP 请求
使用 WinHttpClient 工具发送请求
恶意 Bot
用户 UA 含WinHttpClient字符串。
Headless Browser
无头浏览器
使用无头浏览器(如 Puppeteer,Selenium 等)发送请求
恶意 Bot
用户 UA 含headless字符串。
Triggered by Known Tool#{Num}
特定工具特征#{Num}
特定工具或行为触发的规则。{Num}用于标识不同的工具或行为。暂不支持自助查询/管理这一类特征,若有疑问请 联系我们
恶意 Bot,疑似 Bot
/