本实验是在Zabbix分布式监控实战(1)——认识zabbix,搭建Zabbix监控平台实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机。


文章目录

  • 一、简介
  • 二、搭建zabbix-proxy
  • 实验环境
  • 实验


一、简介

zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力。对于多机房大集群情况下,肯定不是一台zabbix server服务器来进行信息的收集等工作,所以就要用到代理了。zabbix proxy可以非常简便的实现了集中式、分布式监控。

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库


zabbix-server 处于外网,zabbix-agent 处于各个地方的内网,所有内网都是互通的。其中有一台内网服务器既可以和内网通信,也可以和外网进行通信。

zabbix proxy仅仅需要一条tcp连接到zabbix server,所以zabbix server主机的防火墙上仅仅需要加上一条规则即可。zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。

zabbix proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server。这个时间由zabbix proxy配置文件中参数ProxyLocalBuffer and ProxyOfflineBuffer决定。

zabbix proxy 使用场景:

监控远程区域设备
 监控本地网络不稳定区域
 当 zabbix 监控上千设备时,使用它来减轻 server 的压力
 简化 zabbix 的维护

zabbix proxy 是一个数据收集器,它不计算触发器、不处理事件、不发送报警。

二、搭建zabbix-proxy

实验环境

主机名

ip

服务

版本

server1

172.25.1.1

zabbix-server,zabbix-web,mariadb-server

rhel7.3

server2

172.25.1.2

zabbix-agent

rhel7.3

server3

172.25.1.3

zabbix-proxy

rhel7.3

实验

在server3上
步骤一:停掉之前配置的zabbix-agent

systemctl stop zabbix-agent.service

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_web界面_02


在web界面上删除server3的监控主机

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_03

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_zabbix安装好后在浏览器无法连接_04


步骤二:修改主机名为proxy,方便后续配置

hostnamectl set-hostname proxy

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_05


添加本地解析

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_06


步骤三:安装zabbix-proxy,及数据库mariadb

yum install zabbix-proxy-mysql-4.0.5-1.el7.x86_64.rpm fping-3.10-1.el7.x86_64.rpm -y
yum install mariadb-server -y

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_07


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_zabbix安装好后在浏览器无法连接_08

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_09


步骤四:开启数据库并配置

systemctl start mariadb.service 
systemctl enable mariadb.service 
systemctl status mariadb.service

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_10


步骤五:数据库安全初始化

mysql_secure_installation

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_11


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_12


步骤六:创建数据库zabbix-proxy,并授权

mysql -uroot -predhat
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'redhat';
MariaDB [(none)]> show databases;

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_13


步骤七:将zabbix-proxy自生成的数据库文件导入数据库

zcat /usr/share/doc/zabbix-proxy-mysql-4.0.5/schema.sql.gz | mysql -uzabbix -p zabbix-proxy    #这里的密码是数据库的登陆密码

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_14


在zabbix-web界面设置

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_15

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_zabbix安装好后在浏览器无法连接_16

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_17


在server3上

vim /etc/zabbix/zabbix_proxy.conf 
 30 Server=172.25.1.1
 39 ServerPort=10051
 49 Hostname=proxy
173 DBName=zabbix_proxy
188 DBUser=zabbix
196 DBPassword=zabbix
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
cat /var/log/zabbix/zabbix_proxy.log  #可以接受到data来自172.25.1.1

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_18


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_19

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_20

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_21

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_22

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_23


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_zabbix安装好后在浏览器无法连接_24

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_25


在web界面查看代理状态

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_web界面_26


给server2设置代理:

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_27

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_28

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_29


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_30

在server2上

vim /etc/zabbix/zabbix_agentd.conf
 98 Server=172.25.1.3
139 ServerActive=172.25.1.3
systemctl restart zabbix-agent.service 
cat /var/log/zabbix/zabbix_agentd.log

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_web界面_31


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_32

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_33


在server3上

cat /var/log/zabbix/zabbix_proxy.log   #可以在日志中查看到server2的信息

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_web界面_34


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_zabbix安装好后在浏览器无法连接_35


在web界面查看主机

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_36


此时可以查看到server2上的agent服务已经被检测到。

但是JMX没启用,这是因为我们的代理配置文件的没有设置这个监控,给proxy设置监控java应用的模块。

在server3上

vim /etc/zabbix/zabbix_proxy.conf 
329 JavaGateway=172.25.1.1
337 JavaGatewayPort=10052
345 StartJavaPollers=5
systemctl restart zabbix-proxy.service

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_37


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_38

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_mysql_39


zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_zabbix安装好后在浏览器无法连接_40


刷新web界面

zabbix安装好后在浏览器无法连接 zabbix proxy 连接 zabbix server_数据库_41

此时,已经在zabbix中开启了JMX,并检测到java应用。