Categories
DevOps

How to inspect Kafka broker configuration

Inspect Kafka broker configuration using command-line utilities.

Inspect broker configuration related to leader rebalance on a first broker.

$ bin/kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-name 1 --describe --all | grep "leader\|All"
All configs for broker 1 are:
  auto.leader.rebalance.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.leader.rebalance.enable=true}
  leader.imbalance.check.interval.seconds=300 sensitive=false synonyms={DEFAULT_CONFIG:leader.imbalance.check.interval.seconds=300}
  unclean.leader.election.enable=false sensitive=false synonyms={DEFAULT_CONFIG:unclean.leader.election.enable=false}
  leader.imbalance.per.broker.percentage=10 sensitive=false synonyms={DEFAULT_CONFIG:leader.imbalance.per.broker.percentage=10}

Inspect broker configuration related to the automatic topic creation.

$ bin/kafka-configs.sh --bootstrap-server localhost:9092  --entity-type brokers   --describe --all | grep "auto.create.topics\|All"
All configs for broker 1 are:
  auto.create.topics.enable=false sensitive=false synonyms={STATIC_BROKER_CONFIG:auto.create.topics.enable=false, DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 2 are:
  auto.create.topics.enable=false sensitive=false synonyms={STATIC_BROKER_CONFIG:auto.create.topics.enable=false, DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 3 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 4 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 5 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}

This output indicates a major issue as static configuration should not differ between brokers. Fix it.

Static configuration should be the same across brokers.

$ ./kafka-configs.sh --bootstrap-server localhost:9092  --entity-type brokers --describe --all | grep "auto.create.topics\|All"
All configs for broker 1 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 2 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 3 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 4 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}
All configs for broker 5 are:
  auto.create.topics.enable=true sensitive=false synonyms={DEFAULT_CONFIG:auto.create.topics.enable=true}