주문하다
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe -group tuevGroup | grep mis.merchantCtpCredential
다음과 같은 제목 없는 출력을 생성합니다.
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
tuevGroup mis.merchantCtpCredentials 1 231 231 0 consumer-tuevGroup-2-00e2ed7d-0fdc-4303-bc06-0e8f50b1dc00 00.24.242.16/00.24.242.00 consumer-tuevGroup-2
tuevGroup mis.merchantCtpCredentials 5 182 182 0 consumer-tuevGroup-2-00e2ed7d-0fdc-4303-bc06-0e8f50b1dc00 00.24.242.16/00.24.242.00 consumer-tuevGroup-2
모든 행에 대한 총 LAG 열 수를 가져오고 싶으므로 다음과 같이 결과를 awk로 파이프합니다.
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe -group tuevGroup |
grep mis.merchantCtpCredentials |
awk '{sum += $5} END {print sum}'
그러나 이것은 작동하지 않습니다. 제출하면 grep mis.merchantCtpCredential
모든 행에 대한 전체 결과를 얻을 수 있지만 필터링되지는 않습니다.
내가 여기서 뭘 잘못하고 있는지 궁금합니다. 도움을 주시면 대단히 감사하겠습니다.
답변1
도움을 주신 @unxnut, @JimL 및 @camh에게 감사드립니다. 명령에 두 가지 문제가 있습니다.
- 잘못된 열을 언급하고 있었습니다(예: $6 대신 $5).
- 이 명령은 처음에 grep 사용이 중복되고 단일 awk 호출로 대체될 수 있기 때문에 차선책입니다.
이 명령의 최종 버전은 다음과 같습니다.
./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe -group tuevGroup | awk '$2 == "mis.merchantCtpCredential" {sum += $6} END {print sum+0}'