创建实时日志投递任务

更新时间: 2024-12-05 11:40:09

您的业务在使用ESA服务时,会产生大量的网络日志数据。通过实时日志投递功能可以实时采集系统、应用程序或设备操作的日志,并投递到指定处理平台上进行存储和分析,能够有效保护数据安全,快速监控,定位业务问题和优化内容分发性能。

实时日志的分类

当您的业务接入了ESA服务后,您可能需要分析用户行为和网站健康状况等数据,以辅助业务策略调整。针对以下场景:

  • 安全监控:当您的网站遭受了非法的攻击,如DDoS攻击、爬虫行为、尝试性攻击或其他可疑活动,需要进行攻击源定位以及制定安全策略时。

  • 性能监控:当您需要对ESA性能指标,如请求延迟、错误率等进行监控以排查相关故障时。

  • 用户行为分析:当您需要分析用户的访问模式和行为,例如最常访问的内容、访问时间、停留时长等。

  • 业务分析与优化:当您需要分析流量、带宽、资源使用情况、地理分布数据、缓存命中率等数据来对您的业务策略进行优化时。

  • 审计和合规:当您为满足多种监管要求,如数据保留策略、用户隐私法律合规性等,需要审计证据时。

ESA为您提供了四种类型的实时日志:边缘函数日志访问日志安全防护日志四层代理日志

日志类型

日志采集范围

记录内容

适用场景

边缘函数日志

账号下所有站点

记录调用ESA边缘函数产生的请求信息。

业务分析与优化

访问日志

单一站点

记录用户对通过ESA加速的网站或者服务进行访问时产生的详细请求信息。

  • 用户行为分析

  • 业务分析与优化

  • 审计与合规

安全防护日志

记录通过ESA网络应用防火墙(WAF)检测到并进行了拦截处理的所有恶意请求的详细信息。

  • 安全监控

  • 业务分析与优化

  • 审计与合规

四层代理日志

记录通过ESA传输层加速功能来传输内容的详细信息。

  • 性能监控

  • 业务分析与优化

您可以根据您的需求场景同时选择多种日志,来多方位护航您的业务。

实时日志处理

当用户在客户端发起请求后,ESA节点在处理请求时会同时记录相应的日志,通过ESA日志系统收集处理日志。为了灵活检索与分析您的实时日志,ESA日志系统提供了推送功能,您可以将您的日志推送到您对应的日志存储处理平台。ESA支持您将日志投递至阿里云日志服务(SLS)、阿里云对象存储(OSS)、AWS S3、兼容S3的其他存储服务、HTTP服务器或Kafka。

image

前提条件

1.如果需要将ESA实时日志投递到阿里云日志服务SLS时,需要先开通阿里云日志服务SLS

2.如果需要将ESA实时日志投递到阿里云对象存储OSS时,需要先开通阿里云对象存储OSS

3.如果需要将ESA实时日志投递到非阿里云平台的其他目的地,则请参照您所使用的平台使用要求。

注意事项

  • 实时日志推送至SLS服务时,会产生相应的流量、存储等费用,相关费用由SLS产品收取,详情请参见日志服务(SLS)计费概述

  • 实时日志推送至OSS服务时,会产生相应的流量、存储等费用,相关费用由OSS产品收取,详情请参见 对象存储(OSS)计费概述

  • 通常情况下,实时日志的时效性在5分钟内。

创建实时日志投递

针对创建实时日志投递任务的流程图如下:

image
说明

对于投递目的地为非阿里云的对象存储服务(AWS S3、兼容S3的其他存储服务),会增加一个步骤用来校验您对该对象存储服务的归属权,以确保您的数据安全。

在创建的不同类型的实时日志投递任务的步骤中,由于边缘函数日志是针对账户下的所有站点,区别于另外三种针对单站点的日志,所以再第一步选择日志类型时会有所不同,其他的操作步骤均相同。

1. 选择日志类型

边缘函数日志

  1. 登录ESA控制台

  2. 在左侧导航栏,选择分析和日志 > 实时日志

  3. 实时日志页面,单击创建投递任务

    image

  4. 在选择日志类型页签,配置相关参数,单击下一步

    image

    参数

    说明

    任务名称

    用于标识实时日志任务,由数字、字母或中划线组成,最大支持200个字符。

    日志类型

    支持以下业务类型的实时日志投递:

    • 边缘函数日志

