본문 바로가기
기타

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

by 위기의코딩맨 2024. 8. 8.
반응형

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

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

 

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

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

 

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

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

[ 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 설치하는 방법에 대해서 알아봤습니다.

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

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

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

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

반응형