You need to enable JavaScript to run this app.
文档中心
流式计算 Flink版

流式计算 Flink版

复制全文
下载 pdf
日志管理
配置作业日志归档到 TLS
复制全文
下载 pdf
配置作业日志归档到 TLS

您可以将 Flink 项目下的作业日志一键归档输出到火山引擎日志服务 TLS,使用 TLS 强大的检索、SQL 分析与告警能力提升日志使用体验,也可以按照任务维度配置日志输出到 TLS。本文介绍如何配置 Flink 作业日志输出到 TLS。

全局日志投递配置

全局日志投递以项目(工作空间)为管理粒度,依托服务角色(Service Role)实现身份鉴权,无需人工维护长期密钥。功能启用后,Flink 将自动创建并维护日志投递依赖的 TLS 项目、日志主题、索引及分发任务。系统支持三类日志投递:启动日志、运行事件、作业运行日志。

前置条件

  • 已开通 TLS 服务。
  • 当前操作账户必须拥有 IAM 权限: FlinkDeveloperAccess
  • 您必须是项目负责人,或者是项目管理员(Project_Admin),详细操作请参考:角色管理

操作步骤

  1. 登录流式计算 Flink 版控制台
  2. 在顶部菜单栏选择目标地域。
  3. 在左侧导航栏选择项目管理,在搜索框中根据项目名称进行模糊搜索,然后单击项目区块进入项目。
  4. 在项目左侧导航栏选择日志管理
  5. 日志配置页面,点击编辑

Image

  1. 在编辑页面开启投递到 TLS 开关,并根据需求选择日志投递类型。
    投递日志分为启动日志、运行事件、运行日志三类。三类日志将分别输出至独立 TLS 日志主题;日志归档后默认自动创建索引,支持直接检索与 SQL 分析。对应关系如下:

    投递类型

    日志内容

    对应 TLS 日志主题

    启动日志

    作业提交、启动阶段产生的客户端日志,包含操作用户、角色等信息,用于排查作业启动失败、参数错误等问题。

    flink-client-log-topic

    运行事件

    作业生命周期事件日志,如启停、Checkpoint、Failover 等关键事件,用于审计与运行态追踪。

    flink-event-log-topic

    作业运行日志

    作业运行期 JobManager / TaskManager 输出的运行日志,用于定位运行时异常与业务问题。

    flink-job-log-topic

    Image

  2. 配置完成后,点击保存。日志投递到 TLS 后,可以在日志服务页面查看日志。

说明

  • TLS 项目名称遵循 flink-project-{账号ID}-{region}格式自动生成,示例:flink-project-2101000000-cn-beijing
  • 同一账号、同一地域下所有 Flink 项目复用同一个 TLS 项目,依靠日志内project字段区分各项目日志来源。日志各字段说明请参考日志字段说明
  • 关闭单项目投递通道,不影响其余项目已启用的投递功能。
  • 系统自动创建的日志主题默认存储时长 30 天,支持在 TLS 控制台对应主题页面自定义修改存储周期。

日志字段说明

启动日志/运行事件

默认字段如下:

字段名称

说明

time

日志(事件)产生时间。

level

日志级别。

message

日志内容(运行事件为事件内容)。

project

日志来源的 Flink 项目 ID,用于区分共用 TLS 项目的不同 Flink 项目。

application

作业 / 应用标识。

deployment

作业上线后的部署 ID。

accountId

账号 ID。

role

操作角色。仅启动日志

user

操作用户。仅启动日志

运行日志

默认字段如下:

字段名称

说明

level

日志级别。

logger

打印日志的类名 / Logger 名称。

message

日志内容。

time

日志打印时间。

namespace

资源池名称。

path / pod_name

日志所在的Pod 名称与采集路径,用于区分多个 JobManager、TaskManager 实例。

tag__accountId

账号 ID。

tag__deployment

作业部署 ID。

tag__project

日志来源的 Flink 项目 ID。

tag__queue

作业所在队列。

tag__role

角色类型,区分 JobManager / TaskManager。

tag__engine

引擎标识。

tag__user

所属用户。

单任务日志投递配置

将单任务日志配置输出到 TLS 。使用 TLS 强大的检索告警能力提升日志使用体验。

前置条件

  • 需要您提前开通 TLS 服务,并创建需要接受 Flink 日志的项目和主题。请参考 TLS 日志主题文档
  • 需要您准备具有 TLS 写入权限的 AK/SK 用于配置 Flink 写入 TLS 鉴权。请参考 Access Key(密钥)管理
  • 建议提前配置 Flink 日志主题的索引,便于后续日志检索,详细日志字段请参见日志字段说明

操作步骤

  1. 日志配置入口。

    1. 登陆 Flink 控制台,并进入对应的项目。
    2. 点击 作业开发 进入作业开发页面,选中需要配置的作业。
    3. 在作业开发页面右下侧点击 日志配置 进入配置页面。
      Image
  2. 开启 TLS 归档。

    1. 是否开启日志归档到 TLS 配置。开启日志归档后会展示后续的参数配置入口。

    Image

  3. 配置根日志级别。

    1. 配置根日志级别。
    2. 注意该配置在 TLS 归档和 Flink 平台日志同时生效。
    3. 修改为高日志级别后,可能导致无法排查问题。
  4. 配置类日志级别。

    1. 针对不同类配置日志级别,在 TLS 归档和 Flink 平台日志同时生效。
  5. 配置 TLS 自定义参数。

    1. TLS 日志采集器常见的参数如下。

