0aa8fe6
这次没有正文改动。
这是 monitor/Zabbix 服务端与 Agent 安装.md 的改动记录。后台每次保存都会留一份快照,
这里显示的是快照之间的差异,不会混入其他文章的改动。
还没有后台修改记录。
下面是 Git 里的提交,可能包含其他文章的改动(因为一次提交会带上工作区所有变化)。
0aa8fe6
这次没有正文改动。
a0b4968
@@ -0,0 +1,69 @@ +--- +tags: [Zabbix, 监控, Linux] +order: 10 +--- + +# Zabbix 服务端与 Agent 安装 + +## 场景 + +要给一批服务器和交换机上监控,能看 CPU/内存/磁盘,出问题发邮件或钉钉。 + +## 前置条件 + +- 一台 Linux 做服务端(2C4G 起步,磁盘 100G) +- 一个数据库(MySQL/PostgreSQL,Zabbix 自带模板) +- 能发邮件或用 Webhook 推告警 + +## 配置 + +```bash +# 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`。 + +## 验证 + +```bash +systemctl status zabbix-server +tail -f /var/log/zabbix/zabbix_server.log +zabbix_server -V +``` + +网页能登录、`Reports → System information` 里没有红色报错。 + +## 回滚 + +```bash +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 之外的地址。