도커 설치 방법은 생략하겠다
WSL에서 docker desktop을 설치 해 사용했다.
리눅스를 사용한다면 docker engine을 직접 설치하면 된다.
엘라스틱 서치 최신 버전인 8.3.3 이미지를 pull하여 컨테이너를 띄운다.
이때 single node로 실행하면 자동으로 보안관련 설정이 활성화 되는데, 컨테이너 실행 후 로그로 나오는 비밀번호, kibana 등록 토큰 등을 잘 저장해야 한다.
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.3.3
docker network create elastic
docker run --name es01 --net elastic -p 9200:9200 -p 9300:9300 -it docker.elastic.co/elasticsearch/elasticsearch:8.3.3
컨테이너 실행 후 이러한 에러가 발생했는데, 가상메모리를 늘려주어야하는 것 같다.
sudo sysctl -w vm.max_map_count=262144
# 재부팅 후에도 적용하기 위해 설정 파일 수정 -> /etc/sysctl/conf
vm.max_map_count=262144
###
sudo sysctl -p # 변경 사항 적용
가상메모리 수정 후 제대로 실행되었고 앞서 언급한 계정 비밀번호와 키바나 토큰이 콘솔에 떴다.
ca파일을 로컬로 복사하고 엘라스틱 서치와 연결 가능한지 확인한다.
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
curl --cacert http_ca.crt -u elastic https://localhost:9200
docker pull docker.elastic.co/kibana/kibana:8.3.3
docker run --name kib-01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.3.3
이후 localhost:5601
에 접속하면 아까 따로 보관한 enrollment token을 넣으라는 창이 뜨고
bin/kibana-verification-code.bat
을 실행하여 얻는 코드를 넣으라고 나온다.
우리는 docker container를 사용하므로
이렇게 얻은 코드를 입력하면 된다.
이렇게 세팅이 완료되고, 로그인창이 뜨는데, id는 elastic
, 비밀번호는 아까 따로 보관한 비밀번호를 사용하면 된다.
완료!
docker pull logstash:8.3.3
logstash는 엘라스틱서치, 키바나와 다르게 다른 repo에서 다운받을 수 있다.
docker run --name logstash -v ~/elasticsearch:/data --net elastic -d logstash:8.3.3
docker exec -it logstash bash
컨테이터 실행 후 접속