

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

# 在 Amazon OpenSearch 服务中使用 OpenSearch 控制面板
<a name="dashboards"></a>

OpenSearch 仪表板是一款开源可视化工具，专为与之配合使用而设计 OpenSearch。Amazon OpenSearch 服务为每个 OpenSearch 服务域提供了控制面板的安装。控制面板在域中的热门数据节点上运行。

OpenSearch 仪表板是一种可视化工具，用于浏览和分析单个 OpenSearch 域中的数据。相比之下，集中式 OpenSearch 用户界面（也称为 OpenSearch 应用程序）是一个基于云的用户界面，可连接到多个 OpenSearch域、 OpenSearch 无服务器集合和 Amazon 数据源。该用户界面包含适用于特定使用案例（例如可观测性和安全分析）的工作区，并提供跨数据集的统一体验。虽然控制面板与单个域相关联，但集中式用户界面支持跨域数据集成和分析。有关更多信息，请参阅 [在 Amazon OpenSearch 服务中使用 OpenSearch 用户界面](application.md)。

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

使用此默认控制面板安装的查询具有 300 秒超时。

**注意**  
本文档讨论了 Amazon OpenSearch 服务背景下的 OpenSearch 控制面板，包括连接该服务的不同方式。有关全面的文档，包括入门指南、仪表板创建说明、仪表板管理和仪表板查询语言 (DQL)，请参阅开源 OpenSearch 文档中的[OpenSearch 仪表板](https://opensearch.org/docs/latest/dashboards/)。

## 控制对控制面板的访问
<a name="dashboards-access"></a>

仪表板本身不支持 IAM 用户和角色，但 OpenSearch 服务提供了多种控制仪表板访问权限的解决方案：
+ 启用[面向控制面板的 SAML 身份验证](saml.md)。
+ 将[访问权限的精细控制](fgac.md#fgac-concepts)和 HTTP 基本身份验证结合使用。
+ 配置[控制面板的 Cognito 身份验证](cognito-auth.md)。
+ 对于公有访问阈，配置一个[基于 IP 的访问策略](ac.md#ac-types-ip)（使用或不使用[代理服务器](#dashboards-proxy)）。
+ 对于 VPC 访问阈，配置一个开放访问策略（使用或不使用代理服务器）并使用[安全组](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_SecurityGroups.html)来控制访问权限。要了解更多信息，请参阅[关于 VPC 域的访问策略](vpc.md#vpc-security)。

### 使用代理从仪表板访问 OpenSearch 服务
<a name="dashboards-proxy"></a>

**注意**  
仅当域使用公有访问权限并且您不想使用 [Cognito 身份验证](cognito-auth.md)时，此过程才适用。请参阅[控制对控制面板的访问](#dashboards-access)。

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

![OpenSearch Service 包含 VPC、代理和客户端组件的架构，用于安全访问。](http://docs.amazonaws.cn/opensearch-service/latest/developerguide/images/KibanaProxy.png)


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

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

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

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

要启用这种配置，需要在基于资源的策略中指定角色和 IP 地址。下面是示例策略：

------
#### [ JSON ]

****  

```
{
   "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/*"
      }
   ]
}
```

------

建议使用弹性 IP 地址配置在代理服务器上运行的 EC2 实例。这样，如果有必要替换实例，仍然可以用相同的公有 IP 地址连接到实例。要了解更多信息，请参阅《Amazon EC2 用户指南》中的 [弹性 IP 地址](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)**。

如果使用代理服务器*和* [Cognito 身份验证](cognito-auth.md)，则可能需要添加控制面板和 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 地图服务器
<a name="dashboards-map-server"></a>

默认安装的 OpenSearch 服务仪表板包括地图服务，但印度和中国地区的域名除外。地图服务最多支持 10 个缩放级别。

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

**将控制面板配置为使用 WMS 地图服务器：**

1. 打开控制面板。

1. 选择**堆栈管理**。

1. 选择 **Advanced Settings (高级设置)**。

1. 定位**可视化:TileMap:. WMSdefaults** 

1. 将 `enabled` 更改为 `true` 并将 `url` 更改为有效 WMS 地图服务器的 URL：

   ```
   {
     "enabled": true,
     "url": "{{wms-server-url}}",
     "options": {
       "format": "image/png",
       "transparent": true
     }
   }
   ```

1. 选择**保存更改**。

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

**注意**  
地图服务通常具有许可费用或限制。您负责考虑有关指定的任何地图服务器的所有此类事项。您可能会发现来自[美国地质调查局](https://www.usgs.gov/products/maps)的地图服务对测试非常有用。

## 将本地仪表板服务器连接到 OpenSearch 服务
<a name="dashboards-local"></a>

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

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

1. 在您的 OpenSearch 服务域上，创建具有相应权限的用户：

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

   1. 提供用户名和密码，然后选择**创建**。

   1. 转到**角色**，然后选择一个角色。

   1. 选择**映射的用户**，然后选择**管理映射**。

   1. 在**用户**中，添加您的用户名，然后选择**映射**。

1. 在自行管理的 Dashboards OSS 安装中下载并安装相应版本 OpenSearch [的安全插件](https://docs.opensearch.org/latest/dashboards/install/plugins/#install)。

1. 在您的本地 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
```

## 管理控制面板中的索引
<a name="dashboards-indices"></a>

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

![索引管理界面显示冷索引，以及移至温存储的选项。](http://docs.amazonaws.cn/opensearch-service/latest/developerguide/images/KibanaIndices.png)


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

## 其他功能
<a name="dashboards-additions"></a>

在每个 OpenSearch 服务域上安装的默认仪表板还有一些其他功能：
+ 各种[OpenSearch插件](supported-plugins.md)的用户界面
+ [租户](fgac.md#fgac-multitenancy)
+ [报告](https://opensearch.org/docs/latest/dashboards/reporting/)

  使用**报告**菜单可从“发现”页面生成按需 CSV 报告，以及仪表板或可视化的 PDF 或 PNG 报告。CSV 报告的行数限制为 10,000。
+ [甘特图](https://docs.opensearch.org/latest/observing-your-data/trace/ta-dashboards/)
+ [笔记本](https://opensearch.org/docs/latest/observability-plugin/notebooks/)