更新时间:2025-08-21 GMT+08:00

查看Kafka Topic日志

Topic日志记录Topic分区选举Leader的详情,包括选举Leader时间、选举Leader的Topic分区和Leader的选举次数等。本章节介绍如何在控制台查看Topic日志。

Topic日志存储在云日志服务(Log Tank Service,简称LTS)中,由LTS提供查询功能。

约束与限制

  • 老实例不支持Topic日志功能,具体以控制台为准。
  • Topic日志默认存储时间为七天,如果需要延长保留天数,可以在LTS控制台修改日志组的存储时间
  • Topic日志开启后会在LTS控制台创建对应的日志组、日志流和仪表盘。使用期间按照日志量收费,收费标准请参照LTS价格详情
  • 频繁产生Topic日志,可能会影响实例性能。
  • 不同Kafka实例使用相同的日志组和日志流保存Topic日志时,在每个Kafka实例中都能看到使用同一个日志组和日志流的所有Kafka实例的Topic日志。

前提条件

  • 开启Topic日志需要您的账号拥有LTS服务的创建日志组和日志流的权限。
  • Kafka实例处于“运行中”时,才能开启/关闭Topic日志。

开启Topic日志

  1. 登录Kafka控制台
  2. 在管理控制台左上角单击,选择Kafka实例所在的区域。
  3. 单击Kafka实例的名称,进入实例详情页面。
  4. 在左侧导航栏选择“分析与诊断 > Topic日志”,进入“Topic日志”页面。
  5. 单击“开启日志”,弹出“开启日志”对话框。
  6. 单击“确定”,弹出“日志配置”对话框。
  7. 根据实际情况决定是否开启日志配置,单击“确定”。自动跳转到“后台任务管理”页面,开启日志的任务状态为“成功”时,表示开启Topic日志成功。

    • 不开启:LTS后台会自动创建一个日志组以及对应的日志流。
    • 开启:选择存储日志文件“topic.log”的日志组和日志流。您还可以单击右侧的“查看日志组”,跳转到LTS控制台,查看或创建日志组和日志流。

查看Topic日志

  1. 登录Kafka控制台
  2. 在管理控制台左上角单击,选择Kafka实例所在的区域。
  3. 单击Kafka实例的名称,进入实例详情页面。
  4. 在左侧导航栏选择“分析与诊断 > Topic日志”,进入“Topic日志”页面。
  5. 在“日志查询”页签,查看Topic日志。

    如果您需要搜索日志,请参考进入搜索LTS日志页面进行操作。

    Topic日志示例如下:

    {
        "level": "INFO",
        "timestamp": "2024-12-27 17:26:13,361",
        "message": {
            "topicPartition": "topic-0",
            "targetState": "OnlinePartition",
            "leaderAndIsr": "LeaderAndIsr(leader=1, leaderEpoch=3, isr=List(1, 0), leaderRecoveryState=RECOVERED, partitionEpoch=3)",
            "partitionState": "OnlinePartition",
            "topic": "topic",
            "type": "ELECT_LEADER"
        }
    }
    
    {
        "level": "INFO",
        "timestamp": "2024-12-27 17:26:13,491",
        "message": {
            "leader": "1",
            "startOffset": "0",
            "topic": "topic",
            "type": "MAKE_LEADER",
            "topicPartition": "topic-0",
            "epoch": "3"
        }
    }

    参数说明如表1所示。

    表1 Topic日志参数说明

    参数名称

    说明

    level

    Topic日志的等级,只有“INFO”一种等级。

    timestamp

    Topic分区选举Leader或确定Leader的时间。

    topicPartition

    Topic分区。

    targetState

    目标状态,取值如下:

    • NewPartition:表示分区处于新建状态。
    • OnlinePartition:表示分区处于正常工作状态。
    • OfflinePartition:表示分区处于下线状态。
    • NonExistentPartition:表示分区不存在或被删除。

    leaderAndIsr

    leaderAndIsr请求的信息。

    partitionState

    分区状态,取值如下:

    • NewPartition:表示分区处于新建状态。
    • OnlinePartition:表示分区处于正常工作状态。
    • OfflinePartition:表示分区处于下线状态。
    • NonExistentPartition:表示分区不存在或被删除。

    topic

    Topic名称。

    type

    Leader所处的阶段,取值如下:

    • ELECT_LEADER:选举Leader。
    • MAKE_LEADER:确定Leader。

    leader

    Leader所在分区。

    startOffset

    Leader在对应Epoch上写入第一条消息的Offset。

    每个Epoch对应一个startOffset。

    epoch

    Leader的选举次数,初始值为0。Leader每发生一次选举,Epoch值加一。

关闭Topic日志

  1. 登录Kafka控制台
  2. 在管理控制台左上角单击,选择Kafka实例所在的区域。
  3. 单击Kafka实例的名称,进入实例详情页面。
  4. 在左侧导航栏选择“分析与诊断 > Topic日志”,进入“Topic日志”页面。
  5. 在页面右上角单击“关闭日志”,弹出确认关闭对话框。
  6. 单击“确定”,自动跳转到“后台任务管理”页面,“状态”为“成功”时,表示关闭Topic日志成功。

    关闭Topic日志只是停止Topic日志上报功能,LTS控制台的日志组和日志流仍然保留,还会继续收费,如不需要保留该日志,可以在LTS控制台删除对应的日志组日志流