访问日志、安全防护日志、四层代理日志

  1. 登录ESA控制台

  2. 在左侧导航栏,单击站点管理

  3. 站点管理页面,单击目标站点名称,或对应站点操作列的详情

  4. 在左侧导航栏,选择分析和日志 > 实时日志

  5. 实时日志页面,在投递任务标签页下,单击创建投递任务image

  6. 在选择日志类型页签,配置相关参数,单击下一步image

参数

说明

任务名称

用于标识实时日志任务,由数字、字母或中划线组成,最大支持200个字符。

日志类型

支持以下业务类型的实时日志投递:

  • 访问日志

  • 安全防护日志

  • 四层代理日志

2. 选择日志字段

在选择日志字段页签,配置相关参数后,单击下一步image

参数

说明

采集字段

您可以配置需要采集的字段,字段详情请参见采集字段说明

采样率

您可以通过配置采样率来降低日志推送的数量,以减少不必要的日志存储成本。配置后,ESA将按照设定的百分比随机采样日志,然后将其推送到您指定的目的地。

筛选器

您可以通过配置过滤条件来筛选投递您指定的某些日志,当前最多支持添加20个筛选条件。

3. 选择投递目标地址

在选择投递目标地址页签选择您需要投递的目标地址(投递至SLS或OSS时需要进行授权),单击下一步image

类型

目标地址

日志分析服务

阿里云日志服务SLS

对象存储服务

阿里云对象存储OSS

AWS S3

兼容S3的其他存储服务

自定义服务

HTTP服务器

Kafka

4. 投递目标地址信息

投递至阿里云日志服务SLS

配置采集区域、SLS投递区域等投递地址信息后,单击完成image

参数

说明

采集区域

ESA日志采集区域。

SLS投递区域

SLS投递区域(即日志服务区域)。

SLS Project

  • 从当前账号中选择Project:选择同阿里云账号下已经创建好的SLS Project进行投递。

  • 自定义新建Project:新建日志服务的Project名称,不能与阿里云日志服务SLS控制台上的其他Project名称重复。

SLS Logstore

  • 从当前账号中选择Logstore:选择同阿里云账号下已经创建好的SLS Logstore进行投递。

  • 自定义新建Logstore:不能与同Project的其他Logstore名称重复。

    说明

    默认创建的Logstore类型为Standard,日志保存时长30天且开启全文索引,相关费用由SLS产品收取。如需修改Logstore属性,请在创建后前往阿里云日志服务SLS控制台进行修改。

授权

勾选此项用以授权ESA访问阿里云日志服务SLS。系统将会自动创建服务关联角色AliyunServiceRoleForESARealtimeLogPushSLS并进行授权,允许ESA访问日志服务SLS的资源。角色详细信息请参见实时日志RAM角色

投递至阿里云对象存储OSS

配置采集区域、Bucket地域等投递地址信息后,单击完成

image

参数

说明

采集区域

ESA日志采集区域。

Bucket地域

选择您的目标Bucket所在地域。

说明

若您还没有建立Bucket,您可以前往OSS控制台Bucket列表,先为您的OSS建立一个Bucket用以存储您的日志文件。

Bucket名称

从当前账号中选择已有的Bucket名称。

文件保存路径

  • 当前目录:系统会根据当前日期来为您自动生成一个日志存放目录。

  • 指定目录:您可以自定义您想要存放的目录。填入您自定义的目录后,系统会快速地为您创建对应的子目录,用于存放日志。

说明

目录命名规范:

  1. 不允许使用表情符,请使用符合要求的UTF-8;

  2. /用于分隔符,不允许以/或\开头,不允许出现连续的/;

  3. 不允许名为..的子目录;

  4. 总长度控制在1-254个字符。

授权

勾选此项用以授权ESA访问阿里云存储对象OSS。系统将会自动创建服务关联角色AliyunESARealtimeLogPushOSSRole并进行授权,允许ESA访问对象存储服务OSS的资源。

投递至AWS S3

配置采集区域、Bucket路径等投递地址信息后,单击下一步image

重要

请注意不要开启Bucket的“请求者付款”功能,若您开启了此功能会导致日志投递失败。

参数

说明

采集区域

ESA日志采集区域。

Bucket路径

输入您的Bucket所在路径。

Bucket区域

从下拉列表中选择您的Bucket所在区域。

Bucket策略中的加密限制

  • 否:当您的Bucket不会强制执行服务端加密时,选择此选项;

  • 是,我的策略需要AWS SSE-S3 AES256 服务端加密:当您的Bucket会强制执行服务端加密时,选择此选项。

授权ESA上传文件

