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

七层访问日志

以下是七层访问日志(站点加速日志、速率限制和 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
响应的 EdgeOne 节点 IP 解析出来的国家/地区,格式标准参考:ISO 3166-1 alpha-2
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
客户端 IP 解析出来的国家/地区。格式标准:ISO 3166-1 alpha-2
ClientState
String
客户端 IP 解析出的国家下一级的行政划分。目前仅支持中国大陆境内数据。格式标准:ISO-3166-2

请求信息

字段名称
数据类型
说明
离线日志是否支持该字段
实时日志是否支持该字段
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
EO Bot 智能分析引擎发现该请求具备的特征,仅提供给已启用 Bot 管理 - Bot 智能分析功能的域名。
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",
"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"
}