Kibana - Amazon Elasticsearch Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Kibana

Kibana es una herramienta popular de visualización de código abierto diseñada para funcionar con Elasticsearch. Amazon ES proporciona una instalación de Kibana con cada dominio de Amazon ES. Puede encontrar un enlace a Kibana en el panel del dominio en la consola de Amazon ES. El URL es domain-endpoint/_plugin/kibana/. Las consultas que usan esta instalación de Kibana predeterminada tienen un tiempo de espera de 300 segundos.

Las siguientes secciones resuelven algunos casos de uso comunes de Kibana:

Control del acceso a Kibana

Kibana no admite de forma nativa los usuarios y roles de IAM, pero Amazon ES ofrece varias soluciones para controlar el acceso a Kibana:

Uso de un proxy para acceder a Amazon ES desde Kibana

nota

Este proceso solo se aplica si el dominio utiliza el acceso público y no se desea utilizar Amazon CognitoAutenticación de para Kibana. Consulte Control del acceso a Kibana.

Dado que Kibana es una aplicación de JavaScript, las solicitudes provienen de la dirección IP del usuario. El control de acceso basado en IP puede ser poco práctico debido al gran número de direcciones IP que tendría que permitir para que cada usuario tuviera acceso a Kibana. Una alternativa consiste en colocar un servidor proxy entre Kibana y Amazon ES. A continuación, puede agregar una política de acceso basada en IP que permita solicitudes desde solo una única dirección IP, la del proxy. En el siguiente diagrama se muestra esta configuración.

  1. Este es su dominio de Amazon ES. IAM proporciona acceso autorizado a este dominio. Otra política de acceso basada en IP proporciona acceso al servidor proxy.

  2. Este es el servidor proxy, que se ejecuta en una instancia Amazon EC2.

  3. Otras aplicaciones pueden utilizar el proceso de firma Signature Version 4 para enviar solicitudes autenticadas a Amazon ES.

  4. Los clientes de Kibana se conectan a su dominio de Amazon ES a través del proxy.

Para habilitar esta clase de configuración, necesita una política basada en recursos que especifica funciones y direcciones IP. A continuación, le mostramos un ejemplo 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/*" } ] }

Le recomendamos que configure la instancia EC2 ejecutando el servidor proxy con una dirección IP elástica. De esta forma, puede sustituir la instancia cuando sea necesario y seguir adjuntando la misma dirección IP pública a la misma. Para obtener más información, consulte Direcciones IP elásticas en la Guía del usuario de Amazon EC2 para instancias de Linux.

Si utiliza un servidor proxy y Amazon CognitoAutenticación de para Kibana, es posible que tenga que añadir opciones para Kibana y Amazon Cognito con objeto de evitar errores de tipo redirect_mismatch. Consulte el siguiente ejemplo de 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; } }

Configuración de Kibana para utilizar un servidor de mapas WMS

La instalación predeterminada de Kibana para Amazon ES incluye un servicio de mapas, excepto los dominios de las regiones India y China. El servicio de mapas admite hasta 10 niveles de zoom.

Con independencia de su región, puede configurar Kibana para que utilice un servidor de Web Map Service (WMS) diferente para las visualizaciones de mapas de coordenadas. Las visualizaciones de mapas de región solo admiten el servicio de mapas predeterminado.

Para configurar Kibana a fin de utilizar un servidor de mapas WMS:

  1. Abrir Kibana.

  2. Elija Management (Administración).

  3. Elija Advanced Settings (Configuración avanzada).

  4. Localice visualization:tileMap:WMSdefaults.

  5. Cambie enabled a true y url a la URL de un servidor de mapas WMS válido.

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

Para aplicar el nuevo valor predeterminado a las visualizaciones, es posible que deba volver a cargar Kibana. Si ha guardado visualizaciones, elija Opciones después de abrir la visualización. Compruebe que el Servidor de mapas WMS está habilitado y la URL de WMS contiene el servidor de mapas preferido y, a continuación, elija Aplicar cambios.

nota

Los servicios de mapa suelen estar sujetos a restricciones o cuotas de licencias. El usuario es responsable de todas estas consideraciones en cualquier servidor de mapas que especifique. Los servicios de mapa de U.S. Geological Survey podrían resultarle útiles para hacer pruebas.

Conexión de un servidor Kibana local a Amazon ES

Si ha invertido mucho tiempo en configurar su propia instancia de Kibana, podrá utilizarla en lugar de (o además de) la instancia predeterminada de Kibana que Amazon ES ofrece.

Para conectar un servidor Kibana local a Amazon ES:

  • Realice los siguientes cambios en 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"

Es posible que las versiones anteriores de Elasticsearch funcionen solo a través de HTTP. En todos los casos, añada el prefijo http o https. Para versiones anteriores, debe especificar explícitamente el puerto 80 o 443. Para las versiones más recientes, puede omitir el puerto.

Características adicionales

La instalación de Kibana predeterminada en cada Amazon ES dominio tiene algunas características adicionales en comparación con la versión de código abierto de Kibana: