创建实时日志投递任务
您的业务在使用ESA服务时,会产生大量的网络日志数据。通过实时日志投递功能可以实时采集系统、应用程序或设备操作的日志,并投递到指定处理平台上进行存储和分析,能够有效保护数据安全,快速监控,定位业务问题和优化内容分发性能。
实时日志的分类
当您的业务接入了ESA服务后,您可能需要分析用户行为和网站健康状况等数据,以辅助业务策略调整。针对以下场景:
安全监控:当您的网站遭受了非法的攻击,如DDoS攻击、爬虫行为、尝试性攻击或其他可疑活动,需要进行攻击源定位以及制定安全策略时。
性能监控:当您需要对ESA性能指标,如请求延迟、错误率等进行监控以排查相关故障时。
用户行为分析:当您需要分析用户的访问模式和行为,例如最常访问的内容、访问时间、停留时长等。
业务分析与优化:当您需要分析流量、带宽、资源使用情况、地理分布数据、缓存命中率等数据来对您的业务策略进行优化时。
审计和合规:当您为满足多种监管要求,如数据保留策略、用户隐私法律合规性等,需要审计证据时。
ESA为您提供了四种类型的实时日志:边缘函数日志、访问日志、安全防护日志、四层代理日志。
日志类型 | 日志采集范围 | 记录内容 | 适用场景 |
边缘函数日志 | 账号下所有站点 | 记录调用ESA边缘函数产生的请求信息。 | 业务分析与优化 |
访问日志 | 单一站点 | 记录用户对通过ESA加速的网站或者服务进行访问时产生的详细请求信息。 |
|
安全防护日志 | 记录通过ESA网络应用防火墙(WAF)检测到并进行了拦截处理的所有恶意请求的详细信息。 |
| |
四层代理日志 | 记录通过ESA传输层加速功能来传输内容的详细信息。 |
|
您可以根据您的需求场景同时选择多种日志,来多方位护航您的业务。
实时日志处理
当用户在客户端发起请求后,ESA节点在处理请求时会同时记录相应的日志,通过ESA日志系统收集处理日志。为了灵活检索与分析您的实时日志,ESA日志系统提供了推送功能,您可以将您的日志推送到您对应的日志存储处理平台。ESA支持您将日志投递至阿里云日志服务(SLS)、阿里云对象存储(OSS)、AWS S3、兼容S3的其他存储服务、HTTP服务器或Kafka。
前提条件
1.如果需要将ESA实时日志投递到阿里云日志服务SLS时,需要先开通阿里云日志服务SLS;
2.如果需要将ESA实时日志投递到阿里云对象存储OSS时,需要先开通阿里云对象存储OSS;
3.如果需要将ESA实时日志投递到非阿里云平台的其他目的地,则请参照您所使用的平台使用要求。
注意事项
实时日志推送至SLS服务时,会产生相应的流量、存储等费用,相关费用由SLS产品收取,详情请参见日志服务(SLS)计费概述。
实时日志推送至OSS服务时,会产生相应的流量、存储等费用,相关费用由OSS产品收取,详情请参见 对象存储(OSS)计费概述。
通常情况下,实时日志的时效性在5分钟内。
创建实时日志投递
针对创建实时日志投递任务的流程图如下:
对于投递目的地为非阿里云的对象存储服务(AWS S3、兼容S3的其他存储服务),会增加一个步骤用来校验您对该对象存储服务的归属权,以确保您的数据安全。
在创建的不同类型的实时日志投递任务的步骤中,由于边缘函数日志是针对账户下的所有站点,区别于另外三种针对单站点的日志,所以再第一步选择日志类型时会有所不同,其他的操作步骤均相同。
1. 选择日志类型
边缘函数日志
登录ESA控制台。
在左侧导航栏,选择
。在实时日志页面,单击创建投递任务。
在选择日志类型页签,配置相关参数,单击下一步。
参数
说明
任务名称
用于标识实时日志任务,由数字、字母或中划线组成,最大支持200个字符。
日志类型
支持以下业务类型的实时日志投递:
边缘函数日志
访问日志、安全防护日志、四层代理日志
登录ESA控制台。
在左侧导航栏,单击站点管理。
在站点管理页面,单击目标站点名称,或对应站点操作列的详情。
在左侧导航栏,选择
。在实时日志页面,在投递任务标签页下,单击创建投递任务。
在选择日志类型页签,配置相关参数,单击下一步。
参数 | 说明 |
任务名称 | 用于标识实时日志任务,由数字、字母或中划线组成,最大支持200个字符。 |
日志类型 | 支持以下业务类型的实时日志投递:
|
2. 选择日志字段
在选择日志字段页签,配置相关参数后,单击下一步。
参数 | 说明 |
采集字段 | 您可以配置需要采集的字段,字段详情请参见采集字段说明。 |
采样率 | 您可以通过配置采样率来降低日志推送的数量,以减少不必要的日志存储成本。配置后,ESA将按照设定的百分比随机采样日志,然后将其推送到您指定的目的地。 |
筛选器 | 您可以通过配置过滤条件来筛选投递您指定的某些日志,当前最多支持添加20个筛选条件。 |
3. 选择投递目标地址
在选择投递目标地址页签选择您需要投递的目标地址(投递至SLS或OSS时需要进行授权),单击下一步。
类型 | 目标地址 |
日志分析服务 | 阿里云日志服务SLS |
对象存储服务 | 阿里云对象存储OSS |
AWS S3 | |
兼容S3的其他存储服务 | |
自定义服务 | HTTP服务器 |
Kafka |
4. 投递目标地址信息
投递至阿里云日志服务SLS
配置采集区域、SLS投递区域等投递地址信息后,单击完成。
参数 | 说明 |
采集区域 | ESA日志采集区域。 |
SLS投递区域 | SLS投递区域(即日志服务区域)。 |
SLS Project |
|
SLS Logstore |
|
授权 | 勾选此项用以授权ESA访问阿里云日志服务SLS。系统将会自动创建服务关联角色AliyunServiceRoleForESARealtimeLogPushSLS并进行授权,允许ESA访问日志服务SLS的资源。角色详细信息请参见实时日志RAM角色。 |
投递至阿里云对象存储OSS
配置采集区域、Bucket地域等投递地址信息后,单击完成。
参数 | 说明 |
采集区域 | ESA日志采集区域。 |
Bucket地域 | 选择您的目标Bucket所在地域。 说明 若您还没有建立Bucket,您可以前往OSS控制台Bucket列表,先为您的OSS建立一个Bucket用以存储您的日志文件。 |
Bucket名称 | 从当前账号中选择已有的Bucket名称。 |
文件保存路径 |
说明 目录命名规范:
|
授权 | 勾选此项用以授权ESA访问阿里云存储对象OSS。系统将会自动创建服务关联角色AliyunESARealtimeLogPushOSSRole并进行授权,允许ESA访问对象存储服务OSS的资源。 |
投递至AWS S3
配置采集区域、Bucket路径等投递地址信息后,单击下一步。
请注意不要开启Bucket的“请求者付款”功能,若您开启了此功能会导致日志投递失败。
参数 | 说明 |
采集区域 | ESA日志采集区域。 |
Bucket路径 | 输入您的Bucket所在路径。 |
Bucket区域 | 从下拉列表中选择您的Bucket所在区域。 |
Bucket策略中的加密限制 |
|
授权ESA上传文件 | 为保证ESA可以有权限向您的Bucket中投递实时日志,在此处为您提供了用于配置权限的代码。您需要将权限代码复制到AWS S3 Bucket > 对应的存储桶 > 权限 > 存储桶策略中,即可完成ESA在AWS S3的日志投递权限配置。 |
归属权校验
当填写完AWS S3投递信息后,系统会在您的Bucket日志目录中发送一个.txt后缀的令牌文件。
按照证明所有权右侧提示的路径,在AWS S3中找到该txt文件,将其中所有内容复制到所有权令牌中,点击完成。
投递至S3兼容存储服务
配置采集区域、S3 兼容Bucket路径等投递地址信息后,单击下一步。
参数 | 说明 |
采集区域 | ESA日志采集区域。 |
S3 兼容Bucket路径 | 输入您的Bucket所在路径。系统会自动在您的Bucket路径中自动生成当前日期的子目录用以存放日志文件。 |
Bucket区域 | 输入您的Bucket所在区域。 |
Access Key ID | 输入您的Access Key ID。 |
Secret Access Key | 输入您的Secret Access Key。 |
端点URL | 输入您使用的支持S3的服务器URL,其中无需包含您的Bucket名称或所在路径。 |
归属权校验
当填写完S3兼容存储服务投递信息后,系统会在您的Bucket日志目录中发送一个.txt后缀的令牌文件。
按照证明所有权右侧提示的路径,在您的S3兼容存储服务器的Bucket中找到该txt文件,将其中所有内容复制到所有权令牌中,点击完成。
投递至HTTP服务器
配置采集区域、接收地址等投递地址信息后,单击完成。
参数 | 说明 |
采集区域 | ESA日志采集区域。 |
接收地址 | 输入您的HTTP服务器URL,必须要带有http://或https://。 |
压缩方式 | 您可以从下拉框中选择您需要压缩的格式:
|
标态鉴权 | 选择您的服务器是否需要加密签名。当您选择需要使用加密签名,需要完成填写:
说明
|
自定义HTTP请求头(选填) | 您最多可以添加20个自定义HTTP请求头。 |
自定义URL参数列表(选填) | 您最多可以添加20个自定义URL参数列表。 |
日志格式body前缀(选填) | 您可以输入自定义的日志body前缀。 |
日志格式body后缀(选填) | 您可以输入自定义的日志body后缀。 |
投递至Kafka
配置采集区域、Kafka主题等投递地址信息后,单击完成。
参数 | 说明 |
采集区域 | ESA日志采集区域。 |
Kafka主题 | 输入您的Kafka主题分组。 |
broker服务器地址 | 输入您的broker服务器地址。
说明 |
压缩方式 | 您可以从下拉框中选择您需要压缩的格式:
|
标态鉴权 | 选择您的服务器是否需要加密签名。当您选择需要使用加密签名,需要完成填写:
|
负载均衡方式 | 您可以选择您需要的负载均衡方式:
|
其他说明
创建访问日志自定义字段
针对访问日志,ESA提供了可创建自定义字段的功能,您可以通过键值对的形式将这些字段添加到您的日志中,帮助您分析日志数据。
操作步骤
登录ESA控制台。
在左侧导航栏,单击站点管理。
在站点管理页面,单击目标站点名称,或对应站点操作列的详情。
在左侧导航栏,选择
。在实时日志页面,在自定义字段标签页下,单击添加自定义字段。
在弹出框中填写相关字段参数,点击确定。
字段参数
说明
字段类型
您可以根据需要,从如下三种类型中选择字段类型:
Request Header
Response Header
Cookies
字段名称
输入您的字段名称
说明针对添加自定义字段需要注意:
最多支持添加40个自定义字段;
字段区分大小写,需要精准匹配;
Request Header、Response Header和Cookies的自定义字段数据的最大长度合计为2KB,超过此限制的任何数据都将被截断。
不同套餐的支持情况
每种日志类型下可创建的推送任务数量由购买的套餐决定,不同的套餐支持的实时日志投递任务如下。
投递的任务数按照日志类型来分别统计。例如您购买了企业版套餐,当您已创建了5个访问日志的任务,您仍可以再创建5个安全防护日志的任务。
功能项 | 基础版 | 标准版 | 高级版 | 企业版 |
支持的实时日志投递任务数 | 1个 | 2个 | 3个 | 5个 |