Windwos 10에서 Docker Compose로 TLS가 적용된 Elastic Cluster 구성 - Logstash 연결 (7.16.3 버전)
사전 준비 : Docker 설치, Docker Compose로 TLS가 적용된 Elastic Cluster 구성
지난 포스팅에서는 Windows OS에서 Docker-Compose를 사용하여 SSL/TLS가 적용된 Elasitcsearch Cluster를 구축하는 방법에 대해 소개를 했다. 이번 포스팅에서는 구축한 Elasticsearch Cluster에 Logstash를 연결하여 데이터를 저장하는 방법에 대해 알아본다.
Logstash에 대해 소개하는 별도의 포스팅을 할 예정이지만 이번에는 간단하게 알아보고 넘어가겠다.
Logstash의 설치는 간단하다. Logstash의 파일을 Windows 로컬에 다운로드 받으면 끝이다. 다운로드 페이지에서 WINDOWS로 다운로드 후 압축풀기하면 된다. 이전에 Docker-Compose로 Elasticsearch Cluster를 구성할 때에 7.16.3 버전으로 구성을 했기 때문에 Logstash도 7.16.3 버전으로 설치를 진행했으며 버전은 필요에 따라 바꿔서 진행해도 된다. 단, Elasticsearch의 버전과 맞춰주는 것을 권장한다.
Elasticsearch Cluster 구성 시에 SSL/TLS 설정을 위해 Elasticsearch에서 제공한 보안 관련 파일을 생성하여 적용을 했다. 실제 실무에서는 보안을 위해 많이 사용하는 방법이다. 그래서 Elasticsearch의 노드를 추가하거나 Logstash 또는 Filebeat 등을 Elasticsearch에 연결할 때에도 보안 관련 파일을 옵션에 설정해주어야 한다. 지난 포스팅에서는 crt파일을 생성하여 설정을 해주었기 때문에 Docker Volume에 저장된 파일을 로컬로 가져와야 한다. 과정은 아래와 같다.
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
경로로 이동
이제 준비는 끝났으니 Logstash를 실행하여 Elasticsearch로 데이터를 저장하는 테스트를 해서 잘 되는지 확인하면 된다. 파이프라인을 명시한 파일을 만들어 실행시키면 되는데 관례적으로 conf 확장자로 파일을 만들었다. 그리고 개인적으로 하나의 폴더를 만들어서 파이프라인을 관리하는 것을 선호하므로 pipelines
라는 폴더를 만들어 해당 폴더에 모든 conf 파일들을 저장한다.
input {
generator {
lines => [
"Hello Elasticsearch",
"This is from Logstash"
]
count => 1
}
}
filter {
}
output {
elasticsearch {
hosts => ["https://localhost:9200"]
user => "elastic"
password => "elastic"
ssl => true
cacert => "D:/Elastic/elastic_docker/certs/ca.crt" ## 본인의 path로 변경
ssl_certificate_verification => false
index => "sample-test"
}
stdout { }
}
logstash-7.16.3> .\bin\logstash.bat -f .\config\pipelines\sample-test.conf
sample-test
인덱스를 검색해보면 데이터가 잘 저장된 것을 확인할 수 있다.
이번 포스팅에서는 Docker-Compose로 설치한 Elasticsearch Cluster에 데이터를 저장하는 방법 중 하나인 Logstash를 사용하는 방법에 대해 소개했다. Elasticsearch도 그렇지만 Logstash 또한 설치 자체는 간단하지만 설정하는 측면에서의 노하우가 필요하다. 이번 포스팅에서는 간단하게 Test 파일을 만들어서 단순하게 Elasticsearch와 연결이 되는지, 저장이 잘 되는지를 테스트하는데 집중했다. 또한 Logstash를 실행할 때 여러 conf 파일들을 함께 실행시킬수도 있는데 이번에는 테스트로 명령어를 통해 하나의 파일만 실행하도록 했다. 향후에는 실무레벨에서의 작업수준으로 준비를 해서 포스팅해보겠다.
[Elastic Stack] M1 Mac Elasticsearch와 Kibana 8.4.3 설치 (1) | 2022.10.22 |
---|---|
[Elastic Stack] Index vs Index Patterns(Data Views) (0) | 2022.06.25 |
[Elastic Stack] Elasticsearch 노드 역할 (0) | 2022.03.27 |
[Elastic Stack] Filebeat multiple output 에러 (0) | 2022.03.16 |
[Elastic Stack] Elasticsearch Index와 Shard 개념 (0) | 2022.03.03 |
댓글 영역