kafka_server_kafkaserver_brokerstate

发布时间:2025-06-24 18:53:27  作者:北方职教升学中心  阅读量:106


1, brokerId=0, host=broker0.example.com, port=90922, brokerId=1, host=broker1.example.com, port=90923, brokerId=2, host=broker2.example.com, port=9092。

问题排查。是 Kafka 集群中每个 Broker 状态指标。

使用 Kafka Admin API 列出所有 Broker:

示例代码(Java 或 Python)

Java 示例。.。Broker 正在等待被控关闭(可能是因为集群重平衡或手动停止)。PendingControlledShutdown。

import。
  • kafka_server_kafkaserver_brokerstate。(。Broker 正常运行�并已加入集群并提供服务。 4。/brokers/ids。Starting。.。.。

    下列操作命令可列出 Kafka 集群中的一切 Broker:

    kafka-broker-api-versions.sh --bootstrap-server。apache。2。nodes。来查看各个 Broker 的状态。

    kafka_server_kafkaserver_brokerstate。kafka。 <zookeeper_address。bootstrap_servers。.。.。>

    输出示例。

  • 状态值为。clients。.。}。.。.。0NotRunning。如果某个 Broker 状态值不是。

  • 每个 Broker 数字表示࿰的状态c;其含义如下::
  • 值。;import。java。print。 =admin_client。
  • 检查 Kafka 日志文件(server.log。}。
    1. 单个 Broker 状态:

      kafka_server_kafkaserver_brokerstate{instance="broker1:9092"}。kafka。
  • 状态名称。
    • 状态值为。)是否有异常。

    说明。admin。;}。的 Broker 数量,假如少于预期 Broker 数量,触发集群健康报警。clients。

    使用场景。表示正常状态。util。可通过此指标进行监控 Kafka Broker 运行状态,通常用于 Prometheus 或在其它监控工具中。

  • 集群异常状态 Broker:

    kafka_server_kafkaserver_brokerstate != 3。)。Broker ￰正在启动c;但还没有完全启动。kafka。"Number of Brokers:",len。

    要查看 Kafka 集群中 Broker 数量,可采用以下方法:


    方法 1:通过 Kafka 自带命令查看。 recovery.dirty.log.start.offset。;import。org。(RecoveringFromUncleanShutdown):

    • 说明 Broker 可能是因为之前的异常关闭(例如,(。有其它要求或环境限制,请告知,我可以提供更合适的解决方案。

    结果表示有 3 个 Broker。describe_cluster。
  • 状态值为。

  • 检查。
  • 统计状态为。RunningAsBroker。 =KafkaAdminClient。

    Python 示例。.。.。 <broker_address。磁盘)是否不足。.。4。Prometheus 或者类似的工具�可直接查看 Broker 数量。RecoveringFromUncleanShutdown。

  • 监控集群健康:

    • 通过持续监控该指标󿀌能否快速检测集群中是否有能力? Broker 处于异常状态󿀌例如,1。(PendingControlledShutdown):

      • 说明 Broker 正在执行控制和关闭操作,可能是因为手动停止 Broker 或触发重平衡。


        在上述方法中�使用 Kafka CLI 或 Zookeeper 这是最快的方法。


        指标含义。>--list。.。

        kafka_server_kafkaserver_brokerstate。,可能需要调查。apache。(。以及相关日志的恢复进度。 0(NotRunning):

        • 确认 Broker 过程是否已经开始。

        1. 检测 Broker 状态:

          • 值为。未运行、

        在这里插入图片描述

        方法 5:通过 Kafka Topic 命令检查 Broker 信息。e。)。="broker_address:9092")。内存、

        根据列出的 Broker ID,计算 Broker 的总数量。

      • 确认是否是预期的关闭操作。输出示例。.。;public。brokers。org。

        通过列出的 Topic 可以确认描述 Broker 数量。admin。admin。 2。)。>

      • 查询 Broker 节点:
        ls。

  • Prometheus 示例查询。KafkaBrokers。
    [0, 1, 2]。正在恢复等。

    方法 3:通过 Kafka Admin API 查看。printStackTrace。.。KafkaAdminClientadmin_client。brokers。Broker 正在从异常关闭状态中恢复。 import。


    方法 2:通过 Zookeeper 查看(如果使用 Zookeeper)

    如果 Kafka 使用 Zookeeper,可直接查询 Zookeeper 获取 Broker 列表:

    1. 登录到 Zookeeper CLI:
      zookeeper-shell.sh。用于标识 Kafka Broker 目前状态,其值通常是一个数字。)。

    2. 如果在具体使用中遇到问题,可以提供更多的上下文,我可以帮助分析xff01的具体场景;

      3。
  • 正常运行的 Broker 数量:

    count(kafka_server_kafkaserver_brokerstate == 3)。

    from。Properties。AdminClient。
  • 例如,在 Prometheus 中,查询指标。 kafka_server_kafkaserver_brokerstate。class。{。AdminClientConfig。(。3。.。断电或强制杀死过程)进入恢复状态。 3。 3。
  • 以下命令可以间接获得 Broker 信息:

    kafka-topics.sh --bootstrap-server。

    方法 4:通过监控工具(如 Kafka Manager 或 Prometheus)

    1. 如果使用 Kafka Manager、.。
    2. 检查服务器资源(CPU、触发报警。(。
    3. 触发报警:

      • 设置报警规则󿀌如:
        • kafka_server_kafkaserver_brokerstate != 3。Broker 未运行或已停止。 <broker_address。