在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控
软硬件信息
-
服务器
- 阿里云ECS * 3 4核8G 100G
-
操作系统
- Ubuntu24.04
-
架构
-
一台阿里云ECS实例部署 Zabbix Server + MariaDB
-
两台阿里云ECS实例(被监控服务器)
-
-
网络要求:
- 所有ECS实例需公网IP或VPC内网通信。
- 开放以下端口:
- Zabbix Server:10051(TCP,Zabbix Server接收Agent数据)、80/443(HTTP/HTTPS,Web界面)。
- 被监控服务器:10050(TCP,Zabbix Agent监听)。
- 阿里云安全组配置:确保上述端口已开放(参考阿里云控制台)。
-
权限:root或sudo权限。
-
软件:Zabbix 7.0支持MariaDB,需与Zabbix Server同机部署。
部署步骤
步骤 1:安装并配置MariaDB
-
更新系统:
sudo apt update && sudo apt upgrade -y
-
安装MariaDB:
sudo apt install mariadb-server -y
-
保护MariaDB安装:
sudo mysql_secure_installation
- 设置root密码(记录下来)。
- 回答提示
- 启用密码验证(Y)
- 移除匿名用户(Y)
- 禁用远程root登录(Y)
- 移除测试数据库(Y)
- 刷新权限(Y)
-
创建Zabbix数据库和用户:
sudo mysql -uroot -p
在MariaDB提示符下执行:
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongPassword123'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; EXIT;
- 替换
StrongPassword123
为强密码并记录。
- 替换
步骤 2:安装Zabbix 7.0 Server
-
添加Zabbix 7.0仓库:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb sudo apt update
-
安装Zabbix Server、Frontend和Agent:
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y
- 注:
zabbix-server-mysql
兼容MariaDB,无需额外包。
- 注:
-
导入Zabbix数据库架构:
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
- 输入
StrongPassword123
(步骤2设置的密码)。 - 导入可能需要几分钟。
- 输入
-
配置Zabbix Server:
编辑/etc/zabbix/zabbix_server.conf
:sudo nano /etc/zabbix/zabbix_server.conf
设置以下参数(替换密码):
DBName=zabbix DBUser=zabbix DBPassword=StrongPassword123
保存并退出(Ctrl+X,Y,Enter)。
-
启动Zabbix Server和Agent:
sudo systemctl start zabbix-server zabbix-agent sudo systemctl enable zabbix-server zabbix-agent
步骤 3:配置Apache和PHP
-
安装Apache和PHP依赖:
Zabbix前端需要Apache和PHP模块,步骤3已安装部分依赖,确认安装:sudo apt install apache2 libapache2-mod-php php-mysql php-gd php-xml php-bcmath php-mbstring -y
-
配置PHP:
编辑/etc/php/8.3/apache2/php.ini
(Ubuntu 24.04默认PHP 8.3):sudo nano /etc/php/8.3/apache2/php.ini
确保以下设置:
memory_limit = 256M upload_max_filesize = 16M post_max_size = 16M max_execution_time = 300 max_input_time = 300 max_input_vars = 10000 date.timezone = Asia/Shanghai
保存并退出。
-
配置Apache:
确保Zabbix前端配置文件已启用:# 如果次数启动时,提示ERROR: Conf zabbix-frontend-php does not exist! # 可以查看/etc/apache2/conf-available目录下是否有zabbix.conf文件 # 如果有将zabbix-frontend-php换成zabbix sudo a2enconf zabbix-frontend-php sudo systemctl restart apache2
步骤 4:完成Zabbix Web界面配置
- 打开浏览器,访问
http://<zabbix-server-ip>/zabbix
。 - 按照向导操作:
-
欢迎页面:点击“Next step”。
-
检查先决条件:确保所有值显示“OK”,点击“Next step”。
-
配置数据库:
-
Database type: MySQL(MariaDB兼容)
-
Database host: localhost
-
Database name: zabbix
-
User: zabbix
-
Password: StrongPassword123
-
点击“Next step”。
-
-
服务器详情:
- Host: 留空或输入Zabbix服务器IP。
- Port: 10051
- Name: 可选(如“Zabbix Server”)。
- 点击“Next step”。
-
预安装摘要:确认配置,点击“Next step”。
-
完成:点击“Finish”,生成配置文件
/etc/zabbix/web/zabbix.conf.php
。
-
- 登录Zabbix仪表板:
- URL:
http://<zabbix-server-ip>/zabbix
- 默认凭据:用户名
Admin
,密码zabbix
(立即更改密码)。
- URL:
步骤 5:在两台阿里云ECS上安装Zabbix Agent
在每台被监控的ECS实例(称为ECS1和ECS2)上执行:
-
登录ECS实例(
ssh root@<ecs-ip>
)。 -
添加Zabbix仓库:
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb sudo apt update
-
安装Zabbix Agent:
sudo apt install zabbix-agent -y
-
配置Zabbix Agent:
编辑/etc/zabbix/zabbix_agent.conf
:# /etc/zabbix这个目录下的是zabbix_agentd.conf就编辑zabbix_agentd.conf # 如果这个目录下的是zabbix_agentd2.conf,就编辑zabbix_agentd2.conf sudo vim /etc/zabbix/zabbix_agentd.conf
设置以下参数:
Server=<zabbix-server-ip> ServerActive=<zabbix-server-ip> Hostname=<unique-hostname>
- 替换
<zabbix-server-ip>
为Zabbix Server公网IP。 - 替换
<unique-hostname>
为唯一主机名(如ECS1
或ECS2
)。 - 保存并退出。
- 替换
-
开放端口10050:
- 在阿里云控制台为ECS1和ECS2的安全组添加入站规则,允许TCP 10050。
- 本地防火墙(如ufw):
sudo ufw allow 10050/tcp
-
重启Zabbix Agent:
sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent
步骤 6:在Zabbix Server上添加监控主机
- 登录Zabbix Web界面(
http://<zabbix-server-ip>/zabbix
)。 - 导航至 Monitoring > Hosts > Create host。
- 为每台ECS配置:
- Host name:输入唯一主机名(与Agent配置中的
Hostname
一致,如ECS1
)。 - Groups:选择或创建主机组(如“AliCloud ECS”)。
- Interfaces:
- Type: Agent
- IP address: 输入ECS的公网IP(如ECS1的IP)。
- Port: 10050
- Templates:点击“Select”,选择“Template OS Linux by Zabbix agent”。
- Status:确保为“Enabled”。
- Host name:输入唯一主机名(与Agent配置中的
- 点击“Add”保存。
- 重复为ECS2配置(主机名如
ECS2
)。
步骤 7:验证监控
- 等待5-10分钟,Zabbix Server开始收集数据。
- 导航至 Monitoring > Latest data,选择主机组或主机(如
ECS1
、ECS2
),检查CPU、内存、磁盘等指标。 - 若无数据,检查:
- Zabbix Server日志:
sudo tail -f /var/log/zabbix/zabbix_server.log
- Zabbix Agent日志:
sudo tail -f /var/log/zabbix/zabbix_agentd.log
- 确保阿里云安全组和本地防火墙允许10050/10051端口。
- Zabbix Server日志:
步骤 8:优化和安全
-
更改默认密码:
- 导航至 Administration > Users,更新
Admin
用户密码。
- 导航至 Administration > Users,更新
-
启用HTTPS:
- 使用Let’s Encrypt配置SSL:
sudo apt install certbot python3-certbot-apache sudo certbot --apache
- 按提示配置域名或IP,重启Apache:
sudo systemctl restart apache2
- 按提示配置域名或IP,重启Apache:
- 使用Let’s Encrypt配置SSL:
-
优化Zabbix Server(若监控更多设备):
编辑/etc/zabbix/zabbix_server.conf
:sudo vim /etc/zabbix/zabbix_server.conf
添加:
StartPollers=100 StartPollersUnreachable=50 StartPingers=50 StartTrappers=10 StartDiscoverers=10 CacheSize=128M HistoryCacheSize=64M HistoryIndexCacheSize=32M TrendCacheSize=32M ValueCacheSize=256M
重启:
sudo systemctl restart zabbix-server
-
备份数据库:
mysqldump -u zabbix -p zabbix > zabbix_backup.sql
步骤 9:故障排查
- Zabbix Server未运行:
- 检查状态:
sudo systemctl status zabbix-server
- 检查配置文件:
/etc/zabbix/zabbix_server.conf
- 验证数据库连接:
mysql -uzabbix -p -e "SELECT 1"
- 检查状态:
- Agent无法连接:
- 确保
Server
和ServerActive
设置为Zabbix Server IP。 - 检查阿里云安全组和ufw规则。
- 确保
- Web界面错误:
- 验证PHP配置:
/etc/php/8.3/apache2/php.ini
- 检查Apache日志:
sudo tail -f /var/log/apache2/error.log
- 验证PHP配置:
最终结果
完成以上步骤后,Zabbix 7.0将在Ubuntu 24.04上运行,使用MariaDB数据库(同机部署),成功监控两台阿里云ECS服务器(ECS1和ECS2)。通过Web界面(http://<zabbix-server-ip>/zabbix
)可查看实时数据、设置警报和生成报告。
参考资料
- Zabbix官方文档:https://www.zabbix.com/documentation/7.0/
- Alibaba Cloud ECS文档:https://www.alibabacloud.com/help/
- MariaDB官方文档:https://mariadb.com/kb/en/