自定义品牌
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 中的以下元素是可自定义的:
设置 | 对应品牌元素 |
---|---|
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 添加到相应的设置。有效的图像类型是 SVG
、PNG
和 GIF
。
深色模式 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
。另外,您也可以在升级时执行此操作。
精简视图的页眉示例如下。
页眉元素 | 描述 |
---|---|
OpenSearch 徽标 | 参见 #1。用作主页按钮。 |
页眉栏 | 参见 #2。用于所有导航控件的单个页眉栏。 |
默认视图与传统视图保持接近,仅有细微改动。
页眉元素 | 描述 |
---|---|
主页按钮 | 参见 #1。返回主页并提供页面加载指示。 |
页眉标签 | 参见 #2。该标签也用作主页按钮。 |
导航控件 | 参见 #3。右侧插入点上的附加导航控件。 |
在默认视图中保留导航元素
您可以在默认视图中继续使用顶部页眉栏进行自定义导航链接(例如菜单项和插件)。请按照以下步骤将这些元素保留在默认视图的顶部页眉中。
-
将属性
coreStart.chrome.navControls.registerRight(...)
替换为coreStart.chrome.navControls.registerExpandedRight(...)
,然后将属性coreStart.chrome.navControls.registerCenter(...)
替换为coreStart.chrome.navControls.registerExpandedCenter(...)
。 -
确保配置属性
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"