You need to enable JavaScript to run this app.
导航
配置作业日志归档到 TLS
最近更新时间:2024.11.14 20:36:55首次发布时间:2024.11.14 20:36:55

您可以将作业日志配置输出到 TLS 。使用 TLS 强大的检索告警能力提升日志使用体验。本文介绍如何配置 Flink 作业日志输出到 TLS。

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

日志字段说明

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 实例。

配置日志归档到 TLS
  1. 日志配置入口。
    Image

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

    1. 是否开启日志归档到 TLS 配置。开启日志归档后会展示后续的参数配置入口。
  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

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

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

相关链接
  1. TLS 配置索引。
  2. TLS 检索日志。
  3. TLS 配置日志告警。