본문 바로가기

인프라,데이터/Elasticsearch, Logstash, Kibana

Logstash에서 SQS, Elasticsearch로 데이터가 들어가지 않을 때

[상황]
로그를 수집하는 과정에서 예상보다 굉장히 많은 로그가 Logstash에서 수집되어 SQS로 보내졌고, 그 과정에서 오버헤드가 생겨 SQS에서 제대로 처리할 수 없었다.

[에러 메시지] - 로그스태시
[WARN ] 2022-01-05 23:00:52.337 [[main]<sqs] sqs - SQS error ... retrying with exponential backoff {:queue=>"test_queue", :exception=>Seahorse::Client::NetworkingError, :message=>"Connection refused - Failed to open TCP connection to sqs.ap-northeast-2.amazonaws.com:443 (Connection refused - connect(2) for \"sqs.ap-northeast-2.amazonaws.com\" port 443)", :cause=>#<Errno::ECONNREFUSED: Connection refused - Failed to open TCP connection to sqs.ap-northeast-2.amazonaws.com:443 (Connection refused - connect(2) for "sqs.ap-northeast-2.amazonaws.com" port 443)>, :sleep_time=>8} [WARN ] 2022-01-05 23:01:00.430 [[main]<sqs] sqs - SQS error ... retrying with exponential backoff

[에러 메시지] - 엘라스틱서치
[o.e.m.j.JvmGcMonitorService] [master-1] [gc][1135] overhead, spent [267ms] collecting in the last [1s]

[해결 방법]
SQS 큐 - Purge를 눌러 대기 중인 메시지들을 삭제한다.

그러면 새 메시지가 깔끔하게 엘라스틱서치로 들어가고, 키바나에서 조회할 수 있다. 

 

참고 : https://aws.amazon.com/ko/about-aws/whats-new/2014/12/08/delete-all-messages-in-an-amazon-sqs-queue/#:~:text=To%20purge%20a%20queue%2C%20log,be%20cleared%20of%20all%20messages.