Lostash에서 input
으로 kafka를 사용하고 있었는데 다음과 같은 오류가 나왔다.
[WARN ][org.apache.kafka.common.utils.AppInfoParser] Error registering AppInfo mbean
javax.management.InstanceAlreadyExistsException: kafka.consumer:type=app-info,id=logstash-1
at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:436) ~[?:?]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1855) ~[?:?]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:955) ~[?:?]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:890) ~[?:?]
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:320) ~[?:?]
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522) ~[?:?]
중복되는 설정들이 많아 합치면서 pipeline
을 사용하도록 수정했는데
Logstahs가 설정 파일을 각각의 pipeline
마다 하나의 파일로 합쳐 사용하여
pipeline
에 설정된 client_id
가 서로 중복되어 발생한 문제였다.
이전에는 pipeline
을 사용하지 않고 개별로 설정하여 사용했는데 kafka도 개별로 사용하고 있었다.
이때 문제가 되지 않았던 것은 Logstash가 설정 파일을 하나의 파일로 만들어서 사용하고
client_id
가 같아도 자동으로 뒤에 숫자를 붙여 다른 client_id
로 동작했기 때문이었다.
다음과 같이 client_id
를 설정할 때 postfix를 붙여서 pipeline
마다 다른 client_id
를 갖도록 수정했다.
input {
kafka {
bootstrap_servers => "kafka_server:9092"
client_id => "logstash-postfix"
...
}
}
더이상 해당 오류가 발생하지 않고 kafka로부터 데이터를 잘 받아오는 것을 확인할 수 있었다.
'Log' 카테고리의 다른 글
[Log] NoNodesAvailable 에러 해결 (0) | 2020.02.27 |
---|---|
[Log] Spark ElasticSearch Parquet (0) | 2020.01.25 |
[Log] Logstash Pipeline 사용하기 (0) | 2020.01.25 |
[Log] Fluentd 성능 튜닝 (0) | 2020.01.25 |
[Log] Fluentd Kafka Logstash 연동 (0) | 2020.01.25 |