部署及使用zabbix
一、准备环境
1.操作系统:Rokey10
2.zabbix版本:7.4
3.关闭防火墙
#停止当前防火墙
systemctl stop firewalld
#取消开机自启
systemctl disable firewalld
#检查防火墙状态
systemctl status firewalld
二、安装zabbix
#安装 7.4 官方 el10 源包
rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rhel/10/noarch/zabbix-release-latest.el10.noarch.rpm
#刷新缓存并安装
dnf makecache
dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent2 zabbix-sql-scripts zabbix-nginx-conf.noarch nginx
三、安装并配置数据库
1.安装数据库
dnf install mariadb-server -y
2.设置开机自启
systemctl enable --now mariadb
3.初始化数据库
mysql_secure_installation
4.登录数据库执行建库,账号授权
mysql -uroot -p
#创建zabbix库,Zabbix官方推荐utf8mb4
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
#创建本地zabbix用户,mysql_native密码认证(兼容Zabbix7)
CREATE USER zabbix@localhost IDENTIFIED BY 'zabbix';
#授予zabbix库全部权限
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
#刷新权限生效
FLUSH PRIVILEGES;
exit;

5.导入 Zabbix 初始化表结构(关键步骤)
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
四、导入官网提供的数据
1.清空重建 zabbix 库
# 登录数据库
mysql -uroot -p
DROP DATABASE IF EXISTS zabbix;
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost; FLUSH PRIVILEGES;
exit;
2.导入完整初始化脚本
cd /usr/share/zabbix/sql-scripts/mysql
#密码为上面配置过的zabbix
zcat server.sql.gz | mysql -uzabbix -p zabbix
五、为zabbix server配置数据库
1.修改 zabbix-server 数据库配置
grep ^DB /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
2.修改Nginx-zabbix-conf
vim /etc/nginx/conf.d/zabbix.conf
#必须取消注释并改端口
listen 8080;
server_name localhost
3.修改时区
vi /etc/php-fpm.d/zabbix.conf
添加:
php_value[date.timezone] = Asia/Shanghai
4.检查 Web 前端连接配置
vim /etc/zabbix/web/zabbix.conf.php
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
5.重启服务
systemctl restart php-fpm
systemctl reload nginx
systemctl restart zabbix-server
systemctl restart zabbix-agent2
6.启动并自启服务
systemctl enable --now zabbix-server nginx php-fpm zabbix-agent2
7.放行Nginx和agent端口(关闭防火墙就不需要执行这一步)
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
firewall-cmd --add-port=10050/tcp --permanent
firewall-cmd --reload
8.关闭selinux
#临时关闭
setenforce 0
#永久关闭
vim /etc/seliunx/config
getenforce=disabled
六、登录
1.浏览器输入:http://192.168.199.129:8080
2.页面全都保持默认,点击下一步
3.登录zabbix(默认)
用户名:Admin
密码:zabbix
七、用zabbix监控其他服务器
1.在其他服务器上面下载zabbix-agent2(客户端)
#配置epel源
rpm -Uvh https://repo.zabbix.com/zabbix/7.4/release/rhel/10/noarch/zabbix-release-latest.el10.noarch.rpm
#下载zabbix-agent2
dnf makecache
dnf install -y zabbix-agent2
2.修改agent2.conf配置
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.199.129 #你的 Zabbix 服务端 IP
ServerActive=192.168.199.129:10051 #客户端主动上报数据,同样填服务端 IP:10051
Hostname=web01 #远程机器的唯一标识,**后面 Web 后台添加主机时必须一字不差**
3.开启服务
systemctl start zabbix-agent2
systemctl status zabbix-agent2
4.关闭防火墙
# 停止当前防火墙
systemctl stop firewalld
#取消开机自启
systemctl disable firewalld
#检查防火墙状态
systemctl status firewalld
5.关闭selniux
#临时关闭
setenforce 0
#永久关闭
vim /etc/seliunx/config
getenforce=disabled
6.Zabbix Web 后台添加主机
注意:主机名称和远程 agent2.conf 里的Hostname完全一致



7.重启服务
systemctl restart zabbix-agent2
8.在服务端测试(192.168.199.129那台)
#返回的是agent的hostname就是正常的
zabbix_get -s 192.168.199.128 -p 10050 -k agent.hostname
9.查看日志
tail -f /var/log/zabbix/zabbix_agent2.log
注意:选择模板的核心原则
- 根据被监控对象的操作系统
Linux → 选 Linux by Zabbix agent
Windows → 选 Windows by Zabbix agent
网络设备 → 选对应厂商的 SNMP 模板 - 根据监控方式
◦ 安装了 Zabbix Agent → 选带 by Zabbix agent 的模板
◦ 使用 SNMP → 选带 SNMP 的模板
◦ 仅需存活监控 → 选 ICMP Ping 模板 - 主动/被动模式
◦ 默认选 被动模板(名字不带 active),因为可用性检测、自动发现等依赖被动模式更稳定
◦ 当客户端在 NAT/防火墙后,或被监控端数量极大时,考虑加用 active 模板 - 版本兼容性
较新版本 Zabbix(6.0+)引入了 模板模块化,例如 Linux by Zabbix agent 可能变成了一个组合模板,内部包含了多个 Template Module Linux ... 子模块。如果你看到的是这种,直接选主模板就行,它已经把需要的都包含在内。

浙公网安备 33010602011771号