Kibana - Amazon Elasticsearch Service

Se fornecermos uma tradução da versão em inglês do guia, a versão em inglês prevalecerá caso haja qualquer conflito entre as versões. A tradução é fornecida com o uso de tradução por máquina.

Kibana

O Kibana é uma conhecida ferramenta de visualização de código aberto projetada para funcionar com o Elasticsearch. O Amazon ES oferece uma instalação padrão do Kibana com cada domínio do Amazon ES. Você pode encontrar um link para o Kibana em seu painel de domínio no console do Amazon ES. O URL é domain-endpoint/_plugin/kibana/. Os pedidos utilizando esta instalação Kibana predefinida têm um tempo limite de 300 segundos.

As seções a seguir abordam alguns casos de uso comuns do Kibana:

Controlar acesso ao Kibana

O Kibana não dá suporte nativo a usuários e funções do IAM, mas o Amazon ES oferece diversas soluções para controlar o acesso ao Kibana:

Configuração do domínio Opções de controle do acesso
Acesso público
Acesso à VPC

Usar um proxy para acessar o Amazon ES do Kibana

nota

Esse processo só será aplicável se o domínio usar acesso público e você não quiser usar Autenticação do Amazon Cognito para o Kibana. Consulte Controlar acesso ao Kibana.

Como o Kibana é um aplicativo JavaScript, as solicitações são originadas no endereço IP do usuário. O controlo de acesso baseado em IP pode ser impraticável devido ao número absoluto de endereços IP que teria de permitir para cada utilizador ter acesso a Kibana. Uma solução é colocar um servidor de proxy entre o Kibana e o Amazon ES. Em seguida, você pode adicionar uma política de acesso com base em IP que permite solicitações de apenas um endereço IP, o do proxy. O diagrama a seguir mostra essa configuração.

  1. Este é o seu Amazon ES domínio. O IAM fornece acesso autorizado para este domínio. Uma política de acesso adicional com base em IP fornece acesso ao servidor de proxy.

  2. Esse é o servidor de proxy, em execução em uma instância do Amazon EC2.

  3. Outros aplicativos podem usar o processo de assinatura do Signature versão 4 para enviar solicitações autenticadas para o Amazon ES.

  4. Os clientes do Kibana se conectam ao seu domínio do Amazon ES através do proxy.

Para habilitar esse tipo de configuração, você precisa de uma política com base em recursos que especifica funções e endereços IP. Aqui está um exemplo de política:

{ "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/*" } ] }

Recomendamos configurar a instância do EC2 executando o servidor de proxy com um endereço IP elástico. Dessa forma, você pode substituir a instância quando necessário e ainda anexar o mesmo endereço IP público. Para saber mais, consulte Endereços IP elásticos no Guia do usuário do Amazon EC2 para instâncias do Linux.

Se usar um servidor de proxy e Autenticação do Amazon Cognito para o Kibana, você poderá precisar adicionar configurações do Kibana e do Amazon Cognito para evitar erros redirect_mismatch. Veja o exemplo nginx.conf a seguir:

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; } }

Configurar o Kibana para usar um servidor de mapas WMS

A instalação padrão do Kibana para o Amazon ES inclui um serviço de mapa, exceto para domínios nas regiões da Índia e da China. Independentemente da sua região, é possível configurar o Kibana para usar um servidor diferente do Web Map Service (WMS) para visualizações do mapa de coordenadas. As visualizações de mapa de região oferecem suporte apenas ao serviço de mapa padrão.

Para configurar o Kibana para usar um servidor de mapas WMS:

  1. Abra o Kibana.

  2. Escolha Management.

  3. Escolha Advanced Settings.

  4. Localize visualization:tileMap:WMSdefaults.

  5. Altere enabled para true e url para o URL de um servidor de mapas WMS válido:

    { "enabled": true, "url": "wms-server-url", "options": { "format": "image/png", "transparent": true } }
  6. Selecione Save (Salvar).

Para aplicar o novo valor padrão a visualizações, pode ser necessário recarregar o Kibana. Se você salvou as visualizações, selecione Opções depois de abrir a visualização. Verifique se o Servidor de mapas WMS está habilitado e se o URL do WMS contém o servidor de mapas de sua preferência e selecione Aplicar alterações.

nota

Os serviços de mapa costumam ter taxas ou restrições de licenciamento. Você será responsável por todos esses fatores em qualquer servidor de mapas que especificar. Você pode encontrar os serviços de mapa em U.S. Geological Survey, útil para testes.

Conexão de um servidor Kibana local com o Amazon ES

Se você tiver investido um tempo significativo para configurar sua instância do Kibana, poderá usá-la no lugar da (ou adicionalmente à) instância padrão do Kibana fornecida pelo Amazon ES.

Para se conectar a um servidor Kibana local com o Amazon ES:

  • Faça as seguintes alterações em 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"

Versões mais antigas do Elasticsearch talvez funcionem somente por HTTP. Em todos os casos, adicione o prefixo http ou https. Para versões mais antigas, você deve especificar explicitamente a porta 80 ou 443. Para versões mais recentes, é possível omitir a porta.