구성 : 일반 EC2 (non container)
[ 설명 ]
지난 kafka container 환경 수업 시 Kafdop 이라는 툴을 사용했어서 AWS에 설치해보았다.
오픈소스이며 지속적으로 업데이트도 되는 것으로 보여진다.
서버를 접근하지 않아도 kafka broker, topic 확인 및 topic 생성/삭제/로그 확인 등의 컨트롤을 할 수 있다.
linux에 익숙하지 않거나, bash shell을 일차적으로 사용하지 않는(?) container 환경에서 사용하기에 괜찮은 툴로 보여진다.
[ 설치 ]
- 설치 서버 : AWS monitor 서버이며, container 환경이 아니라 기 구성된 jar 파일 download
- 버전 : 최신 버전은 4.0.1로 JAVA 17 이상에서 지원 되는 것으로 확인 되었고, 현재 kafka가 jdk 11로 구성 되어있어 이전 버전인 3.31.0로 설치
- 파일 위치 : /monitoring/src
- start/stop 스크립트 및 로그파일 위치 : /monitoring/kafdrop
- port : 설명의 기본 포트는 9000, 해당 서버 구성시에는 5678 로 구성 했다.
[ 구성 ]
main, broker, topic 3가지로 볼 수 있도록 구성 되어 있다.
각 화면 별 들어있는 내용에 대한 설명은 하단 접은 글 참고.
## 화면 사진 ###
main |
|
broker | |
topic |
## main 설명
더보기
[ Cluster Overview ]
- bootstrap server : 기동 시 지정하는 것과 연관 되는 것으로 판단 됨
- Total topics : broker에서 조회 되는 전체 topic 개수
- Total partitions : broker에서 조회 되는 전체 파티션 개수
- Total preferred partition leader : 파티션들에 대한 리더 매칭율 내용으로 판단 됨
- Total under-replicated partitions : 복제가 끊긴 파티션 개수로 판단 됨
[ broker 정보 ]
- ID : kafka broker ID. server.properties에 지정된 ID와 동일
- Host : 서버 호스트명
- Port : kafka 서비스 포트
- Rack : 뭔지 모르겠음.
- Controller : controller node 정보
- Number of partitions : 브로커별 토픽 파티션 리더 보유수/보유율 로 판단 됨.
[ 토픽 정보 ]
- Name : 토픽명
- Partitions : 해당 토픽이 가지고 있는 파티션 개수
- %Preferred : 토픽 리더 매칭율로 판단 됨
- # Under-replicated : 복제가 끊긴 파티션 개수로 판단 됨
- Custom cofnig : 뭔지 모르겠음.
[ 비고 ]
- topic을 해당 페이지에서 생성할 수 있음.
- 현재 사용하고 있진 않지만 ACL로 관리되는 토픽 리스트를 따로 볼 수 있는 것 같음
- 토픽별 상세 정보까지 보여줌. (파티션 리더, offset 등)
- grafana 처럼 그래프 형태로는 제공되지 않음.
## broker 설명 ##
더보기
[ Broker Overview ]
- 위 main 설명과 동일하여 생략
[ Topic Detail ]
- Topic : 토픽명
- Topic Partitions : 해당 토픽에 해당되는 파티션 개수
- Broker Partitions : 해당 broker에 있는 토픽 파티션 개수
- Partition IDs : 해당 브로커가 리더인 파티션의 번호
## topic 설명 ##
더보기
[ View Messages ]
- 파티션 폴더에 저장되는 로그파일을 파티션별로 확인할 수 있다.
- 조회 옵션 중 key format, message format 이 있는데 별도 포맷을 지정하지 않아 default로만 확인함.
- offset, key, timestamp, headers 항목으로 나오며, timestamp가 human readable 형태로 나와 꽤 편하다. 별도 캡쳐는 하지 않았다.
[ Overview ]
- 일부 내용 main 설명과 동일하여 생략
- Total available messages : produce 된 message의 수 인 듯 하다.
[ Configuration ]
- kafdrop을 실행하기 전에 unclean.leader.election.enable 값을 수정했었는데, 그래서 조회가 되는건지 아니면 default로 저거 하나만 나오는건진 잘 모르겠다.
[ Partition Detail ]
- Partition : 파티션 번호
- First Offset : log파일 기준 produce 된 데이터의 첫 번째 offset 값
- Last Offset : 마지막으로 찍힌 offset +1 값.
- size : Last Offset - First Offset으로, 들어온 데이터의 건수로 판단된다.
- Leader Node : 해당 파티션의 leader 인 broker의 번호
- Replica Node : 해당 파티션의 복제본을 갖고 있는 broker의 번호 *
- In-sync Replica Nodes : 복제/동기화 대상 broker 번호 *
- Offline Replica Nodes : 복제/동기화 노드들 중 offline(중단) 된 broker 번호
* partition이 1개이고 복제가 없는 경우 leader node ~ in-sync 까지 동일한 broker 번호를 출력한다.
- preffered Leader : 토픽 리더 유무로 판단 된다.
- Under-replicated : 복제가 끊긴 파티션 개수로 판단 됨
[ consumers ]
- Group ID : 해당 토픽의 데이터를 가져가는 consumer의 group id 정보
- Combined Lag : LAG(Latest Available Offset) 값으로 판단 됨.
[ 비고 ]
- Kafdrop으로 topic 생성/삭제 가능함.
- 현재 우리쪽에서는 벼로 구성/사용하고 있진 않지만 ACL로 관리되는 토픽 리스트를 따로 볼 수 있는 것 같음
- 토픽별 상세 정보까지 보여줌. (파티션 리더, offset 등)
- grafana 처럼 그래프 형태로는 제공되지 않음.
728x90
'업무 > kafka zookeeper' 카테고리의 다른 글
[작성 예정] AWS kafka 구성 (0) | 2024.09.13 |
---|---|
apache kafka :: kraft (0) | 2024.09.12 |
[kafka][zookeeper] min.insync.replicas (0) | 2024.04.02 |
[업무][kafka] 설치 구성 가안 (0) | 2024.04.01 |
[zookeeper] snapshot data(version-2) 정리 (update 240402) (0) | 2024.03.21 |