1. 概念解释

Zabbix 是一套强大的监控系统,具有如下特点:

关键组件:

123333.png


2. 学习意义


3. 实例(以 CentOS 8 + MySQL + Zabbix 为例)

步骤 1:更换软件源

bash <(curl -sSL https://linuxmirrors.cn/main.sh)

步骤 2:检查php版本

php -v
php-fpm -v  
#如果php版本低于8.2,请升级php版本,在进行后续操作

步骤 3:php版本升级

wget https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo rpm -ivh remi-release-8.rpm --nodeps --force
ls /etc/yum.repos.d/ | grep remi
#若输出包含 remi.repo、remi-modular.repo 等文件,说明安装成功。
sudo dnf clean all
sudo dnf makecache

步骤4:继续安装php8

# 重置 PHP 模块配置
sudo dnf module reset php -y

# 启用 Remi 仓库的 PHP 8.2 模块
sudo dnf module enable php:remi-8.2 -y

# 安装 PHP 8.2 及扩展(添加 --allowerasing 解决可能的依赖冲突)
sudo dnf install -y \
  php \
  php-cli \
  php-fpm \
  php-mysqlnd \
  php-mbstring \
  php-gd \
  php-xml \
  php-zip \
  php-bcmath \
  php-opcache \
  --allowerasing

步骤5:验证php版本

# 查看 PHP 版本
php -v

# 查看 PHP-FPM 版本
php-fpm -v

步骤6:继续安装zabbix监控

rpm -Uvh https://repo.zabbix.com/zabbix/7.0/centos/8/x86_64/zabbix-release-latest-7.0.el8.noarch.rpm
dnf clean all
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-sql-scripts zabbix-agent

步骤7:创建数据库

dnf install mysql-server -y
systemctl start mysqld
systemctl enable mysqld

输入mysql

# mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

输入mysql

set global log_bin_trust_function_creators = 0;
quit;

步骤 8:配置 Zabbix Server

编辑 /etc/zabbix/zabbix_server.conf,并更新以下字段:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password

步骤 9:配置 PHP 时区

vi /etc/php-fpm.d/zabbix.conf

找到并修改:

php_value[date.timezone] = Asia/Shanghai

步骤 10:启动并设置自启

systemctl enable --now zabbix-server zabbix-agent httpd php-fpm

步骤 11:防火墙配置

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --reload

步骤 12:Web 界面访问

访问 http://<服务器IP>/zabbix,按照安装向导配置数据库连接,默认登录用户为 Admin,密码为 zabbix


4. 实例解析


5. 客户端(Zabbix Agent)部署

如果你想让其他服务器或设备被 Zabbix 监控,需要在它们上面安装 Zabbix Agent。这里是客户端部署的步骤:

步骤 1:安装 Zabbix Agent

在被监控的服务器上,执行以下命令来安装 Zabbix Agent:

dnf install -y zabbix-agent

步骤 2:配置 Zabbix Agent

编辑 /etc/zabbix/zabbix_agentd.conf,并更新以下字段:

Server=<Zabbix Server IP>
Hostname=<Client Hostname>

Server:填写 Zabbix Server 的 IP 地址。
Hostname:填写当前被监控机器的主机名,Zabbix Server 会根据此识别监控的对象。

步骤 3:启动并设置自启

systemctl enable --now zabbix-agent

步骤 4:在 Zabbix Server 上添加该客户端

登录 Zabbix Web 界面,点击“配置”->“主机”->“创建主机”,然后填写主机名称、IP 地址,选择监控模板,保存即可。


6. 相似问题

  1. 在 CentOS 7 上使用 MySQL 作为数据库安装 Zabbix,如何解决 PHP 版本不符合要求的问题(请列出需要安装的 PHP 版本和相关源)?
  2. 你已经在 Zabbix Server 上成功配置数据库,现在需要添加一个新的被监控客户端,请描述如何在客户端机器上安装并配置 Zabbix Agent。
  3. 在 Web 安装过程中出现 “Cannot connect to database” 错误时,按顺序检查哪些配置项来解决问题?