오늘은 원격 Elasticsearch 클러스터에 연결하기 위해 Kibana의 로컬 인스턴스를 설정하는 과정을 안내해 드리겠습니다. Elasticsearch용 ObjectRocket 인스턴스에는 호스팅되는 무료 Kibana 설치가 포함되지만 로컬 시스템에서 Kibana를 실행하면 추가적인 유연성이 제공되는 경우가 있습니다. 또한 호스팅된 Kibana를 제공하지 않는 환경이나 서비스에서 실행하는 경우 이 연습을 통해 시스템에서 로컬로 Kibana를 쉽게 실행할 수 있습니다.
Kibana의 로컬 인스턴스를 실행하는 이유는 무엇입니까?
다른 Kibana 사용자와 공유되지 않는 맞춤형 시각화 세트를 만들고 싶었던 적이 있습니까? 아니면 Kibana의 공유 인스턴스에 설치할 필요 없이 새로운 Kibana 플러그인을 사용해 보겠습니까? 로컬에서 Kibana를 실행하면 이러한 모든 작업과 그 이상의 작업을 수행할 수 있습니다.
Kibana는 로컬에 아무것도 저장하지 않으며 기본적으로 동일한 인덱스를 사용하여 구성을 Elasticsearch 클러스터에 저장합니다. 즉, 원하는 만큼 Kibana 인스턴스를 실행하거나 사용할 때만 Kibana를 실행할 수 있습니다. 공유 상태/구성으로 인해 하나의 인스턴스에서 시각화를 만들고 수정할 수 있으며 새 콘텐츠는 클러스터에 연결하는 모든 Kibana 인스턴스에서 볼 수 있습니다. 이것은 좋은 협업이 가능하다는 장점이 있지만 한 사용자의 실수로 모든 사용자의 시각화를 삭제하거나 수정할 수 있다는 단점도 있습니다.
Kibana 인스턴스를 사용하는 사용자가 많은 경우 다른 인덱스로 직접 실행하여 다른 사용자가 짓밟을 위험 없이 사용자 지정 시각화를 가질 수 있습니다. 또는 준비가 될 때까지 다른 모든 사람에게 액세스 권한을 제공하지 않고 자체 Kibana 설치에서 시각화 또는 플러그인을 사용해 볼 수도 있습니다.
유연성은 유용할 수 있으므로 설정으로 이동해 보겠습니다.
Kibana 설정
Kibana는 다른 Elasticsearch 클라이언트와 마찬가지로 Elasticsearch에 연결하므로 로컬 시스템을 Elasticsearch에 연결할 수 있다면 로컬에서 Kibana를 실행할 수 있습니다. 로컬에 설치할 구성 요소의 수를 최소화하고 잘 포함된 상태로 유지하려면 Docker화된 Kibana 버전을 권장하므로 최소한 로컬 시스템에 Docker 및 Docker Compose가 설치되어 있어야 합니다.
Docker 설정이 완료되면 local-kibana GitHub 리포지토리를 시스템의 디렉터리에 복제합니다.
다음으로, 포함된 kibana.yml 파일을 필요에 맞게 구성하고 싶을 것입니다. 아래는 리포지토리에 포함된 버전의 사본입니다.
---
## Default Kibana configuration from kibana-docker.
## from https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml
#
# Kibana server name and host. You shouldn't need to change these
server.name: kibana
server.host: "0"
# These are the settings you must set to your target Elasticsearch cluster and user.
elasticsearch.url: "https://your-host.es.objectrocket.com:yourport"
elasticsearch.username: "youruser"
elasticsearch.password: "yourpassword"
# The index Kibana should use. By default, Kibana will use an index named ".kibana".
# If you want to isolate your visualizations/dashboards/index patterns from others, change This
#kibana.index: ".kibana"
구성 파일에는 집중해야 할 두 섹션이 있습니다. Elasticsearch.* 설정과 kibana.index 설정입니다.
Elasticsearch.* 설정은 연결할 대상 Elasticsearch 클러스터를 결정합니다. ObjectRocket 서비스를 사용하는 경우 UI의 "연결" 섹션에서 이를 작성하는 데 필요한 모든 것을 찾을 수 있습니다. 그렇지 않으면 이를 Elasticsearch 호스트와 Elasticsearch에 연결하는 데 사용하는 사용자 이름과 비밀번호로 설정합니다. Kibana는 여러 Elasticsearch 호스트 이름을 허용하지 않으므로 호스트가 여러 개인 경우 이 Kibana 인스턴스에 연결할 호스트 이름을 하나만 선택해야 합니다.
집중할 두 번째 섹션은 kibana.index 설정입니다. 다른 모든 사람과 동일한 시각화 및 대시보드로 작업하려면 그대로 두십시오. 고유한 사용자 지정 설정에서 작업하려면 주석을 제거하고 다른 항목으로 변경하여 나와 다른 사람들이 Kibana 설정으로 식별할 수 있도록 하십시오.
Kibana 실행
이제 Kibana를 실행할 준비가 되었습니다. 네트워크 보안/ACL이 있는 서비스를 사용 중이라면 먼저 로컬 컴퓨터에서 Elasticsearch에 연결할 수 있는지 확인하세요.
local-kibana 디렉토리에서 다음을 실행하십시오.
$ docker-compose build --no-cache
$ docker-compose up
Kibana를 시작하고 구성하는 데 몇 분이 걸리지만 결국에는 터미널에서 Kibana 상태가 '녹색'으로 업데이트된 것을 볼 수 있습니다. 이제 연결할 준비가 되었습니다.
연결 중
이제 Kibana 컨테이너가 실행 중이므로 브라우저에서 localhost:5601로 이동할 수 있습니다. Kibana는 사용자 이름과 비밀번호(위의 구성 파일에 입력한 것과 동일한 사용자/비밀번호)를 한 번 더 묻고 모든 것이 로드됩니다. Kibana 인덱스를 기본값에서 변경한 경우 처음 로그인할 때 인덱스 패턴과 기본 인덱스 패턴도 설정해야 합니다.
마무리
이것이 로컬 Kibana 인스턴스를 빠르고 쉽게 시작하는 데 필요한 전부입니다. 문서에서 더 자세한 지침을 찾을 수도 있습니다.