Amazon Elasticsearch Service 와 함께 Kibana 사용 - Amazon Elasticsearch Service

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

Amazon Elasticsearch Service 와 함께 Kibana 사용

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

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

Kibana 액세스 제어

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

프록시를 사용하여 키바나에서 Amazon ES에 액세스

참고

이 프로세스는 도메인이 퍼블릭 액세스를 사용하며 Kibana에서 Amazon Cognito 인증 구성를 사용하고 싶지 않을 때만 적용됩니다. 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 주소를 계속 연결할 수 있습니다. 자세한 내용은 다음을 참조하세요.탄력적 IP 주소Linux 인스턴스용 Amazon EC2 사용 설명서.

프록시 서버를 사용하는 경우 Kibana에서 Amazon Cognito 인증 구성을 사용하려면 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의 기본 설치에는 인도 및 중국 리전의 도메인을 제외하고는 맵 서비스가 포함됩니다. 지도 서비스는 최대 10개의 줌 레벨을 지원합니다.

리전에 관계없이 좌표 맵 시각화를 위해 다른 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에 연결하려면:

다음 단계는 사용 하는 도메인에 대 한 작동 합니다.Amazon Elasticsearch Service 세분화된 액세스 제어을 오픈 액세스 정책으로 변경합니다.

Amazon ES 도메인에서 적절한 권한을 가진 사용자를 생성합니다.

  1. 키바나 (Kibana) 에서보안,내부 사용자을 선택하고내부 사용자 생성.

  2. 사용자 이름과 암호를 입력하고 []생성.

  3. 이동Roles을 열고 역할을 선택합니다.

  4. Select매핑된 사용자를 선택하고매핑 관리.

  5. In사용자에서 사용자 이름을 추가하고.

로컬 Kibana 서버에서config/kibana.yml파일을 열고 사용자 이름과 암호를 사용하여 Amazon ES 엔드포인트에 추가하십시오.

elasticsearch.hosts: ['<amazon-elasticsearch-endpoint>'] elasticsearch.username: 'username' elasticsearch.password: 'password'

다음 샘플을 사용할 수 있습니다.kibana.yml파일:

server.host: '0.0.0.0' elasticsearch.hosts: ['<amazon-elasticsearch-url>'] kibana.index: ".username" elasticsearch.ssl.verificationMode: none # if not using HTTPS opendistro_security.auth.type: basicauth opendistro_security.auth.anonymous_auth_enabled: false opendistro_security.cookie.secure: false # set to true when using HTTPS opendistro_security.cookie.ttl: 3600000 opendistro_security.session.ttl: 3600000 opendistro_security.session.keepalive: false opendistro_security.multitenancy.enabled: false opendistro_security.readonly_mode.roles: ['kibana_read_only'] opendistro_security.auth.unauthenticated_routes: [] opendistro_security.basicauth.login.title: 'Please log in using your user name and password' elasticsearch.username: 'username' elasticsearch.password: 'password' elasticsearch.requestHeadersWhitelist: [ authorization, securitytenant, security_tenant, ]

Amazon ES 인덱스를 보려면 로컬 Kibana 서버를 시작하고개발자 도구을 열고 다음 명령을 실행합니다.

GET _cat/indices

지수표 속 키바나

Amazon ES 도메인에 Kibana를 설치하면 도메인의 여러 스토리지 계층에서 인덱스를 관리하는 데 유용한 UI를 사용할 수 있습니다. 선택인덱스 관리를 사용하여 모든 색인을 뜨거운 색인을 볼 수 있습니다.UltraWarm, 및콜드스토리지와 ISM (인덱스 상태 관리) 정책에 의해 관리되는 인덱스가 포함됩니다. 인덱스 관리를 사용하여 웜 스토리지와 콜드 스토리지 간에 인덱스를 이동하고 세 계층 간의 마이그레이션을 모니터링할 수 있습니다.

기타 기능

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

  • 다양한 사용자 인터페이스Open Distro for Elasticsearch 플러그인

  • 테넌트

  • 보고서

    사용보고메뉴를 사용하여 검색 페이지와 대시보드 또는 시각화의 PDF 또는 PNG 보고서에서 주문형 CSV 보고서를 생성할 수 있습니다. CSV 보고서에는 행 제한이 10,000개 있으며 Amazon ES는 예약된 보고서를 지원하지 않습니다.

  • 간트 차트

  • 노트북 (실험적)