Kibana 는 Elasticsearch 의 시각화 · 관리 UI 다. Elasticsearch 와 같은 버전(9.5.4) 을 쓴다. 9.x 는 설정 파일에 주소 · 계정을 적는 대신 Elasticsearch 가 발급한 등록 토큰으로 브라우저에서 연결한다.
/etc/yum.repos.d/kibana.repo
[kibana-9.x]
name=Kibana repository for 9.x packages
baseurl=https://artifacts.elastic.co/packages/9.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo dnf install -y kibana
/etc/kibana/kibana.yml. 외부에서 붙으려면 server.host 를 연다. elasticsearch.hosts 는 등록 과정에서 자동으로 채워지므로 적지 않는다.
server.port: 5601
server.host: "0.0.0.0"
sudo systemctl daemon-reload
sudo systemctl enable kibana.service
sudo systemctl start kibana.service
sudo firewall-cmd --permanent --add-port=5601/tcp
sudo firewall-cmd --reload
Elasticsearch 호스트에서 Kibana 용 등록 토큰을 만든다. 30분 동안 유효하다.
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
브라우저로 http://<Kibana 호스트>:5601 에 붙으면 토큰을 넣는 화면이 뜬다. 토큰을 넣으면 확인 코드를 묻는데, Kibana 호스트에서 본다.
sudo /usr/share/kibana/bin/kibana-verification-code
systemctl status kibana 의 로그에도 같은 코드가 찍힌다. 코드를 넣으면 kibana.yml 에 연결 정보가 쓰이고 로그인 화면으로 넘어간다. elastic 과 설치 때 받은 비밀번호로 들어간다.
브라우저 없이 하려면 토큰을 명령으로 넣는다.
sudo /usr/share/kibana/bin/kibana-setup --enrollment-token <토큰>
curl -s http://localhost:5601/api/status | head -c 300
로그인 뒤 Stack Management → Data Views 가 보이면 Elasticsearch 와 연결된 것이다.
위 버전과 저장소는 오래된 것이라 저장소가 존재하지 않을 수 있다. 7.x 는
kibana.yml에 Elasticsearch 주소를 직접 적었다. 2020년 테스트 됨.
/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
sudo yum install kibana
/etc/kibana/kibana.yml
server.port: 5601
server.host: "192.168.113.138"
elasticsearch.hosts: ["http://192.168.113.138:9200"]
sudo service kibana start