Zabbix6.4LTSServer服务端完整安装教程

admin 2026-02-02 00:26:01 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详解Zabbix6.4LTS服务端安装全流程,涵盖环境准备、数据库配置、组件部署及Web初始化。重点包括防火墙与SSL安全加固、多规模环境性能调优参数及服务验证。文末提供数据库备份脚本,为企业监控环境搭建提供详实操作指南。 综合评分: 94 文章分类: 解决方案,安全工具,安全运营


cover_image

Zabbix 6.4 LTS Server 服务端完整安装教程

原创

刘军军 刘军军

运维星火燎原

2026年2月1日 00:01 北京

系统要求和准备

1.1 硬件要求

| | | | | | — | — | — | — | | 资源 | 最小要求 | 推荐配置 | 生产环境 | | CPU | 2核 | 4核 | 8核+ | | 内存 | 2GB | 8GB | 16GB+ | | 存储 | 20GB | 100GB | 500GB+ | | 网络 | 100Mbps | 1Gbps | 10Gbps |

1.2 支持的操作系统

  • Ubuntu: 20.04 LTS, 22.04 LTS
  • CentOS: 7, 8, 9
  • RHEL: 7, 8, 9
  • Debian: 10, 11
  • Oracle Linux: 7, 8, 9

1.3 环境检查

# 检查系统信息
cat /etc/os-release
uname -r
free -h
df -h
lscpu

# 确保系统更新到最新
sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
sudo yum update -y                      # CentOS/RHEL

# 检查时间同步
timedatectl status
sudo systemctl enable --now chronyd     # 或 systemctl enable --now ntp

第一部分:基础环境准备

2.1 Ubuntu/Debian 系统准备

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装必要工具
sudo apt install -y curl wget vim net-tools software-properties-common

# 设置主机名(可选)
sudo hostnamectl set-hostname zabbix-server

2.2 CentOS/Rebian 系统准备

# 更新系统
sudo yum update -y

# 安装EPEL仓库(CentOS/RHEL 7)
sudo yum install -y epel-release

# 安装必要工具
sudo yum install -y curl wget vim net-tools

# 禁用SELinux(可选,生产环境建议配置而不是禁用)
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

第二部分:数据库安装和配置

3.1 MySQL 8.0 安装(推荐)

# Ubuntu/Debian
sudo apt install -y mysql-server mysql-client

# CentOS/RHEL
sudo yum install -y mysql-server

# 启动MySQL服务
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql

3.2 MySQL 安全配置

# 运行安全配置脚本
sudo mysql_secure_installation

# 手动配置(如果不用上述脚本)
sudo mysql -u root <<EOF
ALTER USER&nbsp;'root'@'localhost'&nbsp;IDENTIFIED WITH mysql_native_password BY&nbsp;'YourSecurePassword123!';
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE User='root'AND&nbsp;Host NOT IN ('localhost',&nbsp;'127.0.0.1',&nbsp;'::1');
DROP DATABASE&nbsp;IF&nbsp;EXISTS test;
DELETE FROM mysql.db WHERE Db='test'OR&nbsp;Db='test\\_%';
FLUSH PRIVILEGES;
EOF

3.3 创建Zabbix数据库和用户

# 创建Zabbix数据库和用户
sudo mysql -u root -p <<EOF
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER&nbsp;'zabbix'@'localhost'&nbsp;IDENTIFIED BY&nbsp;'ZabbixSecurePassword123!';
GRANT ALL PRIVILEGES ON zabbix.* TO&nbsp;'zabbix'@'localhost';
FLUSH PRIVILEGES;

-- 验证创建
SHOW DATABASES;
SELECT user, host FROM mysql.user;
EOF

# 测试数据库连接
mysql -u zabbix -p -e&nbsp;"SHOW DATABASES;"

3.4 PostgreSQL 安装(备选)

#&nbsp;Ubuntu/Debian
sudo apt install -y postgresql postgresql-contrib

