【Kibana】 리버 프로를 사용하여 Elasticsearch에 쉽게 액세스

외부에서 Kibana에 액세스하고 싶을 때, Kibana3는 표준 설정이라고 클라이언트에서 Elasticsearch에 직접 통신(default:9200) 하지만, 그것은 피하고 싶다는 경우가 많다고 생각한다.
※FW라든지로 제한하고 있는 환경이라면, 9200라든지 열고 싶지 않네요라는 이야기입니다!

그래서 다음과 같은 느낌으로 리버프로 kibana와 Elasticsearch에 액세스하는 간단한 단계

이미지



하기와 같은 구성으로 한다.
클라이언트는 아래에서 kibana에 액세스하는 이미지

【더미】 http://y.y.y.y/kibana3/
【client】
※Kibanaの画面 y.y.y.y:80/kibana3/
※kibanaでのグラフ描画時のアクセス y.y.y.y:80/es/
  ↓
【Apache(y.y.y.y:80)】
※y.y.y.y:80/es/ →x.x.x.x:9200にリバプロする
  ↓
【Elasticseach(x.x.x.x:9200)】



아파치



kibana를 호스팅하는 VirtualHost 지시문에 다음을 추가
ProxyPass /es/ http://x.x.x.x:9200/
ProxyPassReverse /es/ http://x.x.x.x:9200/

kibana



kibana가 액세스하는 Elasticseach를 리버프로 설정한 경로로 변경합니다. (y.y.y.y:8080/es/와 같이 정적으로 쓸 수 있지만 글로벌 IP 흔들어 더욱 위에서 NAT하고 있는 경우도 있으므로 hostname은 동적으로 취득하는 아래쪽이 편리)

config.js
elasticsearch: "http://"+window.location.hostname+":80/es/",

Elasticsearch



1.4 이후의 경우는, 크로스 도메인 액세스를 허가하는 이하의 설정이 들어 있는지 확인한다.

elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "/.*/"

이것이 들어 있지 않으면 아래와 같은 에러가 나온다. . . .



간단하지만 일단 공유!

좋은 웹페이지 즐겨찾기