ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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)를 어떤 방식으로 나타날지 선택이 가능하다.
    • 정렬 방식을 통해 원하는 방향으로 데이터를 볼 수 있다.

    댓글

Designed by Tistory.