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
. Para los dominios que ejecutan una versión heredada de Elasticsearch, la URL es domain-endpoint
/_dashboards/
.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
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:
-
Habilite SAML authentication for Dashboards (Autenticación SAML para Dashboards).
-
Utilice el control de acceso detallado con autenticación básica de HTTP.
-
Configure la autenticación de Cognito para Dashboards.
-
Para los dominios de acceso público, configure una política de acceso basada en IP que utilice o no un servidor proxy.
-
Para los dominios de acceso a la VPC, configure una política de acceso abierto que utilice o no un servidor proxy, y grupos de seguridad para controlar el acceso. Para obtener más información, consulte Acerca de las políticas de acceso en los dominios de VPC.
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.
-
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.
-
Este es el servidor proxy que se ejecuta en una instancia de Amazon EC2.
-
Otras aplicaciones pueden utilizar el proceso de firma Signature Version 4 para enviar solicitudes autenticadas a OpenSearch Service.
-
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:
-
Abra Dashboards.
-
Seleccione Stack Management (Gestión de pilas).
-
Seleccione Advanced Settings (Configuración avanzada).
-
Localice visualization:tileMap:WMSdefaults.
-
Cambie
enabled
atrue
yurl
a la URL de un servidor de mapas WMS válido.{ "enabled": true, "url": "
wms-server-url
", "options": { "format": "image/png", "transparent": true } } -
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
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
-
En el dominio de OpenSearch Service, cree un usuario con los permisos adecuados:
-
En Dashboards, vaya a Security (Seguridad), Internal users (Usuarios internos) y elija Create internal user (Crear usuario interno).
-
Proporcione un nombre de usuario y una contraseña y elija Create (Crear).
-
Vaya a Roles (Roles) y elija un rol.
-
Seleccione Mapped users (Usuarios asignados) y Seleccione Manage mapping (Gestión de mapas).
-
En Users (Usuarios), agregue el nombre de usuario y elija Map (Asignar).
-
-
Descargue e instale la versión apropiada del complemento de seguridad
de OpenSearch en la instalación de OSS de Dashboards autoadministrada. -
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.
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:
-
Interfaces de usuario para los distintos complementos de OpenSearch
-
Utilice Reporting (Informes) para generar informes CSV bajo demanda desde la página Discover e informes PDF o PNG de paneles o visualizaciones. Los informes CSV tienen un límite de 10 000 filas.