logstash를 사용하다보면 pipeline을 여러개 실행해야 하는 경우가 있다.
logstash의 multi pipeline을 적용하면 각각의 파이프라인 마다 다른 동작을 적용할 수 있다.
예를들어 6000번 포트로는 input을 http요청으로 처리해서 output을 s3로 보내고, 6001번 포트로는 기존에 사용하던 elk stack을 사용한다거나 할 수 있다.
기존에 logstash는 multi pipeline을 지원하지 않고, 6.0 부터 지원하기 시작했다.
만약 본인의 logstash 버전이 6.0 이하라면 이 방법은 사용할 수 없다. logstash를 업그레이드 하거나 지우고 6.0 이상 버전으로 재설치 하자.
logstash를 설치하는 방법은 아래 글을 참고하자.
환경
ubuntu 18.04
logstash 7.17.4
logstash에 multi pipeline 적용
아래 예시는 MacOS에서의 예시이다. 하지만 ubuntu나 다른 OS환경에서도 logstash의 설정은 동일하기 때문에 경로만 다르다.
예를들어 logstash를 그냥 설치했다면 기본 경로는 아래와 같다. logstash안에 있는 같은 파일명만 찾아서 수정해주면 된다.
# MacOS에서
/opt/homebrew/Cellar/logstash-full/(logstash의 버전)/libexec/config
# ubuntu에서
/usr/share/logstash/pipeline
1. conf파일 작성
- 각각의 pipeline에 대해서 conf파일을 작성해준다.
- 이 문서에서는 test.conf와 test2.conf를 작성한다.
test.conf
test.conf는 5001번 포트로 들어온 요청을 s3로 보내는 요청을 한다.
test2.conf
test.conf는 5002번 포트로 들어온 요청을 s3로 보내는 요청을 한다.
2. pipeline 정의
pipelines.yml 파일을 아래와 같이 수정한다.
- - 하나당 하나의 파이프라인을 가리키며 각각 설정을 다르게 할 수 있다.
- pipeline.id는 파이프라인의 아이디를 가리킨다.
- path.config는 해당 파이프라인이 사용할 .conf파일을 명시해줘야 한다.
- 다른 추가 설정을 원한다면 각각의 파이프라인에 별도의 설정을 지정할 수 있다.
- path.config에는 경로를 지정해줘야 한다.
3.logstash 재시작
logstash 재시작후 요청을 보내보면 제대로 동작하는것을 확인할 수 있다.
'기타' 카테고리의 다른 글
[MacOS] MacOS에서 네트워크 속도 테스트하는 방법 (Network Link Conditioner) (0) | 2022.07.24 |
---|---|
[MacOS] Xcode 버전 확인 (Xcode version check) (0) | 2022.07.24 |
[MacOS] M1칩에서 flutter 설치하기 (0) | 2022.06.13 |
[Logstash] docker로 logstash 설치하기 (0) | 2022.06.12 |
[MacOS] M1칩에서 logstash 설치하기 (0) | 2022.06.02 |