Computer >> 컴퓨터 >  >> 프로그램 작성 >> 데이터 베이스

ObjectRocket Elasticsearch에서 Kibana 4 시작 및 실행

ObjectRocket Elasticsearch에서 Kibana 4 시작 및 실행

수백만(또는 수십억!)의 Elasticsearch 문서를 눈길을 끄는 차트, 그래프 및 표로 변환하려는 경우 Kibana가 답입니다. Elastic 제품으로서 Elasticsearch와 긴밀하게 통합되며 데이터 더미를 이해하기 위한 사용하기 쉬운 인터페이스를 제공합니다.

현재 모든 ObjectRocket Elasticsearch 인스턴스에는 Kibana 3가 사전 로드되어 있으며 Elasticsearch HTTP 엔드포인트의 /_plugin/kibana에서 액세스할 수 있습니다. 그러나 Kibana 4는 여러 개선 사항과 새로운 기능을 도입하므로 ObjectRocket으로 생성하는 모든 Elasticsearch 인스턴스와 함께 이를 제공하기 위해 열심히 노력하고 있습니다. 그동안 이 튜토리얼은 Docker 컨테이너에서 실행되는 Kibana 4를 사용하여 Elasticsearch 인스턴스에 연결하는 방법을 안내합니다.

ObjectRocket Elasticsearch에서 Kibana 4 시작 및 실행

전제조건

이미 Docker가 설치되어 있고 Elasticsearch 인스턴스가 있다면 계속 진행하셔도 좋습니다. Docker 호스트의 IP 주소가 Elasticsearch 인스턴스의 화이트리스트에 있는지 확인하고 연결 정보를 아래의 "Docker에서 Kibana 4 실행" 섹션으로 가져오세요.

엘라스틱서치

시작하려면 ObjectRocket에 Elasticsearch 인스턴스가 필요합니다. 아직 가지고 있지 않다면 Elasticsearch 시작에 대한 훌륭한 문서가 있습니다. 로컬에서 Docker를 실행할 것이므로 ACL에서 현재 IP 주소(icanhazip.com에서)를 화이트리스트에 추가해야 합니다. 인스턴스가 가동되면 Kibana 4에서 연결하려면 다음 정보가 필요합니다.

  • 인스턴스의 HTTPS 연결 문자열(예:https://iad1-19999-0.es.objectrocket.com:29999. HA 목적을 위해 각 인스턴스에는 연결할 수 있는 4개의 클라이언트 노드가 있지만 이 경우에는 하나만 필요합니다.
  • 인스턴스의 관리자에 대한 사용자 이름/비밀번호 조합입니다.

도커

요즘 Docker를 시작하는 가장 쉬운 방법은 Docker Machine입니다. 설치 및 구성하는 것은 이 문서의 범위를 벗어나지만 시작하기 가이드에서 시작하는 것이 좋습니다.

Docker에서 Kibana 4 실행

이제 Elasticsearch 인스턴스가 온라인에 있고 Docker가 설치되었으므로 Kibana 4를 시작하고 실행할 차례입니다!

Docker Machine을 사용하는 경우 환경을 적절하게 설정해야 합니다.

$ docker-machine ls
NAME        ACTIVE   DRIVER       STATE     URL                         SWARM
dockerbox            virtualbox   Running   tcp://192.168.99.100:2376
$ eval "$(docker-machine env dockerbox)"
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

환경 파일 생성

우리가 사용할 Kibana 4 Docker 이미지(objectrocket/kibana)는 Elasticsearch에 연결하는 방법을 알 수 있도록 ELASTICSEARCH_URL 환경 변수를 설정해야 합니다. 이 예에서는 사용자 이름 alice와 비밀번호 비밀번호를 사용하여 포트 29999(HTTPS)에서 iad1-19999-3.es.objectrocket.com 호스트에 연결합니다.

$ echo 'ELASTICSEARCH_URL=https://alice:[email protected]:29999' > kibana4.env

참고 :-e 플래그를 사용하여 이러한 환경 변수를 쉽게 전달할 수 있지만 민감한 자격 증명을 포함하므로 env 파일에 배치하는 것이 좋습니다.

컨테이너 시작

이제 Kibana 4 컨테이너를 시작할 수 있습니다.

# Use `-p $PORT:5601` if you wish to change the bind port
$ docker run -d --name kibana4 -p 5601:5601 --env-file kibana4.env objectrocket/kibana:4.1.2
Unable to find image 'objectrocket/kibana:4.1.2' locally
4.1.2: Pulling from objectrocket/kibana

8a648f689ddb: Pull complete
6a9f09112d11: Pull complete
98c91eb0b06a: Pull complete
f5030fbbffc3: Pull complete
0a7a2d9eb5d6: Pull complete
1f9563800fc7: Pull complete
f43ab0bd66e0: Pull complete
Digest: sha256:352e95077d0312fa12de6cec3bc66d221391952b8cf98e890cd7324b6b6605ce
Status: Downloaded newer image for objectrocket/kibana:4.1.2
cc341ff14d492a30e106007896201639964bdef6a93d03d497957a2738f5ac24

업데이트 :Elasticsearch 2.0 이상을 실행하는 경우 objectrocket/kibana:4.2.0(또는 그 이상) 이미지를 사용해야 합니다.

컨테이너가 생성되면 docker ps:

출력에서 ​​볼 수 있어야 합니다.
$ docker ps
CONTAINER ID        IMAGE                 COMMAND                CREATED              STATUS              PORTS                    NAMES
cc341ff14d49        objectrocket/kibana   "/opt/kibana/run.sh"   About a minute ago   Up About a minute   0.0.0.0:5601->5601/tcp   kibana4

컨테이너를 실행하는 데 문제가 있는 경우 ELASTICSEARCH_URL 변수를 다시 확인하고 URL의 각 부분이 올바른지 확인하세요. @ 또는 :와 같은 기호가 있는 비밀번호는 URL 체계를 깨뜨릴 수 있습니다. 또한 docker logs kibana4를 실행하여 Kibana가 stdout 또는 stderr로 보낸 오류 메시지를 표시할 수 있습니다.

Kibana 4에 연결

이제 Docker 호스트의 포트 5601(또는 이전 단계에서 선택한 포트)에서 Kibana 4에 연결할 수 있습니다. 로컬에서 실행 중인 경우 https://localhost:5601을 사용합니다. Docker Machine을 실행하는 경우 docker-machine ip 에서 Docker Machine VM의 IP 주소를 사용하십시오. https://192.168.99.100:5601.

성공적으로 연결한 후 Elasticsearch 인스턴스의 인덱스를 사용하도록 Kibana를 구성해야 합니다. 자세한 내용은 Elastic의 Connect Kibana with Elasticsearch 설명서를 참조하십시오. Kibana 4의 주요 기능 중 일부에 대해 자세히 알아보려면 Kibana 시작하기 가이드를 읽어보십시오.

마무리

Kibana에서 시각화 제작을 완료하면 다음 명령을 실행하여 Docker 컨테이너를 중지할 수 있습니다.

$ docker stop kibana4
kibana4

그런 다음 다음에 다시 연결하려면 docker start kibana4를 실행하기만 하면 됩니다.

앞서 언급했듯이 호스팅된 Kibana 4는 Elasticsearch 제품 오퍼링을 위해 이미 작업 중이지만 로컬에서 Kibana를 실행하면 그 동안 빠르게 시작할 수 있습니다. Kibana는 모든 구성을 Elasticsearch 인덱스에 저장하기 때문에 전환할 때 소중한 대시보드나 시각화를 잃지 않을 것입니다!