Kibana - Amazon Elasticsearch Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Kibana

Kibana는 Elasticsearch와 연동되도록 설계된 인기 있는 오픈소스 시각화 도구입니다. Amazon ES는 각 Amazon ES 도메인에 Kibana를 설치합니다. Amazon ES 콘솔의 도메인 대시보드에서 Kibana 링크를 찾을 수 있습니다. URL은 domain-endpoint/_plugin/kibana/입니다. 이 기본 Kibana 설치를 사용하는 쿼리의 제한 시간은 300초입니다.

다음 단원에서는 일부 Kibana 일반 사용 사례에 대해 다룹니다.

Kibana에 대한 액세스 제어

Kibana는 IAM 사용자와 역할을 기본으로 지원하지는 않지만, Amazon ES가 Kibana: 액세스 제어를 위한 다양한 솔루션을 제공합니다.

프록시를 사용하여 Kibana에서 Amazon ES에 액세스

참고

이 프로세스는 도메인이 퍼블릭 액세스를 사용하며 Amazon CognitoKibana에 대한 인증를 사용하고 싶지 않을 때만 적용됩니다. Kibana에 대한 액세스 제어을(를) 참조하십시오.

Kibana는 JavaScript 애플리케이션이므로 요청은 사용자의 IP 주소에서 시작됩니다. 각 사용자가 Kibana에 액세스할 수 있도록 허용해야 하는 IP 주소의 수가 늘어나기 때문에 IP 기반 액세스 제어는 실용적이지 않을 수 있습니다. 한 가지 해결 방법은 Kibana와 Amazon ES 사이에 프록시 서버를 배치하는 것입니다. 그런 다음 하나의 IP 주소인 프록시의 요청만 허용하는 IP 기반 액세스 정책을 추가할 수 있습니다. 다음 다이어그램은 이 구성을 보여 줍니다.

  1. 이것이 Amazon ES 도메인입니다. IAM은 이 도메인에 대해 인증된 액세스 권한을 제공합니다. 추가 IP 기반 액세스 정책은 프록시 서버에 대한 액세스를 제공합니다.

  2. 이 프록시 서버는 Amazon EC2 인스턴스에서 실행됩니다.

  3. 다른 애플리케이션은 서명 버전 4 서명 프로세스를 사용하여 인증 요청을 Amazon ES로 보낼 수 있습니다.

  4. Kibana 클라이언트는 프록시를 통해 Amazon ES 도메인에 연결합니다.

이러한 유형의 구성을 활성화하려면 역할 및 IP 주소를 지정하는 리소스 기반 정책이 필요합니다. 다음은 샘플 정책입니다.

{ "Version": "2012-10-17", "Statement": [{ "Resource": "arn:aws:es:us-west-2:111111111111:domain/my-domain/*", "Principal": { "AWS": "arn:aws:iam::111111111111:role/allowedrole1" }, "Action": [ "es:ESHttpGet" ], "Effect": "Allow" }, { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:*", "Condition": { "IpAddress": { "aws:SourceIp": [ "123.456.789.123" ] } }, "Resource": "arn:aws:es:us-west-2:111111111111:domain/my-domain/*" } ] }

탄력적 IP 주소를 사용하여 프록시 서버를 실행하는 EC2 인스턴스를 구성하는 것이 좋습니다. 이러한 방식으로 필요한 경우 인스턴스를 대체하고 동일한 퍼블릭 IP 주소를 계속 연결할 수 있습니다. 자세한 내용은 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html탄력적 IP 주소Linux 인스턴스용 Amazon EC2 사용 설명서를 참조하십시오.

프록시 서버 Amazon CognitoKibana에 대한 인증를 사용한다면, Kibana와 Amazon Cognito용 설정을 추가해 redirect_mismatch 오류를 방지해야 할 수도 있습니다. 다음 nginx.conf 예를 참조하십시오.

server { listen 443; server_name $host; rewrite ^/$ https://$host/_plugin/kibana redirect; ssl_certificate /etc/nginx/cert.crt; ssl_certificate_key /etc/nginx/cert.key; ssl on; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; location /_plugin/kibana { # Forward requests to Kibana proxy_pass https://$kibana_host/_plugin/kibana; # Handle redirects to Cognito proxy_redirect https://$cognito_host https://$host; # Update cookie domain and path proxy_cookie_domain $kibana_host $host; proxy_cookie_path / /_plugin/kibana/; # Response buffer settings proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; } location ~ \/(log|sign|fav|forgot|change|saml|oauth2) { # Forward requests to Cognito proxy_pass https://$cognito_host; # Handle redirects to Kibana proxy_redirect https://$kibana_host https://$host; # Update cookie domain proxy_cookie_domain $cognito_host $host; } }

WMS 맵 서버를 사용하도록 Kibana 구성

Amazon ES에 대한 Kibana의 기본 설치에는 인도 및 중국 리전의 도메인을 제외하고는 맵 서비스가 포함됩니다. 리전에 관계없이 좌표 맵 시각화를 위해 다른 WMS(웹 맵 서비스) 서버를 사용하도록 Kibana를 구성할 수 있습니다. 리전 맵 시각화는 기본 맵 서비스만 지원합니다.

WMS 맵 서버를 사용하도록 Kibana를 구성하려면:

  1. Kibana를 엽니다.

  2. 관리를 선택합니다.

  3. 고급 설정을 선택합니다.

  4. visualization:tileMap:WMSdefaults를 찾습니다.

  5. enabledtrue로 바꾸고 url은 유효한 WMS 맵 서버의 URL로 변경합니다.

    { "enabled": true, "url": "wms-server-url", "options": { "format": "image/png", "transparent": true } }
  6. Save를 선택합니다.

새 기본값을 시각화에 적용하려면 Kibana를 다시 로드해야 할 수 있습니다. 시각화를 저장한 경우 시각화를 연 후 옵션을 선택합니다. WMS 맵 서버가 활성화되어 있고 WMS url에 기본 설정 맵 서버가 포함되어 있는지 확인한 다음 변경 사항 적용을 선택합니다.

참고

맵 서비스에는 종종 라이선스 요금이 부과되거나 제한이 따릅니다. 어떤 맵 서버를 지정하든 간에 그러한 부분은 모두 사용자의 책임입니다. 미국 지질 설문 조사의 맵 서비스가 테스트에 유용할 것입니다.

Amazon ES에 로컬 Kibana 서버 연결

상당한 시간을 투자하여 자체 Kibana 인스턴스를 구성한 경우, Amazon ES에서 제공하는 기본 Kibana 인스턴스 대신(또는 추가로) 그 인스턴스를 사용할 수 있습니다.

로컬 Kibana 서버를 Amazon ES에 연결하려면:

  • config/kibana.yml을 다음과 같이 변경합니다.

    kibana.index: ".kibanalocal" # Use elasticsearch.url for versions older than 6.6 # elasticsearch.url: "https://domain-endpoint:443" # Use elasticsearch.hosts for versions 6.6 and later elasticsearch.hosts: "https://domain-endpoint:443"

이전 버전의 Elasticsearch는 HTTP를 통해서만 작동할 수 있습니다. 모든 경우에 http 또는 https 접두사를 추가합니다. 이전 버전의 경우 포트 80 또는 443을 명시적으로 지정해야 하며, 최신 버전의 경우 포트를 생략할 수 있습니다.

기타 기능

각 Amazon ES 도메인의 기본 Kibana 설치에는 Kibana의 오픈 소스 버전과 비교하여 몇 가지 추가 기능이 있습니다.