#&nbsp;CentOS/RHEL
sudo yum install -y postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql

#&nbsp;创建Zabbix数据库
sudo -u postgres psql <<EOF
CREATE DATABASE zabbix;
CREATE USER zabbix WITH PASSWORD 'ZabbixSecurePassword123!';
GRANT ALL PRIVILEGES ON DATABASE zabbix TO zabbix;
\q
EOF

第三部分:Zabbix Server 安装

4.1 添加Zabbix官方仓库

# Ubuntu 22.04 LTS
wget&nbsp;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

# Ubuntu 20.04 LTS
wget&nbsp;https://repo.zabbix.com/zabbix/6.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.4-1+ubuntu20.04_all.deb
sudo dpkg -i zabbix-release_6.4-1+ubuntu20.04_all.deb
sudo apt update

# CentOS/RHEL 8/9
sudo rpm -Uvh&nbsp;https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
sudo yum clean all

# CentOS/RHEL 7
sudo rpm -Uvh&nbsp;https://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-release-6.4-1.el7.noarch.rpm
sudo yum clean all

4.2 安装Zabbix Server和组件

#&nbsp;Ubuntu/Debian - MySQL版本
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

#&nbsp;Ubuntu/Debian - PostgreSQL版本
sudo apt install -y zabbix-server-pgsql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent

#&nbsp;CentOS/RHEL - MySQL版本
sudo yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent

#&nbsp;CentOS/RHEL - PostgreSQL版本
sudo yum install -y zabbix-server-pgsql zabbix-web-pgsql zabbix-apache-conf zabbix-sql-scripts zabbix-agent

4.3 导入Zabbix数据库架构

#&nbsp;MySQL版本
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

#&nbsp;PostgreSQL版本
zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix

#&nbsp;验证数据库导入
mysql -u zabbix -p -e "use zabbix; show tables;" | head -10
#&nbsp;或
sudo -u postgres psql -d zabbix -c "\dt" | head -10

第四部分:Zabbix Server 配置

5.1 配置Zabbix Server

# 备份原始配置
sudo&nbsp;cp&nbsp;/etc/zabbix/zabbix_server.conf&nbsp;/etc/zabbix/zabbix_server.conf.bak

# 编辑配置文件
sudo&nbsp;vim&nbsp;/etc/zabbix/zabbix_server.conf

关键配置项修改:

# 数据库配置
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=ZabbixSecurePassword123!

# 性能调优(根据硬件调整)
StartPollers=20
StartPollersUnreachable=10
StartTrappers=15
StartPingers=10
StartDiscoverers=10
StartPreprocessors=10
StartHTTPPollers=5

# 日志配置
LogType=file
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=10
DebugLevel=3

# 其他重要配置
ListenPort=10051
ListenIP=0.0.0.0
HistoryStorageURL=
HistoryStorageTypes=uint,dbl,str,log,text

5.2 配置PHP和Apache

#&nbsp;编辑PHP配置文件
sudo vim /etc/zabbix/apache.conf

#&nbsp;确保包含以下内容
<IfModule mod_php7.c>
&nbsp; &nbsp; php_value max_execution_time 300
&nbsp; &nbsp; php_value memory_limit 128M
&nbsp; &nbsp; php_value post_max_size 16M
&nbsp; &nbsp; php_value upload_max_filesize 2M
&nbsp; &nbsp; php_value max_input_time 300
&nbsp; &nbsp; php_value date.timezone Asia/Shanghai
</IfModule>

配置PHP时区:

