Zabbix 服务端与 Agent 安装
场景
要给一批服务器和交换机上监控,能看 CPU/内存/磁盘,出问题发邮件或钉钉。
前置条件
- 一台 Linux 做服务端(2C4G 起步,磁盘 100G)
- 一个数据库(MySQL/PostgreSQL,Zabbix 自带模板)
- 能发邮件或用 Webhook 推告警
配置
# 1. 装数据库
dnf install -y mysql-server
systemctl enable --now mysqld
mysql -e "CREATE DATABASE zabbix CHARACTER SET utf8mb4;"
mysql -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY '强密码';"
mysql -e "GRANT ALL ON zabbix.* TO 'zabbix'@'localhost';"
# 2. 装 Zabbix 源和组件
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/8/x86_64/zabbix-release-6.4-1.el8.noarch.rpm
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent
# 3. 导入表结构
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \
mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
# 4. 配数据库密码
sed -i 's/^# DBPassword=.*/DBPassword=强密码/' /etc/zabbix/zabbix_server.conf
# 5. 启动
systemctl enable --now zabbix-server zabbix-agent httpd php-fpm
浏览器打开 http://IP/zabbix,默认 Admin / zabbix。
验证
systemctl status zabbix-server
tail -f /var/log/zabbix/zabbix_server.log
zabbix_server -V
网页能登录、Reports → System information 里没有红色报错。
回滚
systemctl disable --now zabbix-server zabbix-agent httpd php-fpm
dnf remove -y zabbix-server-mysql zabbix-web-mysql
坑
- PHP 时区没配,网页打开报
Timezone for PHP is not set,改php.ini的date.timezone。 - 导入 SQL 用错字符集,中文界面变问号。
- 数据库密码里有特殊字符,
sed替换会出错,直接手改配置文件。 - 服务端和 agent 版本差太多会连不上。
- 默认模板的阈值不一定适合你,先观察一周再调。
- 监控端口 10051/10050 要放行,agent 默认只听 127.0.0.1 之外的地址。