将控制面板(与集群同置)与 Amazon OpenSearch 服务配合使用 - 亚马逊 OpenSearch 服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将控制面板(与集群同置)与 Amazon OpenSearch 服务配合使用

仪表板(与集群同置)是一种开源可视化工具,专为与之配 OpenSearch合使用而设计。Amazon OpenSearch 服务为每个 OpenSearch 服务域提供了控制面板的安装。仪表板在域中的热门数据节点上运行。如果您正在寻找有关在一个端点上支持多个数据源的全新集中式 OpenSearch 用户界面的文档,请参阅集中式用户 OpenSearch 界面(仪表板)

您可以在 OpenSearch 服务控制台的域名控制面板上找到指向仪表板的链接。对于正在运行的域 OpenSearch,URL是domain-endpoint/_dashboards/。对于运行旧版 Elasticsearch 的域名,则URL为。domain-endpoint/_plugin/kibana

使用此默认仪表板安装进行查询的超时时间为 300 秒。

注意

本文档讨论了 Amazon OpenSearch 服务背景下的控制面板,包括连接该服务的不同方式。有关全面的文档,包括入门指南、仪表板创建说明、仪表板管理和仪表板查询语言 (DQL),请参阅开源 OpenSearch 文档中的OpenSearch 仪表板

控制对仪表板的访问权限

仪表板本身不支持IAM用户和角色,但是 Ser OpenSearch vice 提供了多种控制仪表板访问权限的解决方案:

使用代理从仪表板访问 OpenSearch 服务

注意

仅当域使用公有访问权限并且您不想使用 Cognito 身份验证时,此过程才适用。请参阅 控制对仪表板的访问权限

由于仪表板是一个 JavaScript 应用程序,因此请求来自用户的 IP 地址。基于 IP 的访问控制可能是不切实际的,这是因为,为了让每个用户能够访问 Kibana,需要加入白名单的 IP 地址绝对数量太巨大。一种解决方法是在仪表板和 OpenSearch 服务之间放置代理服务器。然后,您可以添加基于 IP 的访问策略,仅允许来自一个 IP 地址(即代理服务器)的请求。下图演示了此配置。

OpenSearch Service architecture with VPC, proxy, and client components for secure access.
  1. 这是您的 OpenSearch 服务域。IAM提供对该域的授权访问权限。此外,基于 IP 的访问策略提供对代理服务器的访问权限。

  2. 这是在 Amazon EC2 实例上运行的代理服务器。

  3. 其他应用程序可以使用签名版本 4 签名过程向 OpenSearch 服务发送经过身份验证的请求。

  4. 仪表板客户端通过代理连接到您的 OpenSearch 服务域。

要启用这种配置,需要在基于资源的策略中指定角色和 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":[ "203.0.113.0/24", "2001:DB8:1234:5678::/64" ] } }, "Resource":"arn:aws:es:us-west-2:111111111111:domain/my-domain/*" } ] }

我们建议您为运行代理服务器的EC2实例配置弹性 IP 地址。这样,如果有必要替换实例,仍然可以用相同的公有 IP 地址连接到实例。要了解更多信息,请参阅 Amazon EC2 用户指南中的弹性 IP 地址

如果使用代理服务器 Cognito 身份验证,则可能需要添加控制面板和 Amazon Cognito 的设置以避免 redirect_mismatch 错误。请参阅以下 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; } }
注意

(可选)如果您选择配置专用的协调器节点,它将自动开始托管 OpenSearch 控制面板。因此,数据节点资源(例如CPU和内存)的可用性得到提高。由于数据节点资源的可用性提高,这将有助于提高域的整体韧性。

将仪表板配置为使用WMS地图服务器

默认安装的 Dashboard OpenSearch s for Service 包括地图服务,但印度和中国地区的域名除外。地图服务最多支持 10 个缩放级别。

无论您所在的区域如何,您都可以将仪表板配置为使用不同的 Web 地图服务 (WMS) 服务器进行坐标地图可视化。区域地图可视化只支持默认地图服务。

要将仪表板配置为使用WMS地图服务器,请执行以下操作:
  1. 打开控制面板。

  2. 选择堆栈管理

  3. 选择 Advanced Settings (高级设置)

  4. 找到可视化:tileMap: WMSdefaults.

  5. 更改enabled为有效地图服务器trueurl更改为有效WMS地图服务器:URL

    { "enabled": true, "url": "wms-server-url", "options": { "format": "image/png", "transparent": true } }
  6. 选择 Save changes(保存更改)

要将新的默认值应用于可视化,您可能需要重新加载控制面板。如果已保存可视化,请在打开可视化后,选择 Options (选项)。确认WMS地图服务器已启用且 WMSurl 包含您的首选地图服务器,然后选择应用更改

注意

地图服务通常具有许可费用或限制。您负责考虑有关指定的任何地图服务器的所有此类事项。您可能会发现来自美国地质调查局的地图服务对测试非常有用。

将本地仪表板服务器连接到 OpenSearch 服务

如果您已经投入了大量时间来配置自己的仪表板实例,则可以使用它来代替 S OpenSearch ervice 提供的默认 Dashboards 实例(或补充)。以下过程适用于将精细访问控制和开放访问策略结合使用的域。

将本地仪表板服务器连接到 OpenSearch 服务
  1. 在您的 OpenSearch 服务域上,创建具有相应权限的用户:

    1. 在控制面板中,转到安全内部用户,然后选择创建内部用户

    2. 提供用户名和密码,然后选择创建

    3. 转到角色,然后选择一个角色。

    4. 选择映射的用户,然后选择管理映射

    5. 用户中,添加您的用户名,然后选择映射

  2. 在自行管理的 Dashboards 安装中下载并OSS安装相应版本 OpenSearch 的安全插件

  3. 在您的本地 Dashboards 服务器上,打开config/opensearch_dashboards.yml文件并使用您之前创建的用户名和密码添加您的 OpenSearch 服务端点:

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

    您可以使用以下示例 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]

要查看您的 OpenSearch 服务索引,请启动本地仪表板服务器,转到开发工具并运行以下命令:

GET _cat/indices

在仪表板中管理索引

OpenSearch 服务域上安装的仪表板提供了一个有用的用户界面,用于管理域中不同存储层中的索引。从 “仪表板” 主菜单中选择 “索引管理UltraWarm,查看热存储和存储中的所有索引,以及由索引状态管理 (ISM) 策略管理的索引。使用索引管理可以在热存储和冷存储之间移动索引,并监视三个层之间的迁移。

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

请注意,除非启用了和 UltraWarm /或冷存储,否则您不会看到热索引、温索引和冷索引选项。

其他功能

在每个 OpenSearch 服务域上安装的默认仪表板还有一些其他功能:

  • 各种OpenSearch插件的用户界面

  • 租户

  • 报告

    使用 “报告” 菜单从 “发现” 页面生成按需CSV报告和/或仪表板PDF或可视化效果PNG报告。CSV报告的行数限制为 10,000。

  • 甘特图

  • 笔记本