七层访问日志
以下是七层访问日志(站点加速日志、速率限制和 CC 攻击防护日志、自定义规则日志、Bot 管理日志、托管规则日志)的详细字段说明。
说明
实时日志-站点加速日志记录全量 L7 请求日志、包含 L7 防护拦截日志的功能在内测中,如有需求请 联系我们。
速率限制和 CC 攻击防护日志、自定义规则日志、Bot 管理日志预计将于2024年7月31日下线,建议您使用站点加速日志来获取全量 L7 防护日志。
字段说明
通用字段
字段名称 | 数据类型 | 说明 | 离线日志是否支持该字段 | 实时日志是否支持该字段 |
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:非边缘函数发起的子请求。 | ✓ | ✓ |
EdgeServerID | String | 客户端访问到的 EdgeOne 服务器唯一标识。 | ✓ | ✓ |
EdgeServerIP | String | DNS 解析 Host 得到的 EdgeOne 服务器 IP 地址。 | ✓ | ✓ |
EdgeSeverRegion | String | ✕ | ✓ | |
LogTime | Timestamp ISO8601 | 日志生成的时间。示例值:2024-10-14T05:13:43Z。 | ✕ | ✓ |
ParentRequestID | String | 当该请求是使用边缘函数发起时,记录父请求的 RequestID;否则记录为“-”。 | ✓ | ✓ |
RequestID | String | 客户端请求的唯一标识 ID。 | ✓ | ✓ |
客户端信息
字段名称 | 数据类型 | 说明 | 离线日志是否支持该字段 | 实时日志是否支持该字段 |
ClientDeviceType | String | 客户端请求设备类型,取值有: TV:电视 Tablet:平板电脑 Mobile:手机 Desktop:电脑 Other:其他 | ✕ | ✓ |
ClientIP | String | 与 EdgeOne 节点建连的客户端 IP。 | ✓ | ✓ |
ClientISP | String | 客户端 IP 解析出的运营商信息。 中国大陆境内数据,记录为 ISP 中文名称; 全球可用区(不含中国大陆)数据,记录为 自治系统编号(ASN)。 | ✓ | ✓ |
ClientRegion | String | ✓ | ✓ | |
ClientState | String | ✓ | ✓ |
请求信息
字段名称 | 数据类型 | 说明 | 离线日志是否支持该字段 | 实时日志是否支持该字段 |
RemotePort | Integer | TCP 协议下与客户端建立连接的 EdgeOne 节点端口。 | ✓ | ✓ |
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 信息。 | ✓ | ✓ |
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。 | ✓ | ✓ |
源站信息
字段名称 | 数据类型 | 说明 | 离线日志是否支持该字段 | 实时日志是否支持该字段 |
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 | ✕ | ✓ | |
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 | evil_bot:恶意 Bot 请求 suspect_bot:疑似 Bot 请求 good_bot:正常 Bot 请求 normal:正常请求 -:未分类 | ✕ | ✓ |
JA3Hash | String | ✕ | ✓ | |
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 对应。 | ✕ | ✓ |
日志示例
{"ClientState": "CN-LN","BotTag": "normal","EdgeSeverRegion": "US","RequestID": "13719873400522703510","RequestMethod": "GET","RequestUrlQueryString": "-","LogTime": "2024-10-13T23:30:39Z","RequestUrl": "/app/","RequestBodyBytes": 0,"SecurityRuleID": "-","OriginRequestHeaderSendDuration": 0.001,"EdgeResponseTime": 379,"ParentRequestID": "-","RequestSSLProtocol": "-","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": "chatgpt.skyrun.vip","OriginSSLProtocol": "-","EdgeResponseBodyBytes": 548,"RequestProtocol": "HTTP/1.1","EdgeServerID": "b3da9837137ad37f8e430b1d6de51dc5-d41d8cd98f00b204e9800998ecf8427e","EdgeCacheStatus": "miss","EdgeFunctionSubrequest": 0,"EdgeResponseBytes": 825,"OriginTCPHandshakeDuration": 182.485,"SecurityModule": "-","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"}