Utilización de OpenSearch Dashboards con Amazon OpenSearch Service - Amazon OpenSearch Service

Utilización de OpenSearch Dashboards con Amazon OpenSearch Service

OpenSearch Dashboards es una herramienta popular de visualización de código abierto diseñada para trabajar con OpenSearch. Amazon OpenSearch Service proporciona una instalación de OpenSearch Dashboards con todos los dominios de OpenSearch Service. OpenSearch Dashboards se ejecuta en los nodos de datos más importantes del dominio.

Puede encontrar un enlace a OpenSearch Dashboards en el panel del dominio en la consola de OpenSearch Service. Para los dominios que ejecutan OpenSearch, la URL es domain-endpoint/_dashboards/. Para los dominios que ejecutan una versión heredada de Elasticsearch, la URL es domain-endpoint/_plugin/kibana.

Las consultas que utilizan esta instalación de OpenSearch Dashboards predeterminada tienen un tiempo de espera de 300 segundos.

nota

En esta documentación se analiza OpenSearch Dashboards en el contexto de Amazon OpenSearch Service, incluidas las diferentes formas de conectarse a ellos. Para obtener una documentación completa, que incluye una guía de introducción, instrucciones para crear un panel, administración de paneles y el lenguaje de consulta de paneles (DQL), consulte OpenSearch Dashboards en la documentación de OpenSearch de código abierto.

Las siguientes secciones resuelven algunos casos de uso comunes de OpenSearch Dashboards:

Control del acceso a OpenSearch Dashboards

Dashboards no admite de forma nativa los usuarios y roles de IAM, pero OpenSearch Service ofrece varias soluciones para controlar el acceso a Dashboards:

Utilización de un proxy para acceder a OpenSearch Service desde OpenSearch Dashboards

nota

Este proceso solo es de aplicación si el dominio utiliza acceso público y no se desea emplear la autenticación de Cognito. Consulte Control del acceso a OpenSearch Dashboards.

Dado que Dashboards es una aplicación de JavaScript, las solicitudes provienen de la dirección IP del usuario. El control de acceso basado en IP podría resultar poco práctico debido al gran número de direcciones IP a las que sería necesario brindar acceso para que cada usuario tenga acceso a Dashboards. Una alternativa consiste en colocar un servidor proxy entre OpenSearch Dashboards y OpenSearch Service. 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.

