1. 简要介绍
在 Zabbix 7.0 系列中包含 7.4 版本中,更换 Logo 的推荐方法是通过官方配置文件 brand.conf.php 来实现。它比直接修改SVG源文件更标准、稳定,能同时替换登录页、侧边栏等多个位置的Logo。


2. 配置步骤
2.1 准备你的 Logo 文件
将你需要使用的 Logo 图片(如PNG、SVG格式)上传到 Zabbix 服务器的/usr/share/zabbix/ui/assets/img/目录下。确保你有这些文件的访问权限,并记下它们的完整路径(sy1和cb1是我的自定义Logo名称)。
[root@appliance conf]# cd /usr/share/zabbix/ui/assets/img/
[root@appliance img]# ls -l
total 100
-rw-r--r--. 1 root root 930 Dec 17 14:01 apple-touch-icon-120x120-precomposed.png
-rw-r--r--. 1 root root 1126 Dec 17 14:01 apple-touch-icon-152x152-precomposed.png
-rw-r--r--. 1 root root 1343 Dec 17 14:01 apple-touch-icon-180x180-precomposed.png
-rw-r--r--. 1 root root 652 Dec 17 14:01 apple-touch-icon-76x76-precomposed.png
-rw-r--r--. 1 root root 32453 Dec 17 14:01 browser-sprite.png
-rw-r--r-- 1 root root 21711 Jan 28 04:47 cb1.png
-rw-r--r--. 1 root root 981 Dec 17 14:01 ms-tile-144x144.png
-rw-r--r-- 1 root root 17426 Jan 28 04:47 sy1.png
-rw-r--r--. 1 root root 1334 Dec 17 14:01 touch-icon-192x192.png2.2 创建并编辑配置文件
要找到配置文件(通常位于Zabbix Web前端的 /conf/ 目录),需先确定其安装路径,并查看当前是由 Nginx 还是 Apache 提供网页服务。
# 查看Nginx是否在运行
systemctl status nginx | grep Active
# 查看Apache是否在运行(Apache在部分系统上叫httpd)
systemctl status apache2 | grep Active # 适用于Debian/Ubuntu
systemctl status httpd | grep Active # 适用于RHEL/CentOS如果是Nginx(本文使用的Nginx):
配置文件通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/conf.d/、/etc/nginx/sites-enabled/ 目录下。使用 grep 搜索:
grep -r "root.*zabbix" /etc/nginx/
如果是 Apache:
配置文件通常位于 /etc/apache2/sites-enabled/(Debian/Ubuntu)或 /etc/httpd/conf.d/(RHEL/CentOS)。同样使用 grep 搜索:
# Debian/Ubuntu
grep -r "DocumentRoot.*zabbix" /etc/apache2/
# RHEL/CentOS
grep -r "DocumentRoot.*zabbix" /etc/httpd/找到目录后,请进入该目录,确认其包含以下 Zabbix Web 前端文件结构:
- index.php (主入口文件)
- conf/ 目录(内含 zabbix.conf.php 主配置文件)
- assets/, include/, local/ 等目录
cd /usr/share/zabbix/ui/
进入/usr/share/zabbix/ui/local/conf 新建 brand.conf.php
touch local/conf/brand.conf.php复制以下内容:
<?php
return [
// 登录页面上的Logo
'BRAND_LOGO' => '/assets/img/sy1.png',
// 侧边栏展开时显示的Logo
'BRAND_LOGO_SIDEBAR' => '/assets/img/cb2.png',
// 侧边栏收起时显示的Logo
'BRAND_LOGO_SIDEBAR_COMPACT' => '/assets/img/cb1.png',
// 自定义页脚文本(可选)
'BRAND_FOOTER' => '© 机房监控平台',
// 自定义帮助链接(可选)
'BRAND_HELP_URL' => 'https://baidu.com',
];
注意:
每行’BRAND_LOGO_SIDEBAR’ => ‘这里面的路径就是所在Logo图片的位置,此处基于Web根目录的相对URL路径。‘
如果图片不显示可尝试以下步骤:
确定正确的图片访问URL:
在浏览器中尝试 http://IP地址/ui/assets/img/sy1.png 或 http://IP地址/assets/img/sy1.png。
清除浏览器缓存并刷新Zabbix页面。
3. 总结
你可能在网上看到过许多直接修改 icon-sprite.svg 文件的旧教程。这是Zabbix 5.0甚至更早版本普遍采用的方法。自Zabbix 5.0引入 brand.conf.php 机制后,官方推荐使用配置文件的方式,因为它更灵活,能同时管理多个位置的Logo和品牌信息,且在升级时配置文件通常会被保留,而直接修改源文件可能会被覆盖。简单来说,Zabbix 7.4(及7.0)更换Logo的核心就是用 brand.conf.php 配置文件。