Zabbix 7.4 自定义Logo

1. 简要介绍

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

Zabbix 7.4 自定义Logo
Zabbix 7.4 自定义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.png

2.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/
Zabbix 7.4 自定义Logo

如果是 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/
Zabbix 7.4 自定义Logo

进入/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',
];
Zabbix 7.4 自定义Logo

注意:

每行’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 配置文件。

原创内容声明

本文为原创内容,版权归作者所有,未经授权禁止任何形式转载

(0)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注