본문 바로가기
infra/ELK

[ELK] ELK Stack을 구축해 보자 - Kibana

by hjhello423 2019. 12. 21.

 

 


Kibana?

Kibana는 Elasticsearch와 함께 작동하도록 설계된 오픈 소스 분석 및 시각화 플랫폼입니다. Kibana를 사용하여 Elasticsearch 색인에 저장된 데이터를 검색하고 보고 상호 작용합니다. 데이터 분석과 다양한 차트, 표 및 지도에서 데이터를 시각화할 수 있습니다.

Kibana를 사용하면 대량의 데이터를 쉽게 이해할 수 있습니다. 간단한 브라우저 기반 인터페이스를 통해 Elasticsearch 쿼리에 대한 변경 사항을 실시간으로 표시하는 동적 대시 보드를 신속하게 생성하고 공유할 수 있습니다.

 


Kibana Install

주의사항

Kibana는 Node.js에서 실행되기 때문에 Node.js 바이너리가 필요합니다. 또한 별도로 구성한 Node.js 버전에 대해 Kibana를 실행하는 것은 지원되지 않고 있습니다.

 

Kibana와 Elasticsearch은 동일한 버전을 사용하여 시스템을 구성해야 합니다.

예를 들어 Kibana 5.x 와 Elasticsearch 2.x의 실행은 지원되지 않으며 Elasticsearch 버전보다 최신 버전의 Kibana도 실행되지 않습니다. (ex. Kibana 5.1 및 Elasticsearch 5.0)

 

Elasticsearch의 버전이 높을게 유지 보수하는 것을 권장하고 있습니다. 하지만 버전이 동일하지 않아 Kibana 서버를 시작할 때 경고 메시지를 기록하게 됩니다.

동일한 버전의 Kibana 및 Elasticsearch를 패치 버전으로 실행할 것을 권장합니다.

 

RPM repository install

이제 RPM을 이용해 Kibana를 설치해 보도록 하겠습니다.

먼저 공개 서명 키를 다운로드합니다.

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

 

RedHat 기반 배포판의 경우 /etc/yum.repos.d/에 OpenSuSE 기반 배포판은 /etc/zypp/repos.d/ 디렉토리에 kibana.repo라는 파일을 작성해야 합니다.

저는 CentOS 8을 사용하고 있으므로 /etc/yum.repos.d/ 경로에 kibana.repo를 추가해보겠습니다.

sudo vi /etc/yum.repos.d/kibana.repo

아래 내용은 버전에 맞게 명시하면 됩니다.

[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Apache 2.0 라이선스에 따라 사용 가능한 기능만 포함하는 대체 패키지 kibana-oss를 사용하려면 kibana.repo 파일에서 baseurl을 추가해야 합니다.

baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum

이제 다음 명령 중 하나를 사용하여 Kibana를 설치할 수 있습니다.

CentOS를 사용하고 있다면 yum명령어를 사용해야겠죠?

sudo yum install kibana 
sudo dnf install kibana 
sudo zypper install kibana 

 

Download and Install the RPM

이번엔 RPM repository를 이용하지 않고 직접 RPM파일을 다운로드하여 설치해 보겠습니다.

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.5.0-x86_64.rpm
shasum -a 512 kibana-7.5.0-x86_64.rpm 
sudo rpm --install kibana-7.5.0-x86_64.rpm

또는 Apache 2.0 라이선스에 따라 사용 가능한 기능만 사용할 경우 아래의 경로에서 다운로드하세요.

wget https://artifacts.elastic.co/downloads/kibana/kibana-oss-7.5.0-x86_64.rpm

SysV init, systemd 등록

Kibana도 Elasticsearch나 Logstash처럼 설치 후 자동으로 시작되지 않습니다.

이전 포스팅에서 했던 것처럼 SysV init과 systemd 중 하나에 등록하도록 하겠습니다.

[itsme@localhost elk]$ ps -p 1
   PID TTY          TIME CMD
     1 ?        00:00:02 systemd

systemd를 사용하는 것으로 나와 systemd에 등록합니다.

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable kibana.service

서비스 시작과 중지

sudo systemctl start kibana.service
sudo systemctl stop kibana.service

 

Kibana 설정

Kibana는 기본적으로 /etc/kibana/kibana.yml을 이용하여 설정합니다.

설정 구성은 링크를 확인하세요.

 

Kibana 서버는 시작할 때kibana.yml 파일을 읽습니다. 이 파일의 위치는 Kibana 설치 방법에 따라 다른데 저는 RPM방식으로 설치하여 /etc/kibana 경로에 있습니다. 아카이브 배포(. tar.gz 또는. zip)를 이용하여 설치한 경우 $KIBANA_HOME/config 경로입니다.

 

Kibana의 기본 호스트 및 포트 설정은 localhost:5601 입니다. 설정을 변경하고 싶다면 kibana.yml 파일을 수정해야 합니다. SSL 등과 기타 다른 옵션들을 이곳에서 수정하며 ${MY_ENV_VAR} 구문을 사용하여 환경 변수를 구성에 주입할 수 있습니다.

 

기초 설정 몇 개만 정리해 보겠다.

server.host 기본값 : "localhost" 이 설정은 백엔드 서버의 호스트를 지정합니다. 원격 사용자가 연결할 수있게하려면 값을 Kibana 서버의 IP 주소 또는 DNS 이름으로 설정하십시오.
server.name 기본값 : "your-hostname"이 Kibana 인스턴스를 식별하는 사람이 읽을 수있는 표시 이름입니다.
server.port 기본값 : 5601Kibana는 백엔드 서버에서 제공합니다.이 설정은 사용할 포트를 지정합니다.
logging.timezone 기본값 : UTC 표준 시간대 ID (예 :)로 설정America/Los_Angeles하여 해당 시간대를 사용하여 이벤트를 기록합니다. 시간대 목록은 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones 에서 참조 할 수 있습니다.
logging.verbose 기본값 : falsetrue 시스템 사용 정보 및 모든 요청을 포함한 모든 이벤트를 기록하려면이 설정의 값을 설정하십시오. Elastic Cloud Enterprise에서 지원됩니다.
logging.dest 기본값 :stdout Kibana가 로그 출력을 저장하는 파일을 지정할 수 있습니다.
logging.json 기본값 : false 출력을 JSON으로 기록합니다. 로 설정true하면 로그는 타임 스탬프, 로그 수준, 컨텍스트, 메시지 텍스트 및 로그 메시지 자체와 관련 될 수있는 기타 메타 데이터를 포함하는 JSON 문자열로 형식화됩니다. 경우logging.dest.stdout설정하고 대화 형 터미널 ( "TTY는")가 없다,이 설정을 기본값으로 설정됩니다true.
elasticsearch.hosts 기본값 : "http : // localhost : 9200" 모든 쿼리에 사용할 Elasticsearch 인스턴스의 URL입니다. 여기에 나열된 모든 노드는 동일한 클러스터에 있어야합니다.
   
   
   

 

 

 


 

 

 

반응형

댓글