文章总结: 本文提供Zabbix6.4LTS在Ubuntu和CentOS系统的完整部署指南,涵盖Server、Web、Agent及MySQL配置。重点讲解了防火墙与SSL加固、性能调优、分布式监控及数据库备份策略,包含故障排查与维护脚本,为运维监控建设提供了详尽的操作步骤和安全建议。 综合评分: 88 文章分类: 安全工具,解决方案,安全运营,安全建设,安全培训
Zabbix 6.4 LTS 最新版本部署教程
原创
刘军军 刘军军
运维星火燎原
2026年1月30日 00:01 河北
部署前准备
系统要求
- 操作系统: Ubuntu 22.04 LTS / CentOS 8 / RHEL 8
- 内存: 最小 2GB,推荐 4GB+
- 存储: 20GB+ 可用空间
- CPU: 2核+
环境检查
# 检查系统信息
cat /etc/os-release
free -h
df -h
lscpu
# 确保系统更新到最新
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
第一部分:Zabbix Server 部署
1.1 安装Zabbix仓库
# Ubuntu/Debian 系统
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo apt update
# CentOS/RHEL 系统
sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
sudo yum clean all
1.2 安装Zabbix Server、Web前端和Agent
# Ubuntu/Debian
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
# CentOS/RHEL
sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
1.3 安装和配置MySQL数据库
# 安装MySQL Server
sudo apt install mysql-server -y # Ubuntu/Debian
sudo yum install mysql-server -y # CentOS/RHEL
# 启动MySQL服务
sudo systemctl start mysql
sudo systemctl enable mysql
# 安全配置MySQL
sudo mysql_secure_installation
# 创建Zabbix数据库和用户
sudo mysql -u root -p <<EOF
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
EOF
1.4 导入初始数据库架构
# 导入Zabbix数据库架构
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
# 确认数据库导入成功
mysql -u zabbix -p -e "use zabbix; show tables;" | head -10
1.5 配置Zabbix Server
# 编辑Zabbix Server配置文件
sudo vim /etc/zabbix/zabbix_server.conf
# 修改以下关键配置
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=your_secure_password
1.6 配置PHP和Apache
# 编辑PHP配置文件
sudo vim /etc/zabbix/apache.conf
# 修改时区(根据你的时区)
php_value date.timezone Asia/Shanghai
# 检查PHP配置
sudo vim /etc/php/*/apache2/php.ini
# 确保以下配置正确
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
1.7 启动Zabbix服务
# 启动服务
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
# 检查服务状态
sudo systemctl status zabbix-server
sudo systemctl status zabbix-agent
sudo systemctl status apache2
第二部分:Web界面配置
2.1 完成Web安装向导
- 打开浏览器访问: http://your-server-ip/zabbix
- 按照向导完成安装:
- 检查前置条件
- 配置数据库连接
- 设置Zabbix Server详细信息
- 预览配置
- 完成安装
2.2 初始登录
- 用户名: Admin
- 密码: zabbix
2.3 修改默认密码
# 安全建议:立即修改默认密码
# 在Web界面: Administration → Users → Admin → Change password
第三部分:Zabbix Agent 部署
3.1 在被监控主机上安装Agent
# Ubuntu/Debian
wget https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb
sudo apt update
sudo apt install zabbix-agent
# CentOS/RHEL
sudo rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
sudo yum install zabbix-agent
3.2 配置Zabbix Agent
# 编辑Agent配置文件
sudo vim /etc/zabbix/zabbix_agentd.conf
# 修改以下配置
Server=your-zabbix-server-ip
ServerActive=your-zabbix-server-ip
Hostname=your-hostname
# 启动Agent服务
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
3.3 在Zabbix Server添加主机
- 登录Zabbix Web界面
- 进入: Configuration → Hosts
- 点击 “Create host”
- 填写主机信息:
- Host name: 主机名
- Visible name: 显示名称
- Groups: 选择或创建组
- Agent interfaces: 添加Agent IP和端口(10050)
第四部分:基本监控配置
4.1 添加监控模板
# Zabbix 6.4 自带常用模板
- Template OS Linux by Zabbix agent
- Template App MySQL by Zabbix agent
- Template App Apache by Zabbix agent
- Template App Nginx by Zabbix agent
4.2 配置自动发现
# 启用网络自动发现
1. 进入: Configuration → Discovery
2. 创建发现规则
3. 配置IP范围: 192.168.1.1-254
4. 关联动作: 自动添加主机并链接模板
4.3 配置告警通知
# 配置邮件通知
1. 进入: Administration → Media types
2. 配置Email媒体类型
3. 进入: Administration → Users
4. 为用户添加Media联系方式
5. 配置告警动作: Configuration → Actions
第五部分:安全加固
5.1 防火墙配置
# 配置防火墙规则
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 10050/tcp # Zabbix Agent
sudo ufw allow 10051/tcp # Zabbix Server
sudo ufw enable
# 或者使用firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=10050/tcp
sudo firewall-cmd --permanent --add-port=10051/tcp
sudo firewall-cmd --reload
5.2 SSL/TLS配置
# 安装SSL证书(使用Let's Encrypt)
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d your-zabbix-domain.com
# 或者手动配置Apache SSL
sudo a2enmod ssl
sudo systemctl restart apache2
5.3 数据库安全
# 定期备份数据库
#!/bin/bash
mysqldump -u zabbix -p zabbix | gzip > /backup/zabbix_backup_$(date +%Y%m%d).sql.gz
# 设置数据库自动备份
sudo crontab -e
# 添加: 0 2 * * * /path/to/backup_script.sh
第六部分:高级配置
6.1 性能优化
# 调整Zabbix Server配置
sudo vim /etc/zabbix/zabbix_server.conf
# 优化参数
StartPollers=20
StartPollersUnreachable=10
StartTrappers=15
StartPingers=10
StartDiscoverers=10
StartPreprocessors=10
StartHTTPPollers=5
# 调整MySQL配置
sudo vim /etc/mysql/my.cnf
[mysqld]
innodb_buffer_pool_size = 1G
max_connections = 200
query_cache_size = 64M
6.2 分布式监控配置
# 配置Zabbix Proxy
sudo apt install zabbix-proxy-mysql
# Proxy配置
Server=your-zabbix-server-ip
Hostname=proxy-hostname
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=proxy_password
6.3 自定义监控项
# 创建自定义监控脚本
sudo vim /etc/zabbix/zabbix_agentd.d/custom_scripts.sh
UserParameter=custom.metric[*],/usr/local/bin/custom_script.sh $1
# 重启Agent
sudo systemctl restart zabbix-agent
第七部分:验证和测试
7.1 服务状态检查
# 检查所有相关服务状态
sudo systemctl status zabbix-server
sudo systemctl status zabbix-agent
sudo systemctl status apache2
sudo systemctl status mysql
# 检查端口监听
sudo netstat -tlnp | grep -E '(80|10050|10051)'
# 检查日志文件
sudo tail -f /var/log/zabbix/zabbix_server.log
sudo tail -f /var/log/zabbix/zabbix_agentd.log
7.2 监控测试
# 测试Agent连接
zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.util[,idle]"
# 测试Server性能
zabbix_server -R config_cache_reload
zabbix_server -R housekeeper_execute
7.3 Web界面验证
- 登录Zabbix Web界面
- 检查: Monitoring → Latest data
- 确认监控数据正常接收
- 检查: Reports → System information
故障排除
常见问题解决
# 数据库连接问题
sudo tail -f /var/log/zabbix/zabbix_server.log
# Web界面500错误
sudo tail -f /var/log/apache2/error.log
# Agent连接问题
sudo zabbix_agentd -p | grep Server
# 权限问题
sudo chown -R www-data:www-data /usr/share/zabbix/
sudo chmod -R 755 /usr/share/zabbix/
日志文件位置
/var/log/zabbix/zabbix_server.log # Server日志
/var/log/zabbix/zabbix_agentd.log # Agent日志
/var/log/apache2/error.log # Apache错误日志
/var/log/mysql/error.log # MySQL错误日志
维护和监控
日常维护脚本
#!/bin/bash
# Zabbix维护脚本
echo "=== Zabbix维护检查 ==="
echo "时间: $(date)"
echo "Server状态: $(systemctl is-active zabbix-server)"
echo "数据库大小: $(mysql -u zabbix -p -e 'SELECT table_schema \"Database\", SUM(data_length + index_length) / 1024 / 1024 \"Size (MB)\" FROM information_schema.TABLES WHERE table_schema = \"zabbix\" GROUP BY table_schema;')"
echo "监控主机数: $(mysql -u zabbix -p zabbix -e 'SELECT COUNT(*) FROM hosts WHERE status=0;')"
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:运维星火燎原 刘军军 刘军军《Zabbix 6.4 LTS 最新版本部署教程》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论