参数名称

默认值

说明

接入信息

topicId

必填,无默认值

TLS 日志主题 ID,在 TLS 日志项目页面查看。
例如:
Image

region

必填,无默认值

服务所在 region。例如: cn-beijing/cn-shanghai/cn-guangzhou 等。

endpoint

必填,无默认值

必填,TLS 日志项目地址,在火山同 region 内可以使用私网地址,跨 region 写入需要使用公网地址,在 TLS 日志项目页面查看。
例如:https://tls-cn-beijing.ivolces.com

accessKeyId

必填,无默认值

TLS 服务归属账号的 AccessKey ID。

accessKeySecret

必填,无默认值

TLS 服务归属账号的 AccessKey Secret。

字段配置

timeZone

Asia/Shanghai

时间字段时区。

timeFormat

yyyy-MM-dd HH:mm:ss,SSS

时间字段格式。

layout.type

PatternLayout

日志输出格式,需配合 layout.pattern 同时使用。

layout.pattern

%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %-60c %x - %m%n

日志输出格式,需配合 layout.type 同时使用。

fields.{自定义字段}.type

自定义字段,可以用于增加一些固定 key-value 来区分不同的 Flink 作业。
其中 {自定义字段} 需要替换为唯一不同的名称,且不能和 Flink 内置关键字冲突(name,app,deployment,role,pod)。
需要 type、name、value 同时配合使用。
type 固定为 TLSField
name 为字段名称,不能和 Flink 默认字段重复,详细列表见 日志字段说明
value 为字段实际内容。

fields.{自定义字段}.name

fields.{自定义字段}.value

TLS 写入参数配置

totalSizeInBytes

104857600

单个 producer 实例能缓存的日志大小上限,默认为 100MB。

maxBlockMs

0

如果 producer 可用空间不足,调用者在 send 方法上的最大阻塞时间,默认为 0 秒。为了不阻塞打印日志的线程,强烈建议将该值设置成 0。

maxThreadCount

处理器个数

执行日志发送任务的线程池大小,默认为可用处理器个数。

maxBatchSizeBytes

524288

当一个 ProducerBatch 中缓存的日志大小大于等于 maxBatchSizeBytes 时,该 batch 将被发送,默认为 512 KB,最大可设置成 5MB。

maxBatchCount

4096

当一个 ProducerBatch 中缓存的日志条数大于等于 maxBatchCount 时,该 batch 将被发送,默认为 4096,最大可设置成 40960。

lingerMs

2000

一个 ProducerBatch 从创建到可发送的逗留时间,默认为 2 秒,最小可设置成 100 毫秒。

retryCount

10

如果某个 ProducerBatch 首次发送失败,能够对其重试的次数,默认为 10 次。
如果 retryCount 小于等于 0,该 ProducerBatch 首次发送失败后将直接进入失败队列。

maxReservedAttempts

3

该参数越大能让您追溯更多的信息,但同时也会消耗更多的内存。

  1. 保存配置,上线任务,重启任务后生效。

日志字段说明

Flink 独立任务日志归档到 TLS 后有以下默认字段。

字段名称

说明

level

日志级别。

location

日志打印语句的代码位置。

message

日志内容。

throwable

日志异常信息。
只有记录了异常信息,日志中才会展示该字段。

thread

线程名称。

time

日志打印时间。
支持通过 timeFormat 参数或 timeZone 参数配置 time 字段所呈现的格式和时区。

log

自定义日志格式。

__tag____client_ip__

日志采集侧 IP 地址。

__tag____receive_time__

TLS 接受日志时间。

job_name

Flink 任务名称。

deployment_id

Flink 任务上线后的唯一 ID。
当前控制台没有显示该 ID,大部分场景可以通过 job_name 来区分不同的作业,如果存在同名任务,可以在任务运维列表页面通过浏览器调试工具查看请求返回结果查找 deployment_id

application_id

Flink 任务运行中的实例 ID,作业每次启动会自动生成一个 ID。
可以在任务运维页面查看该 ID。

role

枚举类型:jobManager/taskManager
用于区分 Flink JobManager 和 TaskManager。

pod_name

日志所在 Pod 名称,用于区分多个 JobManager、TaskManager 实例。

使用案例

  1. 采集 WARN 级别以上日志到 TLS,减少 TLS 存储成本。增加下列配置。
filter.threshold.type: ThresholdFilter
filter.threshold.level: WARN
  1. 增加自定义字段,区分线上任务和测试任务。
fields.env.type: TLSField # 固定用法
fields.env.name: env # TLS 字段名
fields.env.value: test/pre/online # 给不同的任务配置不同的 value 来区分环境

相关链接
  • 建议为目标日志主题开启索引,便于检索分析处理后的数据。操作步骤请参考TLS 配置索引TLS 检索日志。
  • 数据加工任务开始运行后,日志服务会在服务日志中记录数据加工任务的执行状态与进度等数据,您可以在对应的日志主题中查看并分析相关日志数据。详细说明请参考服务日志字段
最近更新时间:2026.07.10 14:37:28
这个页面对您有帮助吗?
有用
有用
无用
无用