(ELK 7.2 버전에서 테스트 되었습니다.)
이미 logstash와 elasticsearch가 설치되어 있다고 가정하고 진행하겠습니다.
7.x에 적용된 SQS plugin 3.x 버전은 logstash 5.0부터 적용되었으니 5.0 미만 버전 사용자분은 공식 문서를 참고하시기 바랍니다.
https://www.elastic.co/guide/en/logstash/current/plugins-inputs-sqs.html
Sqs input plugin | Logstash Reference [7.5] | Elastic
Plugin version: v3.1.2 Released on: 2018-11-12 Changelog For other versions, see the Versioned plugin docs. For questions about the plugin, open a topic in the Discuss forums. For bugs or feature requests, open an issue in Github. For the list of Elastic s
www.elastic.co
공식 문서는 위 링크를 참고하시면 됩니다.
logstash/config에 sqs-pp.config 파일을 만들고 아래 내용을 추가합니다.
input {
sqs {
queue => "queue_name"
region => "your_region"
threads => 2
access_key_id => "your_access_key_id"
secret_access_key => "your_secret_access_key"
}
}
filter {
.
.
}
output {
elasticsearch{
hosts => ["your_host:port"]
index => "logstash-sqs-%{+YYYY.MM}"
}
}
queue에는 arn이나 endpoint가 아닌 이름만 기록하면 됩니다. ( 예) sqs_test.fifo )
위에서 read 혹은 전체 권한을 할당한 사용자의 access_key_id와 secret_access_key만 추가하면 sqs의 메세지를 손쉽게 가져올 수 있습니다. SQS에 lambda 트리거를 사용하기도 했는데, 이 방법이 더 깔끔하네요.
테스트 실행은 아래와 같이 할 수 있습니다.
bin/logstash --path.data ./data-sqs -f config/sqs_pp.config
이상입니다. :)
'개발 이야기 > Elasticsearch' 카테고리의 다른 글
precision_threshold 이야기 (0) | 2020.06.03 |
---|---|
Logstash sqs plugin 설정 (0) | 2020.02.06 |
logstash tcp로 데이터 전송 시 손실없는 데이터 전달 흐름 설계 (0) | 2020.01.15 |
좌충우돌 ELK 7.1.1 롤링 업그레이드 (0) | 2019.06.27 |
ES의 shard initialize 에 대해... (0) | 2019.01.31 |
ES QueryDSL에서 aggregation에 order 설정 제한 (0) | 2019.01.03 |