#&nbsp;Ubuntu/Debian
sudo vim /etc/php/*/apache2/php.ini

#&nbsp;CentOS/RHEL
sudo vim /etc/php.ini

#&nbsp;修改时区配置
date.timezone = Asia/Shanghai

5.3 配置Zabbix Agent

# 编辑Agent配置文件
sudo&nbsp;vim /etc/zabbix/zabbix_agentd.conf

# 修改以下配置
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=zabbix-server

第五部分:Web前端配置

6.1 启动服务

#&nbsp;启动所有相关服务
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2

#&nbsp;检查服务状态
sudo systemctl status zabbix-server
sudo systemctl status zabbix-agent
sudo systemctl status apache2

#&nbsp;查看服务日志
sudo tail -f /var/log/zabbix/zabbix_server.log

6.2 完成Web安装向导

  1. 打开浏览器访问: http://your-server-ip/zabbix
  2. 欢迎页面: 点击”Next step”
  3. 检查前置条件: 确保所有项目都是”OK”
  4. 配置数据库连接:
  • Database type: MySQL
  • Database host: localhost
  • Database port: 3306
  • Database name: zabbix
  • User: zabbix
  • Password: ZabbixSecurePassword123!
  1. 设置Zabbix Server详细信息:
  • Host: localhost
  • Port: 10051
  • Name: Zabbix Server
  1. 预览配置: 确认配置信息
  2. 完成安装: 下载配置文件

6.3 初始登录

  • 用户名: Admin
  • 密码: zabbix

立即修改默认密码:

  1. 右上角用户菜单 → Profile
  2. 修改密码 → 保存

第六部分:安全配置

7.1 防火墙配置

# Ubuntu/Debian (ufw)
sudo&nbsp;ufw allow&nbsp;80/tcp &nbsp; &nbsp; &nbsp;# HTTP
sudo ufw allow&nbsp;443/tcp &nbsp; &nbsp;&nbsp;# HTTPS
sudo ufw allow&nbsp;10050/tcp &nbsp;&nbsp;# Zabbix Agent
sudo ufw allow&nbsp;10051/tcp &nbsp;&nbsp;# Zabbix Server
sudo ufw enable

# CentOS/RHEL (firewalld)
sudo firewall-cmd --permanent&nbsp;--add-port=80/tcp
sudo firewall-cmd --permanent&nbsp;--add-port=443/tcp
sudo firewall-cmd --permanent&nbsp;--add-port=10050/tcp
sudo firewall-cmd --permanent&nbsp;--add-port=10051/tcp
sudo firewall-cmd --reload

# 或者使用iptables
sudo iptables -A INPUT -p tcp --dport&nbsp;80&nbsp;-j ACCEPT
sudo iptables -A INPUT -p tcp --dport&nbsp;443&nbsp;-j ACCEPT
sudo iptables -A INPUT -p tcp --dport&nbsp;10050&nbsp;-j ACCEPT
sudo iptables -A INPUT -p tcp --dport&nbsp;10051&nbsp;-j ACCEPT

7.2 SSL/TLS配置(可选但推荐)

#&nbsp;使用Let's Encrypt
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d zabbix.yourdomain.com

#&nbsp;或者手动配置SSL
sudo a2enmod ssl
sudo systemctl restart apache2

#&nbsp;创建自签名证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
&nbsp; -keyout /etc/ssl/private/zabbix-selfsigned.key \
&nbsp; -out /etc/ssl/certs/zabbix-selfsigned.crt

7.3 文件权限设置

#&nbsp;设置正确的文件权限
sudo chown -R www-data:www-data /usr/share/zabbix/
sudo chmod -R 755 /usr/share/zabbix/

#&nbsp;保护配置文件
sudo chmod 640 /etc/zabbix/zabbix_server.conf
sudo chmod 640 /etc/zabbix/web/zabbix.conf.php

#&nbsp;设置日志权限
sudo chown -R zabbix:zabbix /var/log/zabbix
sudo chmod 755 /var/log/zabbix

第七部分:性能优化

8.1 数据库优化

# MySQL性能优化配置
sudo&nbsp;vim&nbsp;/etc/mysql/my.cnf

[mysqld]
innodb_buffer_pool_size =&nbsp;1G
max_connections =&nbsp;200
query_cache_size =&nbsp;64M
innodb_flush_log_at_trx_commit =&nbsp;2
innodb_log_file_size =&nbsp;256M
innodb_log_buffer_size =&nbsp;16M
key_buffer_size =&nbsp;256M

8.2 Zabbix Server性能调优

# 根据监控规模调整进程数量
sudo vim /etc/zabbix/zabbix_server.conf

# 小型环境(<100主机)
StartPollers=5
StartPollersUnreachable=2
StartTrappers=5
StartPingers=2
StartDiscoverers=2

# 中型环境(100-500主机)
StartPollers=20
StartPollersUnreachable=5
StartTrappers=10
StartPingers=5
StartDiscoverers=5

# 大型环境(>500主机)
StartPollers=50
StartPollersUnreachable=10
StartTrappers=20
StartPingers=10
StartDiscoverers=10

8.3 PHP性能优化

sudo vim&nbsp;/etc/php/*/apache2/php.ini