为保证ESA可以有权限向您的Bucket中投递实时日志,在此处为您提供了用于配置权限的代码。您需要将权限代码复制到AWS S3 Bucket > 对应的存储桶 > 权限 > 存储桶策略中,即可完成ESA在AWS S3的日志投递权限配置。

归属权校验

说明

当填写完AWS S3投递信息后,系统会在您的Bucket日志目录中发送一个.txt后缀的令牌文件。

按照证明所有权右侧提示的路径,在AWS S3中找到该txt文件,将其中所有内容复制到所有权令牌中,点击完成

投递至S3兼容存储服务

配置采集区域、S3 兼容Bucket路径等投递地址信息后,单击下一步image

参数

说明

采集区域

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服务器

配置采集区域、接收地址等投递地址信息后,单击完成

image

参数

说明

采集区域

ESA日志采集区域。

接收地址

输入您的HTTP服务器URL,必须要带有http://或https://。

压缩方式

您可以从下拉框中选择您需要压缩的格式:

  • gzip

  • zlib

  • snappy

  • no

标态鉴权

选择您的服务器是否需要加密签名。当您选择需要使用加密签名,需要完成填写:

  • PrivateKey:填入您的隐私Key,用于计算鉴权值。

  • ExpiredTime:填入本次签名的过期时间。

说明
  • 投递时,服务器会基于当前时间的UnixTime加上ExpiredTime作为过期时间TimeStamp。

  • 用户在接收推送请求后,会获取到TimeStamp、Rand、及Md5hash,并检查TimeStamp是否过期,利用PrivateKey拼装出需加密的字符串,加密后与Md5hash值进行比较,相同则说明鉴权通过。

自定义HTTP请求头(选填)

您最多可以添加20个自定义HTTP请求头。

自定义URL参数列表(选填)

您最多可以添加20个自定义URL参数列表。

日志格式body前缀(选填)

您可以输入自定义的日志body前缀。

日志格式body后缀(选填)

您可以输入自定义的日志body后缀。

投递至Kafka

配置采集区域、Kafka主题等投递地址信息后,单击完成

image

参数

说明

采集区域

ESA日志采集区域。

Kafka主题

输入您的Kafka主题分组。

broker服务器地址

输入您的broker服务器地址。

    说明
    • 服务器地址支持域名、IP。

    • 通过回车键来完成单个地址输入。

    • 最多可以输入50个地址。

压缩方式

您可以从下拉框中选择您需要压缩的格式:

  • gzip

  • snappy

  • lz4

  • zstd

  • no

标态鉴权

选择您的服务器是否需要加密签名。当您选择需要使用加密签名,需要完成填写:

  • 鉴权方式:填入您的鉴权方式,可选择:

    • PLAIN

    • SCRAM-SHA-256

    • SCRAM-SHA-256

  • 用户名:输入您的用户名。

  • 密码:输入您的密码。

负载均衡方式

您可以选择您需要的负载均衡方式:

  • LeastBytes

  • Hash

  • RoundRobin

  • CRC32Balancer

  • Murmur2Balancer

其他说明

创建访问日志自定义字段

针对访问日志,ESA提供了可创建自定义字段的功能,您可以通过键值对的形式将这些字段添加到您的日志中,帮助您分析日志数据。

操作步骤

  1. 登录ESA控制台

  2. 在左侧导航栏,单击站点管理

  3. 站点管理页面,单击目标站点名称,或对应站点操作列的详情

  4. 在左侧导航栏,选择分析和日志 > 实时日志

  5. 实时日志页面,在自定义字段标签页下,单击添加自定义字段

    问问.png

  6. 在弹出框中填写相关字段参数,点击确定

    image

    字段参数

    说明

    字段类型

    您可以根据需要,从如下三种类型中选择字段类型:

    • Request Header

    • Response Header

    • Cookies

    字段名称

    输入您的字段名称

    说明

    针对添加自定义字段需要注意:

    1. 最多支持添加40个自定义字段;

    2. 字段区分大小写,需要精准匹配;

    3. Request Header、Response Header和Cookies的自定义字段数据的最大长度合计为2KB,超过此限制的任何数据都将被截断。

不同套餐的支持情况

每种日志类型下可创建的推送任务数量由购买的套餐决定,不同的套餐支持的实时日志投递任务如下。

说明

投递的任务数按照日志类型来分别统计。例如您购买了企业版套餐,当您已创建了5个访问日志的任务,您仍可以再创建5个安全防护日志的任务。

功能项

基础版

标准版

高级版

企业版

支持的实时日志投递任务数

1个

2个

3个

5个

上一篇: 实时日志 下一篇: 标态鉴权说明