OpenSearch Service architecture with VPC, proxy, and client components for secure access.
  1. Este es el dominio de OpenSearch Service. 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 de Amazon EC2.

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

  4. Los clientes de OpenSearch Dashboards se conectan a su dominio de OpenSearch Service 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, 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":[ "203.0.113.0/24", "2001:DB8:1234:5678::/64" ] } }, "Resource":"arn:aws:es:us-west-2:111111111111:domain/my-domain/*" } ] }

Recomendamos configurar la instancia EC2 mediante la ejecución del el servidor proxy con una dirección IP elástica. De esta forma, puede sustituir la instancia cuando sea necesario y continuar 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.

Si utiliza un servidor proxy y la autenticación de Cognito, es posible que tenga que agregar parámetros de configuración para Dashboards y Amazon Cognito con el fin de evitar errores de tipo redirect_mismatch. Consulte el siguiente ejemplo de nginx.conf:

server { listen 443; server_name $host; rewrite ^/$ https://$host/_plugin/_dashboards 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/_dashboards { # Forward requests to Dashboards proxy_pass https://$dashboards_host/_plugin/_dashboards; # Handle redirects to Cognito proxy_redirect https://$cognito_host https://$host; # Update cookie domain and path proxy_cookie_domain $dashboards_host $host; proxy_cookie_path / /_plugin/_dashboards/; # 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 Dashboards proxy_redirect https://$dashboards_host https://$host; # Update cookie domain proxy_cookie_domain $cognito_host $host; } }
nota

(Opcional) Si decide aprovisionar un nodo coordinador dedicado, este comenzará a alojar automáticamente OpenSearch Dashboards. Como resultado, aumenta la disponibilidad de los recursos del nodo de datos, como la CPU y la memoria. Esta mayor disponibilidad de los recursos de los nodos de datos puede ayudar a mejorar la resiliencia general de su dominio.

Configuración de OpenSearch Dashboards para utilizar un servidor de mapas de WMS

La instalación predeterminada de OpenSearch Dashboards para OpenSearch Service incluye un servicio de mapas, excepto para los dominios en las regiones de India y China. El servicio de mapas admite hasta 10 niveles de acercamiento/alejamiento.

Con independencia de la región, puede configurar Dashboards 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 Dashboards para que utilice un servidor de mapas de WMS:
  1. Abra Dashboards.

  2. Seleccione Stack Management (Gestión de pilas).

  3. Seleccione 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 changes (Guardar cambios).

Para aplicar el nuevo valor predeterminado a las visualizaciones, es posible que deba volver a cargar Dashboards. Si guardó visualizaciones, elija Options (Opciones) después de abrir la visualización. Verifique que el Servidor de mapas WMS esté habilitado y que la URL de WMS contenga el servidor de mapas preferido y, a continuación, elija Apply changes (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 local de Dashboards a OpenSearch Service

Si invirtió mucho tiempo en configurar su propia instancia de OpenSearch Dashboards, podrá utilizarla en lugar de (o además de) la instancia predeterminada de Dashboards que OpenSearch Service ofrece. El siguiente procedimiento sirve para dominios que utilicen el control de acceso detallado con una política de acceso abierto.

Para conectar un servidor de OpenSearch Dashboards local a OpenSearch Service
  1. En el dominio de OpenSearch Service, cree un usuario con los permisos adecuados:

    1. En Dashboards, vaya a Security (Seguridad), Internal users (Usuarios internos) y elija Create internal user (Crear usuario interno).

    2. Proporcione un nombre de usuario y una contraseña y elija Create (Crear).

    3. Vaya a Roles (Roles) y elija un rol.

    4. Seleccione Mapped users (Usuarios asignados) y Seleccione Manage mapping (Gestión de mapas).

    5. En Users (Usuarios), agregue el nombre de usuario y elija Map (Asignar).

  2. Descargue e instale la versión apropiada del complemento de seguridad de OpenSearch en la instalación de OSS de Dashboards autoadministrada.

  3. En el servidor local de Dashboards, abra el archivo config/opensearch_dashboards.yml y agregue el punto de enlace de OpenSearch Service con el nombre de usuario y la contraseña que creó anteriormente:

    opensearch.hosts: ['https://domain-endpoint'] opensearch.username: 'username' opensearch.password: 'password'

    Puede utilizar el siguiente ejemplo de archivo opensearch_dashboards.yml:

    server.host: '0.0.0.0' opensearch.hosts: ['https://domain-endpoint'] opensearchDashboards.index: ".username" opensearch.ssl.verificationMode: none # if not using HTTPS opensearch_security.auth.type: basicauth opensearch_security.auth.anonymous_auth_enabled: false opensearch_security.cookie.secure: false # set to true when using HTTPS opensearch_security.cookie.ttl: 3600000 opensearch_security.session.ttl: 3600000 opensearch_security.session.keepalive: false opensearch_security.multitenancy.enabled: false opensearch_security.readonly_mode.roles: ['opensearch_dashboards_read_only'] opensearch_security.auth.unauthenticated_routes: [] opensearch_security.basicauth.login.title: 'Please log in using your username and password' opensearch.username: 'username' opensearch.password: 'password' opensearch.requestHeadersWhitelist: [authorization, securitytenant, security_tenant]

Para ver los índices de OpenSearch Service, inicie el servidor local de Dashboards, vaya a Herramientas para desarrolladores y ejecute el siguiente comando:

GET _cat/indices

Administración de índices en OpenSearch Dashboards

La instalación de OpenSearch Dashboards en el dominio de OpenSearch Service proporciona una interfaz de usuario útil para administrar índices en diferentes niveles de almacenamiento del dominio. Seleccione Index Management (Administración de índices) desde el menú principal de Dashboards para ver todos los índices en los tipos de almacenamiento en caliente, UltraWarm y en frío, así como los índices administrados por políticas de administración de estados de índices (ISM). Utilice la administración de índices para mover índices entre el almacenamiento en frío y el almacenamiento en caliente y para monitorear las migraciones entre los tres niveles.

Index management interface showing cold indices with options to move to warm storage.

Tenga en cuenta que no verá las opciones de índice de calor, templado y frío a menos que tenga habilitado el almacenamiento UltraWarm o en frío.

Características adicionales

La instalación predeterminada de OpenSearch Dashboards en cada dominio de OpenSearch Service cuenta con algunas características adicionales: