zabbix-实现proxy的主被动模式 proxy被动模式实现 主动模式实现 zabbix通过proxy获取java的监控数据 zabbix测试工具

agent端配置

1、vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.3.207,192.168.3.200  
#指定允许proxy到本机抓取数据,也需要允许server,server上的每个主机都关联了一个模板,模板中有周期性检测agent是否存活的监控项,所以需要允许server进行访问
ListenPort=10050
ListenIP=0.0.0.0
StartAgents=3
Hostname=192.168.3.202

2、systemctl restart zabbix-agent

proxy端配置

1、vim /apps/zabbix-proxy/etc/zabbix_proxy.conf
ProxyMode=1
Server=192.168.3.200   #指定允许server到本机抓取数据
Hostname=zabbix-proxy-linux-passive
ListenPort=10051
DBHost=192.168.3.203
DBName=zabbix_passive
DBUser=zabbix_passive
DBPassword=linux
ProxyLocalBuffer=720
ProxyOfflineBuffer=720
StartPollers=5
HistoryCacheSize=16M
Timeout=30
CacheSize=16M
User=zabbix

2、systemctl restart zabbix-proxy

zabbix web上的配置

1、创建代理
zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具
2、指定代理模式为被动模式,指定代理的地址及端口;主动模式不需要proxy地址及端口,主动模式下,是proxy主动连接server
zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具
3、指定agent信息,并且指定使用proxy获取agent数据
zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具
4、关联一个模板
zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具

主动模式实现

proxy主动模式工作过程

zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具
agent会打开一个随机端口向proxy的10051端口发起请求,请求监控项,proxy本身没有监控项,所以proxy会把请求发送给server的10051端口,请求agent的监控项(通过agent配置文件中的hostname识别不同的agent),server会通过数据库查找到agent对应的监控项,把监控项返还给proxy,proxy返还给agent,agent从而获得了监控项,进行数据采集;

agent把采集到的数据发送给proxy,proxy会把数据临时记录到数据库中,proxy根据配置文件中所设定的时间,把数据推送给server,server再把数据记录到数据库中;

主被动模式都是agent第一次获得监控项后,后面会根据该监控项采集数据,当达到server或者proxy配置文件中设置的指定同步时间后,由proxy向server获取最新的监控项,或由server把最新的监控项推送给proxy

数据库端配置

1、mysql> create database zabbix_active character set utf8 collate utf8_bin;

2、mysql> grant all privileges on zabbix_active.* to zabbix_active@'192.168.3.%' identified by 'linux';

proxy端配置

1、root@test:~# vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=0       #指定为主动模式
Server=192.168.3.200
ServerPort=10051
Hostname=zabbix-proxy-linux-active
DBHost=192.168.3.203
DBName=zabbix_active
DBUser=zabbix_active
DBPassword=linux
ProxyLocalBuffer=720
ProxyOfflineBuffer=720
HeartbeatFrequency=60
ConfigFrequency=30
DataSenderFrequency=30
StartPollers=5
HistoryCacheSize=16M
CacheSize=16M
Timeout=30
User=zabbix

2、systemctl restart zabbix-proxy

agent端配置

1、vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.3.200,192.168.3.207  #192.168.3.207可以不用写
ServerActive=192.168.3.207   #必须指定agent主动到proxy的地址获取监控项
Hostname=192.168.3.208
StartAgents=3
ListenIP=0.0.0.0

2、systemctl restart zabbix-agent

zabbix web配置

1、创建主动模式代理
zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具
2、创建主机时,指定代理为主动模式的代理即可;proxy使用主动模式,则server给agent关联的模板,模板中的监控项也必须为主动模式,所以必须提前准备好一个主动模式的模板;如果agent设置的是主动模式,但是server给agent关联的模板是被动模式,则agent的主动模式将失效,并且server会收不到agent数据,会报错。

zabbix通过proxy获取java的监控数据

zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具 (43)

zabbix proxy配置(主动模式)

1、vim /etc/zabbix/zabbix_proxy.conf
ProxyMode=0
Server=192.168.3.200
ServerPort=10051
Hostname=zabbix-proxy-linux-active
DBHost=192.168.3.203
DBName=zabbix_active
DBUser=zabbix_active
DBPassword=linuxConfigFrequency=30
JavaGateway=192.168.3.207        #java gateway地址;server不用再配置
JavaGatewayPort=10052
StartJavaPollers=3

2、systemctl restart zabbix-proxy

web界面的配置

1、创建一个主机,指定JMX接口,指定代理;如果只监控一个服务器的java服务的数据,则不需要安装agent
zabbix-实现proxy的主被动模式
proxy被动模式实现
主动模式实现
zabbix通过proxy获取java的监控数据
zabbix测试工具
2、关联一个java模板

zabbix测试工具

/apps/zabbix-server/bin/zabbix_get -s 192.168.3.202 -p 10050 -k system.cpu.load[all,avg1]
#指定想要获取数据的agent地址,-p指定端口,-k指定监控项的key