IP地址对应关系如下:
zabbix-server | 122.9.8.21 |
---|---|
zabbix-proxy | 122.9.4.102 |
zabbix-agent2 | 116.63.9.109 |
一、 安装zabbix-server
https://blog.csdn.net/qq_50247813/article/details/132131774
二、 安装zabbix-proxy
a. 安装zabbix源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
## 修改为阿里云的源
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
b. 安装proxy
yum install zabbix-proxy-mysql zabbix-get -y
c. 安装数据库
yum install mariadb-server mariadb -y
## mariadb数据库初始化
https://blog.csdn.net/qq_50247813/article/details/132969093
d. 创建数据库,创建用户
create database zabbix_proxy character set utf8 collate utf8_bin;
create user zabbix@'localhost' identified by 'zabbix';
grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
flush privileges;
e. 导入初始化脚本
## 查看脚本在哪
rpm -ql zabbix-proxy-mysql
## 导入脚本
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.39/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy
f. 修改配置文件
sed -i '189a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
## 被替换的地址是zabbix-server的地址
sed -i 's/Server=127.0.0.1/Server=122.9.8.21/g' /etc/zabbix/zabbix_proxy.conf
## 代理服务器的主机名
sed -i 's/Hostname=Zabbix proxy/Hostname=zabbix_proxy/g' /etc/zabbix/zabbix_proxy.conf
## 模式选择为主动模式 0 主动 ,1 被动;默认是主动模式
sed -i 's/# ProxyMode=0/ProxyMode=0/g' /etc/zabbix/zabbix_proxy.conf
g. 重启zabbix-proxy
systemctl restart zabbix-proxy
三、 Web前端配置
- 创建代理agent
现在zabbix proxy目前还没有和zabbix server正常通信
- 由于proxy是主动模式,配置信息Zabbix server不会及时同步到zabbix proxy。配置信息一般从数据库加载到config cache当中,zabbix proxy不能及时知道zabbix server配置
## 解决方法1: 加载zabbix server配置
zabbix_proxy -R config_cache_reload
## 解决方法2:重启服务
systemctl restart zabbix-proxy
-
查看zabbix-proxy日志
cat /var/log/zabbix/zabbix_proxy.log
四、 配置zabbix-agent2
a. 安装zabbbix源,替换成阿里云的源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
b. 安装zabbix-agent2,启动agent
yum -y install zabbix-agent2
systemctl enable zabbix-agent2 --now
c. 修改zabbix-agent2配置文件
## 修改为zabbix proxy的地址
sed -i 's/Server=127.0.0.1/Server=122.9.4.102/g' /etc/zabbix/zabbix_agent2.conf
sed -i 's/ServerActive=127.0.0.1/ServerActive=122.9.4.102/g' /etc/zabbix/zabbix_agent2.conf
## 将hostname注释掉,并打开 HostnameItem
sed -i 's/Hostname=Zabbix server/#Hostname=Zabbix server/g' /etc/zabbix/zabbix_agent2.conf
sed -i 's/# HostnameItem=system.hostname/HostnameItem=system.hostname/g' /etc/zabbix/zabbix_agent2.conf
d. 重启zabbix-agent2
systemctl restart zabbix-agent2
e. 测试zabbix proxy 是否 能获取zabbix agent2的数据
## 在zabbix proxy 上执行,获取 zabbix agent2 的主机名
zabbix_get -s 116.63.9.109 -p 10050 -k "system.hostname"
测试成功,zabbix proxy可以从zabbix agent2获取到数据
五、 在web前端通过,proxy代理主机
- 添加主机
-
由于zabbix server配置信息发生变动,所以需要去zabbix proxy刷新配置
## 在zabbix proxy服务器上执行zabbix_proxy -R config_cache_reload
-
查看主机监控状态
## 查看最新数据,看看能不能正常获取到监控数据
可以正常获取到数据