-
[Kafka] - 19. Kafka GUI(AKHQ)개발/Kafka 2022. 8. 24. 14:54
매번 CLI 명령어를 치거나 관리 대는 대상을 확인하기 어렵기 때문에 GUI가 필수적입니다.
과거에는 CMAK라는 Opensource를 사용하면 되었지만, 현재는 지원하지 않습니다.
AKHQ라는 유사한 Kafka GUI 툴을 사용하여 볼 예정입니다.
1. Install AKHQ
- Docker-compose에 아래 내용을 Broker의 IP:Port에 맞추어서 설정하여 줍니다.
akhq: image: tchiotludo/akhq:latest hostname: akhq depends_on: - kafka-1 environment: AKHQ_CONFIGURATION: | akhq: connections: kafka: properties: bootstrap.servers: IP:PORT ports: - 8080:8080
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES da3fa7e21368 tchiotludo/akhq:latest "docker-entrypoint.s…" 58 minutes ago Up 58 minutes 0.0.0.0:8080->8080/tcp kafka-akhq-1 cb2e8999ec16 confluentinc/cp-kafka:6.2.0 "/etc/confluent/dock…" 58 minutes ago Up 58 minutes 9092/tcp, 0.0.0.0:29092->29092/tcp kafka-kafka-2-1 8a3ee271469d confluentinc/cp-kafka:6.2.0 "/etc/confluent/dock…" 58 minutes ago Up 58 minutes 9092/tcp, 0.0.0.0:39092->39092/tcp kafka-kafka-3-1 0ace91840f77 confluentinc/cp-kafka:6.2.0 "/etc/confluent/dock…" 58 minutes ago Up 58 minutes 9092/tcp, 0.0.0.0:19092->19092/tcp kafka-kafka-1-1 45828848e33b confluentinc/cp-zookeeper:6.2.0 "/etc/confluent/dock…" 13 hours ago Up 58 minutes 2181/tcp, 2888/tcp, 0.0.0.0:32181->32181/tcp, 0.0.0.0:42888->42888/tcp, 3888/tcp, 0.0.0.0:43888->43888/tcp kafka-zookeeper-3-1 ec5bdd5c24e5 confluentinc/cp-zookeeper:6.2.0 "/etc/confluent/dock…" 13 hours ago Up 58 minutes 2181/tcp, 2888/tcp, 0.0.0.0:22181->22181/tcp, 0.0.0.0:32888->32888/tcp, 3888/tcp, 0.0.0.0:33888->33888/tcp kafka-zookeeper-2-1 863c31eaab10 confluentinc/cp-zookeeper:6.2.0 "/etc/confluent/dock…" 13 hours ago Up 58 minutes 2181/tcp, 2888/tcp, 0.0.0.0:12181->12181/tcp, 0.0.0.0:22888->22888/tcp, 3888/tcp, 0.0.0.0:23888->23888/tcp kafka-zookeeper-1-1
2. AKHQ
Docker-compose를 실행한 뒤, http://localhost:8080/ URL을 통하여 접속하여 줍니다.
아래 그림과 같이 나타나면 성공입니다.
2-1) Nodes(Broker)
- 연결된 Node(Broker)들을 확인하여 줍니다.
- 3개의 Broker로 구성하였기 때문에 아래와 같이 나타납니다.
- 설정을 들어가 Broker의 설정들을 변경할 수 있습니다.
- log.cleaner.backoff.ms 값을 15초에서 10초로 변경하여 보겠습니다.
$ docker logs kafka-kafka-1-1 | grep "log.cleaner.backoff.ms"
2-2) Produce
- Chelsea Topic을 생성
- 3개의 mason mount / kante / james Message를 던졌습니다.
- producer로 Message 생성 결과 Count 값이 3개로 늘어난 것을 볼 수 있습니다.
$ ./kafka-console-producer --bootstrap-server 172.28.128.1:19092 --topic Chelsea
2-3) Consumer
- Chelsea Topic을 Consume할 Group을 생성
- Consume group이 초기에는 없었지만, chelsea_group 생성
- lag=0
$ ./kafka-console-consumer --bootstrap-server 172.28.128.1:19092 --topic Chelsea --group chelsea_group --from-beginning
2-4) Live tail
- Topic을 Monitoring 하기 위한 용도
- Produce된 Message들이 실시간으로 나타난다.
2-5) settings
- Topic Message(data)를 어떤 방식으로 나타날지 선택이 가능하다.
- 정렬 방식을 통해 원하는 방향으로 데이터를 볼 수 있다.
'개발 > Kafka' 카테고리의 다른 글
[Kafka] - 21. ELK(Elasticsearch, kibana, logstash) (0) 2022.08.25 [Kafka] - 20. Filebeats to Kafka(Log produce) (0) 2022.08.25 [Kafka] - 18. KAFKA_LISTENERS vs KAFKA_ADVERTISED_LISTENERS (0) 2022.08.23 [Kafka] - 16. Kafka 설치 (0) 2022.08.18 [Kafka] - 17. Docker-compose Kafka 개발환경 구축 및 테스트 (0) 2022.08.11