创建实时日志投递任务

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

前提条件

  • 如果需要将ESA实时日志投递到阿里云日志服务SLS时,需要先开通阿里云日志服务SLS,并且会产生相应的流量、存储等费用,相关费用由SLS产品收取,详情请参见日志服务(SLS)计费概述

  • 如果需要将ESA实时日志投递到阿里云对象存储OSS时,需要先开通阿里云对象存储OSS,并且会产生相应的流量、存储等费用,相关费用由OSS产品收取,详情请参见 对象存储(OSS)计费概述

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

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

创建实时日志投递任务

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

image
说明

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

在创建的不同类型的实时日志投递任务的步骤中,由于日志数据的采集维度有差别,所以在第一步选择日志类型时会有所不同,其他的操作步骤均相同。

选择日志类型

边缘函数日志、边缘容器日志

  1. 登录ESA控制台,在左侧导航栏选择分析和日志 > 实时日志

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

    image

  3. 根据界面提示填写任务名称并选择日志类型,单击下一步

    image

访问及回源日志、安全防护日志、四层代理日志、DNS日志

  1. ESA控制台,选择站点管理,在站点列单击目标站点。

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

  3. 投递任务页签中,单击创建投递任务image

  4. 根据界面提示填写任务名称并选择日志类型,单击下一步

    image

选择日志字段

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

image

参数

说明

采集字段

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

采样率

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

筛选器

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

容器名称

您可以选择您已部署的容器,当前最多支持添加19个容器名称。

选择目标地址

根据需要选择要投递的目标地址,单击下一步

image

类型

目标地址

日志分析服务

阿里云日志服务SLS

对象存储服务

阿里云对象存储OSS

AWS S3

兼容S3的其他存储服务

自定义服务

HTTP服务器

Kafka

填写投递目标地址信息

投递至阿里云日志服务SLS

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

image

参数

说明

SLS投递区域

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

授权

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

投递至阿里云对象存储OSS

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

image

参数

说明

采集区域

ESA日志采集区域。

Bucket地域

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

说明

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

Bucket名称

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

授权

勾选此项用以授权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 > 对应的存储桶 > 权限 > 存储桶策略中,即可完成ESAAWS S3的日志投递权限配置。

5. 归属权校验

说明

当填写完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名称或所在路径。

5. 归属权校验

说明

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

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

投递至HTTP服务器

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

image

参数

说明

采集区域

ESA日志采集区域。

接收地址

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

压缩方式

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

  • gzip

  • zlib

  • snappy

  • no

标态鉴权

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

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

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

鉴权原理及示例,请参见标态鉴权说明

PrivateKey

隐私key,用于计算鉴权值,长度大小必须在6-18位之间,且必须包含字母和数字。

ExpiredTime

过期时间(单位:秒),用于标识本次签名过期时间。

自定义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-512

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

  • 密码:输入您的密码。

负载均衡方式

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

  • LeastBytes

  • Hash

  • RoundRobin

  • CRC32Balancer

  • Murmur2Balancer

添加自定义字段

可以根据您的具体需求,手动添加额外的日志字段,以便于记录特定的信息,帮助您更详细地监控和分析日志数据。

说明

仅访问及回源日志支持采集自定义字段,采集字段为CustomFields

  1. ESA控制台,选择站点管理,在站点列单击目标站点。

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

  3. 选择自定义字段,单击添加自定义字段

  4. 在弹出的对话框中设置字段类型字段名称,单击确定

    image

    • Request Header:请求头是客户端发送给服务器的HTTP请求的一部分,包含了关于请求的详细信息。请求头的主要作用是向服务器提供关于请求的上下文信息,帮助服务器更好地处理请求。

    • Response Header:响应头是服务器发送给客户端的HTTP响应的一部分,包含了关于响应的详细信息。响应头的主要作用是向客户端提供关于响应的上下文信息,帮助客户端更好地处理响应。

    • Cookies:Cookies是存储在客户端(通常是浏览器)的小型文本文件,主要作用是维持会话状态。