即时日志是一种轻量级、易于使用且无需任何额外设置的日志服务。通过即时日志,您可以在ESA控制台上实时查看站点访问日志,能够帮助您定位攻击、排查系统故障、调试或测试站点网络连接等。
为什么选择即时日志
在传统的CDN产品中,通常会依赖离线日志来定位、验证业务中的异常问题。在以下业务场景中,使用离线日志时会有很大的局限性:
跨地域故障定位:当用户反馈特定地域访问异常时,传统依赖单节点日志或高延迟全网日志的方式难以快速定位问题根源。
灰度发布验证:功能配置后需验证小范围流量效果,离线日志无法快速过滤特定灰度请求记录。
实时攻击特征分析:针对新型恶意攻击,需即时分析全网请求特征以制定防护策略,但离线日志的高延迟导致响应滞后。
秒级业务监控:活动推广期间需实时监控请求量变化,分钟级统计延迟无法满足动态策略调整需求。
新业务接入验证:新客户配置站点后,因日志延迟无法及时确认链路正确性,影响接入效率。
ESA的即时日志拥有即时的日志查看能力,可以像Linux/Unix系统中用于实时追踪文件内容变化的核心命令tail -f
那样,在控制台随时观测到站点被访问的明细信息。
即时日志帮助异常定位
即时日志监测并结合流量筛选器可以帮助您快速进行异常攻击的定位。根据监测到的攻击特征您可以结合ESA的安全分析功能,对异常的攻击请求快速创建对应的WAF防护规则,轻松完成异常攻击的拦截。
使用限制
目前除基础版套餐外,ESA标准版、高级版、企业版套餐均支持即时日志功能。
同一个站点单次最多只能有一个激活的监测窗口,监测窗口单次最长只能维持60分钟。
即时日志单次最多只可存储40条记录(按时间顺序从上到下排列,最新的记录会覆盖历史记录)。
开始监测后,以下操作会导致监测终止,如果需要继续监测,请重新单击开始监测:
在即时日志页面展开监测记录、单击停止监测或单击
导出按钮,都会导致监测终止但历史日志记录会保存在即时日志页面。
如果您添加筛选条件、切换功能页面(例如从即时日志切换到离线日志页面)或刷新页面,都会导致监测终止且历史日志记录被清空。
开始监测即时日志
在ESA控制台,选择站点管理,在站点列单击目标站点。
在左侧导航栏,选择 。
在即时日志页面,单击开始监测进行日志收集。
可以通过添加流量筛选条件来缩小日志的显示范围,帮助您进行异常定位。
停止监测后,您可以展开监测记录查看详细日志字段,或单击右侧导出按钮
,数据将以JSON格式下载到本地。
即时日志字段说明
字段名称 | 数据类型 | 中文说明 |
BotTag | string | 记录客户端请求的流量类型 |
ClientASN | string | 从客户端IP地址解析出的自治系统编号(ASN)信息 |
ClientCountryCode | string | 从客户端IP地址解析出的ISO-3166 Alpha-2 Code |
ClientIP | string | 与ESA节点建立连接的客户端IP地址 |
ClientISP | string | 从客户端IP地址解析出的运营商信息 |
ClientRegionCode | string | 从客户端IP地址解析出的ISO-3166-2 Code |
ClientRequestBytes | int | 客户端请求的大小,单位:Byte |
ClientRequestHeaderRange | string | 客户端请求中Header头 |
ClientRequestHost | string | 客户端请求的 |
ClientRequestID | string | 客户端请求的唯一标识 |
ClientRequestMethod | string | 客户端请求的 |
ClientRequestPath | string | 客户端请求的路径信息 |
ClientRequestProtocol | string | 客户端请求的协议信息 |
ClientRequestQuery | string | 客户端请求的 |
ClientRequestReferer | string | 客户端请求的 |
ClientRequestURI | string | 客户端请求的 |
ClientRequestUserAgent | string | 客户端请求的 |
ClientSrcPort | int | 客户端与ESA节点建连的端口 |
ClientSSLCipher | string | 客户端的SSL加密套件 |
ClientSSLProtocol | string | 客户端的SSL协议版本, |
ClientXRequestedWith | string | 客户端携带的 |
EdgeCacheStatus | string | 客户端请求的缓存状态 |
EdgeEndTimestamp | Timestamp ISO8601 | ESA节点完成向客户端发送响应的时间戳,例如: |
EdgeRequestHost | string | ESA节点回源的 |
EdgeResponseBodyBytes | int | ESA节点响应返回给客户端的 |
EdgeResponseBytes | int | ESA节点响应返回给客户端的大小,单位:Byte |
EdgeResponseCompressionAlgo | string | ESA节点响应的压缩算法 |
EdgeResponseCompressionRatio | float | ESA节点响应的压缩比 |
EdgeResponseContentType | string | ESA节点响应的 |
EdgeResponseStatusCode | int | ESA节点响应返回给客户端的状态码 |
EdgeResponseTime | int | 从ESA接收到客户端请求开始,到客户端接收到服务端响应结束所耗费的时间,单位:ms |
EdgeServerID | string | 客户端访问到的ESA节点服务器唯一标识 |
EdgeServerIP | string | 客户端访问到的ESA节点IP地址 |
EdgeStartTimestamp | Timestamp ISO8601 | ESA节点接收到客户端请求的时间戳,例如: |
JA3Hash | string | 客户端JA3指纹的哈希值 |
JA4Hash | string | 客户端JA4指纹的哈希值 |
EdgeTimeToFirstByteMs | int | 从ESA节点收到客户端请求开始,到ESA节点响应返回给客户端的首字节时间,单位:ms |
OriginDNSResponseTimeMs | int | 接收到源站DNS解析响应的耗时,若没有回源,记录为 |
OriginIP | string | 回源访问的源站IP地址,若没有回源,记录为 |
OriginResponseDurationMs | int | 源站响应首字节的耗时,若没有回源,记录为 |
OriginResponseHeaderRange | string | 源站响应的Range信息,若没有回源,记录为 |
OriginResponseHTTPExpires | string | 源站响应的Expires信息,若没有回源,记录为 |
OriginResponseHTTPLastModified | string | 源站响应的Last-Modified信息,若没有回源,记录为 |
OriginResponseStatusCode | int | 源站响应状态码,若没有回源,记录为 |
OriginSSLProtocol | string | 请求源站使用的SSL协议版本,若没有回源,记录为 |
OriginTCPHandshakeDurationMs | int | 请求源站时,完成TCP握手的耗时,若没有回源,记录为 |
OriginTLSHandshakeDurationMs | int | 请求源站时,完成TLS握手的耗时,若没有回源,记录为 |
SecAction | string | 本次请求中最终执行的防护动作 |
SecActions | string | 本次请求中执行的全部防护动作 |
SecRuleID | string | 本次请求中最终执行的防护规则ID |
SecRuleIDs | string | 本次请求中执行的全部防护规则ID |
SecSource | string | 本次请求中最终执行的防护规则 |
SecSources | string | 本次请求中执行的全部防护规则 |
SiteName | string | 站点名称 |
SmartRoutingStatus | string | 智能路由功能的使用状态, |
TlsHash | string | 用于描述SSL/TLS客户端指纹的MD5哈希值 |
SampleInterval | float | 当前日志记录的采样率。 |