# 性能相关配置
max_execution_time =&nbsp;300
max_input_time =&nbsp;300
memory_limit =&nbsp;256M
post_max_size =&nbsp;32M
upload_max_filesize =&nbsp;16M
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000

第八部分:验证和测试

9.1 服务状态检查

# 检查所有相关服务状态
sudo systemctl status zabbix-server
sudo systemctl status zabbix-agent
sudo systemctl status apache2
sudo systemctl status mysql

# 检查端口监听
sudo netstat -tlnp |&nbsp;grep&nbsp;-E&nbsp;'(80|10050|10051|3306)'

# 检查日志文件
sudo tail -f&nbsp;/var/log/zabbix/zabbix_server.log
sudo tail -f&nbsp;/var/log/zabbix/zabbix_agentd.log
sudo tail -f&nbsp;/var/log/apache2/error.log

9.2 监控测试

# 测试Agent连接
zabbix_get-s&nbsp;127.0.0.1-p&nbsp;10050&nbsp;-k&nbsp;"system.cpu.util[,idle]"
zabbix_get-s&nbsp;127.0.0.1-p&nbsp;10050&nbsp;-k&nbsp;"system.uptime"

# 测试Server性能
sudo-uzabbixzabbix_server-Rconfig_cache_reload
sudo-uzabbixzabbix_server-Rhousekeeper_execute

# 检查数据库连接
mysql-uzabbix-p-e&nbsp;"SELECTCOUNT(*)&nbsp;FROMhosts;"

9.3 Web界面验证

  1. 登录Zabbix Web界面
  2. 检查: Monitoring → Dashboard
  3. 确认: 本地主机监控数据正常
  4. 检查: Reports → System information
  5. 验证: Configuration → Hosts → Zabbix server

第九部分:备份和恢复

10.1 数据库备份脚本

#!/bin/bash
# zabbix_backup.sh - Zabbix数据库备份脚本

BACKUP_DIR="/backup/zabbix"
DATE=$(date +%Y%m%d_%H%M%S)
RETENTION_DAYS=30

# 创建备份目录
mkdir -p&nbsp;$BACKUP_DIR

# 备份MySQL数据库
mysqldump -u zabbix -p'ZabbixSecurePassword123!'&nbsp;\
&nbsp; --single-transaction \
&nbsp; --routines \
&nbsp; --triggers \
&nbsp; --hex-blob \
&nbsp; zabbix | gzip >&nbsp;$BACKUP_DIR/zabbix_backup_$DATE.sql.gz

# 备份配置文件
tar -czf&nbsp;$BACKUP_DIR/zabbix_config_$DATE.tar.gz \
&nbsp; /etc/zabbix \
&nbsp; /usr/share/zabbix

# 清理旧备份
find&nbsp;$BACKUP_DIR&nbsp;-name&nbsp;"*.gz"&nbsp;-mtime +$RETENTION_DAYS

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:运维星火燎原 刘军军 刘军军《Zabbix 6.4 LTS Server 服务端完整安装教程》

评论:0   参与:  0