Work

[Kafka Connect] 참고 - Telegraf로 커넥트 메트릭 수집하기

sw_develop 2025. 2. 3. 21:42

1. jolokia agent 실행

  • 실행 위치 : 커넥트 실행 서버 내부

 

실행 방법

1) jolokia agent jar 다운로드

sudo wget https://repo.maven.apache.org/maven2/org/jolokia/jolokia-agent-jvm/2.0.0/jolokia-agent-jvm-2.0.0-javaagent.jar

 

2) docker-compose.yml 에 KAFKA_JMX_OPTS을 설정하여 커넥트 jar 실행 시 -javaagent 옵션 지정

 

ex) live 환경 docker-compose.yml

  • 위의 설정으로 컨테이너 실행 후 curl -X GET {서버 ip}:8778/jolokia/ 호출하여 실행 확인 가능

 

2. telegraf.conf 파일 내 jolokia agent input plugin 추가

  • 경로 : /etc/telegraf/telegraf.conf
[[inputs.jolokia2_agent]]
  urls = ["http://localhost:8778/jolokia"]
  name_prefix = "kafka.connect."

  [[processors.enum]]
    [[processors.enum.mapping]]
      field = "status"

      [processors.enum.mapping.value_mappings]
        stopped = -2
        paused = -1
        running = 0
        unassigned = 1
        failed = 2
        destroyed = 3

  [inputs.jolokia2_agent.tags]
    input_type   = "kafka-connect"

  [[inputs.jolokia2_agent.metric]]
    name         = "connectorMetrics"
    mbean        = "kafka.connect:type=connector-metrics,connector=*"
    paths        = ["connector-class", "connector-version", "connector-type", "status"]
    tag_keys     = ["connector"]

  [[inputs.jolokia2_agent.metric]]
    name         = "connectorTaskMetrics"
    mbean        = "kafka.connect:type=connector-task-metrics,connector=*,task=*"
    paths        = ["batch-size-avg", "batch-size-max", "offset-commit-avg-time-ms", "offset-commit-failure-percentage", "offset-commit-max-time-ms", "offset-commit-success-percentage", "pause-ratio", "running-ratio", "status"]
    tag_keys     = ["connector", "task"]

  [[inputs.jolokia2_agent.metric]]
    name         = "connectWorkerRebalanceMetrics"
    mbean        = "kafka.connect:type=connect-worker-rebalance-metrics"
    paths        = ["completed-rebalances-total", "connect-protocol", "epoch", "leader-name", "rebalance-avg-time-ms", "rebalance-max-time-ms", "rebalancing", "time-since-last-rebalance-ms"]

 

 

참고)

 

3. telegraf 재시작

  • telegraf.conf 파일 수정 후 재시작 필요함
sudo systemctl status telegraf
sudo systemctl restart telegraf