使用 OpenSearch 儀表板與 Amazon OpenSearch 服務 - Amazon OpenSearch 服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 OpenSearch 儀表板與 Amazon OpenSearch 服務

OpenSearch 儀表板是一種開放原始碼視覺化工具,專為使用 OpenSearch而設 Amazon OpenSearch 服務為每個服 OpenSearch 務域提供 OpenSearch 儀表板的安裝。

您可以在 OpenSearch 服務主控台的網域 OpenSearch 儀表板上找到儀表板的連結。對於執行中的網域 OpenSearch,URL 為domain-endpoint/_dashboards/。對於執行舊版彈性搜尋的網域,網址為。domain-endpoint/_plugin/kibana

使用此預設 OpenSearch 儀表板安裝的查詢會有 300 秒的逾時時間。

以下各節介紹了 OpenSearch 儀表板的一些常見使用案例:

控制 OpenSearch 儀表板的存取

儀表板本身不支援 IAM 使用者和角色,但 OpenSearch Service 提供了數種控制儀表板存取的解決方案:

使用 Proxy 從 OpenSearch 儀表板存取 OpenSearch 服務

注意

此程序僅當您的網域使用公有存取而您不想使用 Cognito 身分驗證時才適用。請參閱控制 OpenSearch 儀表板的存取

由於儀表板是 JavaScript 應用程式,因此請求源自使用者的 IP 位址。以 IP 為基礎的存取控制可能不切實際,因為您為了每個使用者可以存取 Dashboards,而需要允許的 IP 地址相當龐大。一種解決方法是將代理服務器放置在 OpenSearch 儀表板和 OpenSearch 服務之間。然後,您可以新增 IP 為基礎的存取政策,允許僅從一個 IP 地址 (代理的) 發出請求。下圖顯示此組態。

  1. 這是您的 OpenSearch 服務網域。IAM 提供此網域的授權存取。額外的 IP 為基礎的存取政策提供代理伺服器的存取。

  2. 這是在 Amazon EC2 執行個體上執行的代理伺服器。

  3. 其他應用程式可以使用簽章版本 4 簽署程序,將已驗證的要求傳送至 OpenSearch 服務。

  4. OpenSearch 儀表板用戶端透過 Proxy 連線到您的 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 身分驗證,您可能需要新增 Dashboards 和 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 對應伺服器

OpenSearch 服務用 OpenSearch 儀表板的預設安裝包括地圖服務,印度和中國區域中的網域除外。地圖服務最多支援 10 個縮放比例。

無論您的區域為何,您皆可設定 Dashboards,以將不同的 Web Map Service (WMS) 伺服器用於座標地圖視覺化。區域地圖視覺化僅支援預設地圖服務。

若要設定 Dashboards 以使用 WMS 地圖伺服器:
  1. 開啟 Dashboards。

  2. 選擇 Stack Management (堆疊管理)。

  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. 選擇儲存變更

若要將新的預設值套用到視覺化,您可能需要重新載入 Dashboards。如果您已儲存視覺化,請在開啟視覺化後選擇 Options (選項)。確認 WMS map server (WMS 地圖伺服器) 已啟用且 WMS url 包含您偏好使用的地圖伺服器,然後選擇 Apply changes (套用變更)

注意

地圖服務通常需要授權費或限制。您要對您指定在任何地圖伺服器負責所有這類考量。您可能會發現美國地質調查局的地圖服務適用於測試。

將本機儀表板伺服器連線至 OpenSearch 服務

如果您已經投入了大量時間來設定自己的 OpenSearch 儀表板執行個體,您可以使用它來取代 (或除了) OpenSearch Service 提供的預設儀表板執行個體。下列程序適用於搭配使用精細的存取控制與開放存取政策的網域。

若要將本機 OpenSearch 儀表板伺服器連線至 OpenSearch 服務
  1. 在您的 OpenSearch 服務網域上,建立具有適當權限的使用者:

    1. 在 Dashboards 中,移至 Security (安全性)、Internal users (內部使用者),然後選擇 Create internal user (建立內部使用者)。

    2. 提供使用者名稱和密碼,然後選擇 Create (建立)。

    3. 移至 Roles (角色),然後選取角色。

    4. 選取 Mapped users (映射的使用者),然後選擇 Manage mapping (管理映射)。

    5. Users (使用者) 中,新增您的使用者名稱並選擇 Map (映射)。

  2. 在您的自我管理儀表板 OSS 安裝上下載並安裝適當版本的安 OpenSearch 全性外掛程式

  3. 在您的本機儀表板伺服器上,開啟config/opensearch_dashboards.yml檔案,並使用您先前建立的使用者名稱和密碼新增 OpenSearch Service 端點:

    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 Service 網域上的 OpenSearch 儀表板安裝提供有用的使用者介面,可用來管理網域上不同儲存層中的索引。從 [儀表板] 主功能表選擇 [索引管理],以檢視非常用UltraWarm、冷存放區和存放區中的所有索引,以及由索引狀態管理 (ISM) 原則管理的索引。使用索引管理在暖儲存和冷儲存之間移動索引,並監控三個層級之間的遷移。

請注意,除非您已啟用和/或冷儲存,否則您將不會看到熱索引、溫索引 UltraWarm 和冷索引選項。

額外功能

每個 OpenSearch Service 網域上的預設 OpenSearch 儀表板安裝都有一些其他功能: