Link Search Menu Expand Document Documentation Menu

自定义品牌

1.2 中引入

默认情况下,OpenSearch Dashboards 使用 OpenSearch 徽标,但如果您想使用自定义品牌元素,如网站图标或主 Dashboards 徽标,可以通过编辑 opensearch_dashboards.yml 文件,或在启动 OpenSearch 集群时包含自定义的 opensearch_dashboards.yml 文件来实现。

例如,如果您使用 Docker 启动 OpenSearch 集群,请在 docker-compose.yml 文件的 opensearch-dashboards 部分中包含以下行:

volumes:
  - ./opensearch_dashboards.yml:/usr/share/opensearch-dashboards/config/opensearch_dashboards.yml

这样做会用您的自定义 opensearch_dashboards.yml 文件替换 Docker 镜像的默认 opensearch_dashboards.yml,因此请务必同时包含您想要的设置。例如,如果您想为 OpenSearch Dashboards 配置 TLS,请参阅 为 OpenSearch Dashboards 配置 TLS

重新启动 OpenSearch Dashboards 后,它将使用您的自定义元素。

品牌元素

OpenSearch Dashboards 中的以下元素是可自定义的:

OpenSearch customizable branding elements

设置 对应品牌元素
logo 页眉徽标。参见图片中的 #1。
mark OpenSearch Dashboards 标志。参见图片中的 #2。
loadingLogo OpenSearch Dashboards 启动时使用的加载徽标。参见图片中的 #3。
faviconUrl 网站图标。加载在应用程序标题旁边。参见图片中的 #4。
applicationTitle 应用程序的标题。参见图片中的 #5。

要整合导航控件并减少页眉占据的页面空间,请参阅精简页眉

要在 OpenSearch Dashboards 中开始使用您自己的品牌元素,首先取消 opensearch_dashboards.yml 文件中此部分的注释:

# opensearchDashboards.branding:
  # logo:
    # defaultUrl: ""
    # darkModeUrl: ""
  # mark:
    # defaultUrl: ""
    # darkModeUrl: ""
  # loadingLogo:
    # defaultUrl: ""
    # darkModeUrl: ""
  # faviconUrl: ""
  # applicationTitle: ""

将您想用作品牌元素的 URL 添加到相应的设置。有效的图像类型是 SVGPNGGIF

深色模式 Dashboards 也可以自定义,但您必须首先提供 defaultUrl 的有效链接,然后使用 darkModeUrl 链接到您喜欢的图像。如果您不提供 darkModeUrl 链接,那么 Dashboards 将使用提供的 defaultUrl 元素作为深色模式。您无需自定义所有品牌元素,因此,如果您愿意,只更改徽标或任何其他元素是完全有效的。未更改的元素请保持注释状态。

以下示例演示了如何使用 SVG 文件作为徽标,但将其他元素保留为默认值。

logo:
  defaultUrl: "https://example.com/validUrl.svg"
  darkModeUrl: "https://example.com/validDarkModeUrl.svg"
# mark:
#   defaultUrl: ""
#   darkModeUrl: ""
# loadingLogo:
#   defaultUrl: ""
#   darkModeUrl: ""
# faviconUrl: ""
applicationTitle: "My custom application"

我们建议链接到托管在 Web 服务器上的图像,但如果您确实想使用本地托管的图像,请将您的图像保存到 assets 文件夹中,然后配置 opensearch_dashboards.yml 以使用正确的路径。您可以通过 ui/assets 文件夹访问本地存储的图像。

以下示例假设 Dashboards 使用默认端口 5601,并演示了如何链接到本地存储的图像。

logo:
  defaultUrl: "https://:5601/ui/assets/my-own-image.svg"
  darkModeUrl: "https://:5601/ui/assets/dark-mode-my-own-image.svg"
mark:
  defaultUrl: "https://:5601/ui/assets/my-own-image2.svg"
  darkModeUrl: "https://:5601/ui/assets/dark-mode-my-own-image2.svg"
# loadingLogo:
#   defaultUrl: ""
#   darkModeUrl: ""
# faviconUrl: ""
applicationTitle: "My custom application"

精简页眉

精简的页眉视图通过将导航元素组合到单个页眉栏中,减少了页眉的占用空间,释放了页面空间。

当前的默认视图在外观上与上一版本 Dashboards 中提供的两栏页眉相似,仅有细微差别。要指定精简页眉,请将配置属性 useExpandedHeader 添加到 opensearch_dashboards.yml 文件中,并将其值设置为 false,如以下示例所示。

# opensearchDashboards.branding:
  # logo:
    defaultUrl: "https://example.com/sample.svg"
    darkModeUrl: "https://example.com/dark-mode-sample.svg"
  # mark:
    # defaultUrl: ""
    # darkModeUrl: ""
  # loadingLogo:
    # defaultUrl: ""
    # darkModeUrl: ""
  # faviconUrl: ""
  applicationTitle: "my custom application"
  useExpandedHeader: false

在未来的版本中,默认行为将变为 useExpandedHeader: false。如果您希望在后续版本中保留默认视图,可以提前明确将属性设置为 true。另外,您也可以在升级时执行此操作。

精简视图的页眉示例如下。

Condensed header

页眉元素 描述
OpenSearch 徽标 参见 #1。用作主页按钮。
页眉栏 参见 #2。用于所有导航控件的单个页眉栏。

默认视图与传统视图保持接近,仅有细微改动。

Default header

页眉元素 描述
主页按钮 参见 #1。返回主页并提供页面加载指示。
页眉标签 参见 #2。该标签也用作主页按钮。
导航控件 参见 #3。右侧插入点上的附加导航控件。

在默认视图中保留导航元素

您可以在默认视图中继续使用顶部页眉栏进行自定义导航链接(例如菜单项和插件)。请按照以下步骤将这些元素保留在默认视图的顶部页眉中。

  1. 将属性 coreStart.chrome.navControls.registerRight(...) 替换为 coreStart.chrome.navControls.registerExpandedRight(...),然后将属性 coreStart.chrome.navControls.registerCenter(...) 替换为 coreStart.chrome.navControls.registerExpandedCenter(...)

  2. 确保配置属性 useExpandedHeader 明确设置为 true

示例配置

以下配置在 OpenSearch Dashboards 中启用了安全插件和 SSL,并使用自定义品牌元素替换 OpenSearch 徽标和应用程序标题。

server.host: "0"
opensearch.hosts: ["https://:9200"]
opensearch.ssl.verificationMode: none
opensearch.username: "kibanaserver"
opensearch.password: "kibanaserver"
opensearch.requestHeadersAllowlist: [ authorization,securitytenant ]
#server.ssl.enabled: true
#server.ssl.certificate: /path/to/your/server/certificate
#server.ssl.key: /path/to/your/server/key

opensearch_security.multitenancy.enabled: true
opensearch_security.multitenancy.tenants.preferred: ["Private", "Global"]
opensearch_security.readonly_mode.roles: ["kibana_read_only"]
# Use this setting if you are running opensearch-dashboards without https
opensearch_security.cookie.secure: false

opensearchDashboards.branding:
  logo:
    defaultUrl: "https://example.com/sample.svg"
    darkModeUrl: "https://example.com/dark-mode-sample.svg"
  # mark:
  #   defaultUrl: ""
  #   darkModeUrl: ""
  # loadingLogo:
  #   defaultUrl: ""
  #   darkModeUrl: ""
  # faviconUrl: ""
  applicationTitle: "Just some testing"
剩余 350 字符

有问题?

想做贡献?