본문 바로가기

ELK

elasticsearch 비밀번호 설정

docker로 elasticsearch 7.17버전 및 kibana 7.17 부팅 시 기준

1. yml configuration for elaticsearch

elasticsearch.yml 파일에 xpack.security.enabled: true 설정을 하고

docker run command 시, volume configuration을 한다

(-v {elasticsearch.yml 파일이 있는 local 경로}:/usr/share/elasticsearch/config/elasticsearch.yml)

(example:

docker run -d --name elasticsearch --net elastic -v $HOME/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -p 9200:9200 -p 9300:9300 docker.elastic.co/elasticsearch/elasticsearch:7.17.8)

2. password generating

docker exec으로 elasticsearch docker container 안에 접속한 후

bin 폴더에서 elasticsearch-setup-passwords auto 명령을 수행한다

apm, logstash, beats 등의 elasticsearch 접속을 위한 비밀번호들이 자동으로 생성된다

3. yml configuration for kibana

kibana.yml 파일에 elasticsearch.username 에 kibana를, elasticsearch.password에는 전 단계에서 generate 한 kibana용 password를 기록한다.

그 후, docker run volume configuration을 한다

(-v {kibana.yml 파일이 있는 경로}:/usr/share/kibana/config/kibana.yml)

※ kibana와 elasticsearch 연동을 위해서, environment 환경변수로

-e "ELASTICSEARCH_HOSTS=http://{elasticsearch docker name}:9200" 을 설정해야 연결이 된다

(example: docker run -d --name kibana --net elastic -v $HOME/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://elasticsearch:9200" docker.elastic.co/kibana/kibana:7.17.8)

4. kibana ui 로그인

{kibana host:5601} url 접속 후 나오는 로그인 창에 username에 elastic, password로 2번 단계에서 생성한 여러 비밀 번호 중 elastic에 해당되는 것을 입력한다