We-Co

[Elasticsearch] Kibana 설치해보자 - 리눅스(Ubuntu), 설치 오류, 설치 방법 본문

기타

[Elasticsearch] Kibana 설치해보자 - 리눅스(Ubuntu), 설치 오류, 설치 방법

위기의코딩맨 2024. 8. 8. 10:00
반응형

안녕하세요. 위기의 코딩맨입니다.

오늘은 키바나 설치 방법에 대해서 간단하게 알아보도록 하겠습니다.

 

우선 키바나는 엘라스틱서치를 사용하면서

메모리 등등 시각화하여 볼수있는 아주 편리한 기능을 제공합니다!

 

시각화된 데이터로 부하가 걸리고있구나~

지금 뭐를 하고있구나~ 간단하게 알아볼수 있는것이죠!

[ Kibana Install ]

먼저 엘라스틱서치가 설치되어있는 가정하에

진행하도록 하겠습니다.

 

먼저 엘라스틱 버전을 확인해야합니다.

아래 명령어를 입력하면 Json 형식을 받게되는데

version -> number 항목의 값이 버전이라고 생각하시면 됩니다.

curl -X GET "localhost:9200"

버전!

Kibana와 버전을 잘 맞춰야된다고 합니다.

거의 1:1 기준인것 같더라구요!

 

아래 명령어를 입력하면 docker image가 다운로드 받게됩니다.

다운로드 완료되면 docker images를 입력하면 아래 이미지를 확인하실 수 있습니다.

docker pull docker.elastic.co/kibana/kibana:7.14.3

다운로드된 이미지

다음은 다운로드된 이미지를 컨테이너로 실행해야합니다.

아래 명령어로 입력해주세요!

여기서 중요한 점이 5601 포트

ELASTICSEARCH_HOSTS=http://elasticsearch_kibana:9200 해당 부분은 엘라스틱서치 이미지 명으로 입력해야합니다.

진짜 이부분 때문에 고생 많이했습니다. ㅠ

docker run -d --name kibana -p 5601:5601  -e ELASTICSEARCH_HOSTS=http://elasticsearch_kibana:9200 docker.elastic.co/kibana/kibana:7.13.4

 

컨테이너가 생성이 된것을 확인했으면

이제 네트워크를 같은 네트워크로 구성해야합니다.

도커가 관리하는 네트워크 구성을 확인해봅니다. 

여기서 출력되는 항목의 네트워크를 사용해도되지만,

저는 새로 만들어서 진행했습니다.

# 네트워크 확인
docker network ls

# 네트워크 생성
docker network create elastic-net

 

이제 저희는 컨테이너를 이미 생성해었기 때문에, 

컨테이너를 모두 정지 시키고, 다시 실행하면서 네트워크를 선정해줘야합니다.

컨테이너에는 엘라스틱서치, 키바나의 이름을 입력하면 됩니다. (1개씩 진행)

docker stop 컨테이너
docker network connect elastic-net 컨테이너
docker start 컨테이너

 

이제 연결을 진행하셨다면,

아래 명령어를 입력하면 네트워크에 연결된 도커를 확인할 수 있습니다.

그리고 "연결확인2" 명령어를 입력하게되면 엘라스틱서치 실행과 같은 결과가 나오게 됩니다.

# 연결 확인
docker network inspect elastic-net

# 연결 확인 2
docker exec -it kibana curl http://elasticsearch_kibana:9200

 

네트워크 연결을 확인하셨으면

키바나 도커에 접속해야 합니다. 일반적으로 접속하면 권한이 없어 제한이 많더라구요

아래 명령어를 입력하여 접속하도록 합시다!

docker exec -it --user root kibana /bin/bash

 

도커에 접속하면, 경로를 이동합니다.

kibana.yml을 수정해야합니다.

# 경로이동
cd /usr/share/kibana/config

# 파일 수정
vi kibana.yml

 

kibana.yml의 파일을 수정하도록 합니다.

server.host를 0.0.0.0으로 설정해야 외부 접속이 가능하다고 합니다.

포트는 5601, elasticserch.hosts는 위에서 강조했던 이미지 명을 입력해야합니다.

server.host: "0.0.0.0"
server.port: 5601
elasticsearch.hosts: ["http://elasticsearch_kibana:9200"]

# Optional logging configuration
logging.verbose: true
logging.dest: /var/log/kibana/kibana.log

 

아마 로그 파일 경로가 없을 수 있습니다.

폴더를 만들어야합니다. 이부분은 간단한 부분이니 넘어가도록 하겠습니다.

그리고 yml 경로가 /etc/kibana/kibana.yml으로 설명하시는 분들도 계서서

혹시나 해서 해당 경로에도 만들어놨습니다. 중요한지는 잘모르겠지만..!

 

 

이제 도커에서 나와서 해당 키바나 도커를 재시작 합니다.

docker stop 컨테이너
docker start 컨테이너
# or
docker restart 컨테이너

 

이제 외부에서도 http://IP:5601로 접속해보시면

아래 이미지와 같이 접속이 된것을 확인하실수있습니다. 하하

 

 

[ 문제 해결 ]

설치하면서 겪엇던 문제해결 방법을 간단하게 설명드리도록 하겠습니다.

로그를 확인하는 방법이 최우선적입니다.

# 컨테이너 로그 확인
docker logs 컨테이너

 

이제 위에서 키바나 설정에서 로그 경로를 설정한 로그파일을 확인해주시면 됩니다.

tail -n 1000 /var/log/kibana/kibana.log

 

마지막으로 kibana에서 설정한 엘라스틱서치 호출하는 HOST를 확인하는 것입니다.

여기서 나오는 호스트 부분이 엘라스틱 서치명과 일치해야되는 것 같습니다.

docker exec -it kibana env | grep ELASTICSEARCH_HOSTS

 

 

오늘은 간단하게 kibana 설치하는 방법에 대해서 알아봤습니다.

정말 설치하는데 힘들었네...

간단하게 설치할수 있을 것 같았는데 진행하고 있던 환경에서 

설치하는것은 쉽지가 않았습니다.ㅎㅎㅎㅎ

다음에 사용법도 알아보도록 하겠습니다.

반응형