본 포스팅은 2023년 12월 30일 기준으로 작성되었습니다.
Kibana 대시보드를 홈페이지에 iframe으로 넣는 방법에 대해서 알아보겠습니다.
Default 설정 상태에서 Copy iFrame code를 하게 되면 홈페이지에서 다시 로그인(Cloud ID 또는 Elasticsearch User)을 해야만 Kibana 대시보드를 볼 수 있습니다.
이번 포스팅에서는 로그인 없이 홈페이지에서 바로 대시보드를 볼 수 있는 방법에 대해서 알아봅니다.
결론, 위에 그림과 같이 대시보드에서 Share > Embed Code > Public URL를 활성화 해준 상태에서 Copy iFrame code를 하여 웹source 붙여 넣어 주시면 됩니다. 하지만 Kibana.yml파일에서 아무런 설정을 하지 않았다면 (Default 설정 유지상태) Public URl 버튼이 나타나지 않을겁니다.
Public URL 을 나타나게 하기 위해서는 Kibana.yml에 코드를 추가 해주셔야 합니다.
[Elastic Cloud]
Cloud의 경우, Deployments Edit에서 Kibana의 Edit user settings를 수정하시면 됩니다. (Deployments Edit에 접근하기 위해서는 Cloud계정으로 로그인 하셔야 합니다.)
kibana.yml파일에서 아래 코드를 추가하게 되면 Public URL버튼이 나타납니다.
[On-prem] config > kibana.yml
xpack.security.authc.providers:
basic.basic1:
order: 0
icon: "logoElasticsearch"
hint: "Typically for administrators"
anonymous.anonymous1:
order: 1
credentials:
apiKey: "dEJJBa000000000000000tuTlViUQ=="
xpack.security.sameSiteCookies: "None"
[Elastic Cloud] Edit > User settings
API키를 만들어서 붙여 넣거나, Elasticsearch User를 만들어서 설정해주면 됩니다.
아이디/패스워드 사용:
xpack.security.authc.providers:
anonymous.anonymous1:
order: 0
credentials:
username: "anonymous_service_account"
password: "anonymous_service_account_password"
전용 API 키:
xpack.security.authc.providers:
anonymous.anonymous1:
order: 0
credentials:
apiKey: "VnVhQ2ZHY0JDZG00000000000000Tm1zeWFrdzl0dk5udw=="
클라우드의 경우 설정이 완료되면, Edit 화면 가장 하단의 Save를 클릭하여 설정을 저장합니다. (5~10분 정도 소요됨)