以下是在 Ubuntu 22.04/20.04 上安装 zabbix server6.0 LTS 的详细步骤及注释说明:
一、验证远程连接(在MySQL虚拟机上测试)
1、提前更新apt源,这里替换为阿里云的源
sudo sed -i \
-e 's|http://archive.ubuntu.com|https://mirrors.aliyun.com|g' \
-e 's|http://security.ubuntu.com|https://mirrors.aliyun.com|g' \
-e 's|https://mirrors.tuna.tsinghua.edu.cn|https://mirrors.aliyun.com|g' \
/etc/apt/sources.list
# 将原来的sources.list进行备份,再将源替换成阿里云的镜像源或者国内源
apt update
# 更需要apt源
2、安装MySQL客户端
# 在B虚拟机上执行:
sudo apt install mysql-client
mysql -h A_IP -u zabbix -p
# 输入密码后应能成功连接
二、安装Zabbix Server服务
1. 安装依赖环境
sudo apt update
sudo apt install -y apache2 php php-mysql libapache2-mod-php \
php-gd php-xml php-bcmath php-mbstring php-ldap php-curl \
snmp fping curl unzip
2. 添加Zabbix仓库
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
sudo apt update
# 具体操作如下:
root@zabbix-server:~# wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
--2025-05-30 03:02:33-- https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
Resolving repo.zabbix.com (repo.zabbix.com)... 178.128.6.101, 2604:a880:2:d0::2062:d001
Connecting to repo.zabbix.com (repo.zabbix.com)|178.128.6.101|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3676 (3.6K) [application/octet-stream]
Saving to: ‘zabbix-release_6.0-4+ubuntu22.04_all.deb’
zabbix-release_6.0-4+ubuntu22.04_all 100%[====================================================================>] 3.59K --.-KB/s in 0s
2025-05-30 03:02:33 (1.31 GB/s) - ‘zabbix-release_6.0-4+ubuntu22.04_all.deb’ saved [3676/3676]
root@zabbix-server:~# sudo dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
Selecting previously unselected package zabbix-release.
(Reading database ... 112384 files and directories currently installed.)
Preparing to unpack zabbix-release_6.0-4+ubuntu22.04_all.deb ...
Unpacking zabbix-release (1:6.0-4+ubuntu22.04) ...
Setting up zabbix-release (1:6.0-4+ubuntu22.04) ...
root@zabbix-server:~# sudo apt update
Hit:1 http://mirrors.aliyun.com/ubuntu jammy InRelease
Hit:2 http://mirrors.aliyun.com/ubuntu jammy-updates InRelease
Hit:3 http://mirrors.aliyun.com/ubuntu jammy-backports InRelease
Hit:4 https://mirrors.aliyun.com/ubuntu jammy-security InRelease
Get:5 https://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu jammy InRelease [4,952 B]
Get:6 https://repo.zabbix.com/zabbix/6.0/ubuntu jammy InRelease [2,886 B]
Get:7 https://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu jammy/main Sources [1,002 B]
Get:8 https://repo.zabbix.com/zabbix-agent2-plugins/1/ubuntu jammy/main amd64 Packages [624 B]
Get:9 https://repo.zabbix.com/zabbix/6.0/ubuntu jammy/main Sources [37.2 kB]
Get:10 https://repo.zabbix.com/zabbix/6.0/ubuntu jammy/main amd64 Packages [106 kB]
Get:11 https://repo.zabbix.com/zabbix/6.0/ubuntu jammy/main all Packages [20.4 kB]
Fetched 173 kB in 2s (77.0 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
22 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@zabbix-server:~#
3. 安装Zabbix组件
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
4. 导入数据库Schema
# 从zabbix server虚拟机向A虚拟机的数据库导入数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -h A_IP -u zabbix -p zabbix
# 输入之前为zabbix用户设置的密码
5. 配置Zabbix Server
nano /etc/zabbix/zabbix_server.conf
# 或者使用vi / vim
修改以下参数:
DBHost=A_IP # A虚拟机的IP地址
DBName=zabbix
DBUser=zabbix
DBPassword=StrongPassword@123 # 与A虚拟机设置的密码一致
ListenPort=10051
StartPollers=20 # 根据CPU核心数调整(建议核心数×2)
StartTrappers=10 # 处理主动式代理
CacheSize=512M # 根据内存调整(8GB建议值)
HistoryCacheSize=256M
我的最终调整如下:(我的zabbix服务端和数据库都是16和32G,这里安装自己部署的虚拟机调整)
root@zabbix-server:~# cat /etc/zabbix/zabbix_server.conf | grep -v '^#' | grep -v '^$'
ListenPort=10051
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/run/zabbix/zabbix_server.pid
SocketDir=/run/zabbix
DBHost=192.168.8.141
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@123
DBPort=3306
StartPollers=32
StartPreprocessors=16
StartPollersUnreachable=16
StartTrappers=20
StartAlerters=8
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
HousekeepingFrequency=12
CacheSize=2048M
StartDBSyncers=16
HistoryCacheSize=1024M
TrendCacheSize=512M
ValueCacheSize=1024M
Timeout=10
TrapperTimeout=30
UnreachablePeriod=60
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
6. 配置PHP前端
sudo nano /etc/zabbix/apache.conf
确保包含:
php_value date.timezone Asia/Shanghai # 根据实际时区修改
7. 启动服务
sudo systemctl restart zabbix-server apache2
sudo systemctl enable zabbix-server apache2
三、Web界面安装
-
访问
http://B_IP/zabbix
-
按向导配置:
-
Database Type: MySQL
-
Database Host: A_IP
-
Database Port: 3306
-
Database Name: zabbix
-
User: zabbix
-
Password: StrongPassword@123
-
-
下载生成的
zabbix.conf.php
并保存到/etc/zabbix/web/
-
使用默认账号登录:
-
用户名:
Admin
-
密码:
zabbix
-
需要下载中文包
apt install language-pack-zh-hans
systemctl restart zabbix-server.service apache2.service zabbix-agent.service
web操作界面如下:
这里就可以选择中文界面了
下一步
下一步
设置zabbix的服务器名字下一步
确认没问题就下一步
点击完成
显示用户登录界面,默认用户名密码Admin/zabbix
四、网络与安全配置
1. 防火墙规则(zabbix-servser) #我这里没有按照防护墙,可以忽略
sudo ufw allow 80/tcp # Web界面
sudo ufw allow 10051/tcp # Server接收数据端口
2. MySQL安全加固 # MySQL主机上面
# 限制3306端口仅允许B虚拟机IP访问
sudo ufw allow from B_IP to any port 3306
五、验证部署
1. 检查服务状态
# 在B虚拟机上:
sudo systemctl status zabbix-server
# 应显示 "active (running)"
2. 测试数据库连接
mysql -h A_IP -u zabbix -p -e "SELECT COUNT(*) FROM zabbix.users;"
# 应返回用户数量(默认至少1个Admin用户)
3. 检查数据采集
zabbix_get -s 127.0.0.1 -k "system.cpu.util[,idle]"
# 应返回CPU空闲百分比