在 Amazon OpenSearch 服务中使用 OpenSearch 控制面板 - 亚马逊 OpenSearch 服务

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

在 Amazon OpenSearch 服务中使用 OpenSearch 控制面板

OpenSearch 仪表板是一款开源可视化工具,专为与之配合使用而设计 OpenSearch。Amazon OpenSearch 服务为每个 OpenSearch 服务域提供了 OpenSearch 控制面板的安装。

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

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

以下各节介绍 OpenSearch 仪表板的一些常见用例:

控制对 OpenSearch 仪表板的访问权限

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

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

注意

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

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

  1. 这是您的 OpenSearch 服务域。IAM 提供对此域的授权访问权限。此外,基于 IP 的访问策略提供对代理服务器的访问权限。

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

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

  4. OpenSearch 仪表板客户端通过代理连接到您的 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": [ "123.456.789.123" ] } }, "Resource": "arn:aws:es:us-west-2:111111111111:domain/my-domain/*" } ] }

建议使用弹性 IP 地址配置在代理服务器上运行的 EC2 实例。这样,如果有必要替换实例,仍然可以用相同的公有 IP 地址连接到实例。有关更多信息,请参阅适用于 Linux 实例的 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 仪表板配置为使用 WMS 地图服务器

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

无论您的区域如何,您都可以将 Kibana 配置为使用不同的 Web 地图服务 (WMS) 服务器来提供坐标地图可视化。区域地图可视化只支持默认地图服务。

将控制面板配置为使用 WMS 地图服务器:
  1. 打开控制面板。

  2. 选择堆栈管理

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

  4. 找到 visualization:tileMap:WMSdefaults

  5. enabled 更改为 true 并将 url 更改为有效 WMS 地图服务器的 URL:

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

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

注意

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

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

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

将本地 OpenSearch 仪表板服务器连接到 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'] opensearch_dashboards.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 仪表板中管理索引

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

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

其他功能

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

  • 各种OpenSearch插件的用户界面

  • 租户

  • 报告

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

  • 甘特图

  • 笔记本