服务器Zabbix教程:从零搭建监控系统与告警配置
在Linux服务器上搭建Zabbix监控系统,核心流程是:准备LNMP或LAMP环境、创建Zabbix数据库、安装Zabbix Server与前端、初始化Web界面、添加被监控主机并配置告警。
本文以Zabbix 6.0 LTS为例,适用于CentOS 7/8或Ubuntu 20.04/22.04,零基础用户按顺序操作即可完成。
环境准备与依赖安装
开始前确认服务器满足以下条件:
- 操作系统:CentOS 7/8 或 Ubuntu 20.04/22.04,64位。
- 内存:至少2GB,建议4GB。
- 磁盘:至少20GB可用空间。
- 网络:服务器能访问外网,用于下载软件包。
- 权限:拥有root权限或sudo权限。
关闭SELinux(CentOS) 避免权限拦截:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
安装基础依赖:
# CentOS
yum install -y wget vim net-tools
# Ubuntu
apt update && apt install -y wget vim net-tools
安装并配置数据库
Zabbix需要MySQL或MariaDB存储监控数据。
以CentOS安装MariaDB为例:
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation
执行安全脚本时,按提示设置root密码并移除匿名用户。
然后创建Zabbix专用数据库和用户:
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'YourStrongPassword';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
QUIT;
注意:密码中不要包含特殊字符#或$,否则后续导入表结构可能失败。
安装Zabbix Server与前端
添加Zabbix官方源并安装组件。
以CentOS 7为例:
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum clean all
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
Ubuntu用户替换为对应包管理命令即可。
安装完成后,导入初始数据库结构:
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
这个过程可能需要几分钟,导入成功后无报错输出。
修改配置并启动服务
编辑Zabbix Server配置文件:
vim /etc/zabbix/zabbix_server.conf
找到并修改以下参数:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=YourStrongPassword
保存后启动服务并设置开机自启:
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
如果使用Nginx,将httpd替换为nginx和php-fpm。
检查服务状态:
systemctl status zabbix-server
看到active (running)表示服务正常。
初始化Web界面与添加监控
浏览器访问http://服务器IP/zabbix,进入安装向导。
- 检查PHP版本和扩展是否满足要求,全部显示OK后点击下一步。
- 输入数据库连接信息:Database host填
localhost,Name填zabbix,User填zabbix,Password填之前设置的密码。 - 设置Zabbix服务器名称,例如
MyMonitor。 - 完成后使用默认账号
Admin和密码zabbix登录。
立即修改默认密码:进入User settings → Change password。
以监控本机为例,在Web界面依次点击Configuration → Hosts → Create host:
- Host name:填写被监控服务器名称,如
Web-Server-01。 - Groups:选择或新建主机组,如
Linux servers。 - Interfaces:点击
Add,选择Agent,IP地址填127.0.0.1,端口默认10050。 - 点击
Add保存。
稍等片刻,在Monitoring → Latest data中筛选该主机,能看到CPU、内存等数据即表示监控成功。
配置邮件告警
进入Administration → Media types → Email,配置SMTP服务器信息:
- SMTP server:如
smtp.qq.com - SMTP helo:如
qq.com - SMTP email:你的发件邮箱
- 勾选
Username and password,填写邮箱账号和授权码。
保存后,进入User settings → Media → Add,添加接收告警的邮箱。
最后在Configuration → Actions中启用默认的Report problems to Zabbix administrators动作。
触发告警后,邮箱会收到通知。
常见报错与检查方法
- Web界面提示“Database error”:检查
/etc/zabbix/zabbix_server.conf中的数据库密码是否正确,确认MariaDB服务已启动。 - Zabbix Server无法启动:查看日志
tail -f /var/log/zabbix/zabbix_server.log,常见原因是数据库未导入或权限不足。 - 主机显示ZBX红色:表示Agent不可达。检查防火墙是否放行
10050端口:firewall-cmd --add-port=10050/tcp --permanent && firewall-cmd --reload,并确认zabbix-agent服务已启动。 - 图表无数据:确认主机监控项已启用,且Agent配置中
Server参数指向Zabbix Server的IP。
完成以上步骤后,你已拥有一个可用的Zabbix监控系统。
后续可根据业务需求添加更多监控项和触发器。
如果遇到数据库连接失败,优先核对密码和端口;
Agent不通则先检查防火墙与zabbix_agentd.conf中的Server地址。