반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- s3
- logstash
- mariadb
- 설정
- Python
- build
- Kibana
- Linux
- AWS
- MySQL
- docker
- Ai
- 엘라스틱서치
- 영어
- sample
- error
- unity
- ChatGPT
- JS
- Es
- API
- 유니티
- elasticsearch
- MSSQL
- Windows
- nodejs
- JavaScript
- ssh
- 구글
Archives
- Today
- Total
가끔 보자, 하늘.
윈도우 Logstash 에서 Kinesis 연동하기 본문
일반적으로 linux에서 logstash를 운영하지만 테스트를 위해 windows에서 실행해 봤습니다.
AWS 계정 설정
c:\users\사용하는계정\.aws에 config , credentials 파일을 생성합니다.
config파일에는 아래와 같이 default resion을 설정합니다.
[default]
region = ap-northeast-2
credentials 파일에는 kinesis에 접근 가능한 인증정보를 삽입합니다.
[default]
aws_access_key_id = access_key_id_from_iam_account
aws_secret_access_key = access_key_id_from_iam_account
kinesis 플러그인 설치
logstash 플러그인 툴로 아래와 같이 설치할 수 있습니다.
bin/logstash-plugin install logstash-input-kinesis
logstash의 logstash.yml 옵션 중 리로드 옵션을 아래와 같이 활성화 합니다. 테스트를 위해 config 파일 수정 후 재시작할 필요없이 자동 갱신하도록 합니다.
.
.
config.reload.automatic: true
config.reload.interval: 5s
.
.
conf 파일 설정
config파일은 아래와 유사하게 설정하시면 됩니다. 이름은 kinesis_pipeline.conf로 저장한다고 가정하겠습니다.
input {
kinesis {
kinesis_stream_name => "kinesis_to_es"
region => "ap-northeast-2"
codec => json { }
}
}
output {
elasticsearch {
hosts => ["http://x.x.x.x:9200"]
index => "test-%{+YYYY.MM.dd}"
#user => id
#password => pw
}
}
실행
테스트 용이라 config 파일의 잦은 수정/변경이 있을 수 있어 pipelines.yml 사용없이 command에 config파일명을 옵션으로 지정합니다. 윈도우에서는 /bin/logstash.bat 배치 파일로 실행 가능합니다.
.\bin\logstash.bat --path.data ./data -f .\config\kinesis_pipeline.conf
기존에는 linux에서만 사용했었는데, 테스트를 위해 제 개발 PC에 설치/테스트를 위해 작업하면서 같이 간단히 정리해 보았습니다.
참고할 사항들
- logstash를 처음 실행하기 전 kinesis의 데이터는 읽어오지 않습니다.
- 한 번 실행되면 마지막 읽어온 데이터 id를 기억합니다. 이후 logstash가 중지될 경우 마지막 읽어온 데이터 id를 기준으로 이후 데이터를 모두 읽어옵니다.
- kinesis에서 특별한 설정을 하지 않았다면 하루가 지난 데이터는 모두 삭제됩니다. 중요하다면 별도 보관 일자를 설정해야 하며, 7일 보관을 기준으로 70~80% 정도의 비용이 증가합니다.
- SQS 등의 큐 서비스와 달리 kinesis에 기록된 데이터는 지정한 기일이 지나기 전에는 record를 읽어와도 삭제되지 않습니다.
반응형
'개발 이야기 > 인프라 구축 및 운영' 카테고리의 다른 글
linux 환경 변수 세팅하는 방법 (0) | 2021.05.17 |
---|---|
mariadb(mysql) 이중화 구성 (0) | 2021.04.08 |
Jenkins 및 Jenkins 콘솔에서 한글 깨짐 현상 수정 (0) | 2021.03.24 |
windows + Jenkins + Bonobo git server+ slack (0) | 2021.03.23 |
ES Cluster Nodes Rolling Upgrade 절차 정리 (0) | 2021.02.10 |