(三)zabbix------proxy,主动, 被动代理

本文介绍了Zabbix Proxy的主动和被动模式,重点关注主动模式的配置。主动模式下,Zabbix Agent主动采集数据并返回给Server,减轻Server压力。被动模式则由Server周期性索取数据。详细步骤包括安装、配置主动模式的Proxy和Agent,以及如何验证监控数据。

一. Zabbix Proxy介绍

主动模式与被动模式工作原理
安装主动模式zabbix proxy
配置agent 为主动模式
添加主机并关联模板
验证数据
在这里插入图片描述

主动与被动数据获取

这是对于zabbix agent来说的工作模式

  1. 被动模式就是zabbix server向zabbix agent发出指令获取数据,即zabbix agent被动的去获取数据并返回给zabbix server,zabbix server周期性的向agent 索取数据,这种模式的最大问题就是会加大zabbix server的工作量,在数百台服务器的环境下zabbix server不能及时获取到最新数据,但这也是默认的工作方式。

  2. 主动模式zabbix agent主动采集数据并返回给zabbix server,不再需要zabbix serve进行干预,因此主动模式在一定程度上可减轻zabbix server的压力。

主动模式只有第一次会获取监控项
可以设置一个时间,每个隔多长时间获取一次监控项内容
在这里插入图片描述

zabbix 是一个分布式的监控系统,支持通过代理服务器zabbix proxy收集zabbix agent的数据,然后把收集保存在本地数据库并发送给zabbix server进行统一存储和展示。 工作模式

在这里插入图片描述
proxy和 zabbix server对比
在这里插入图片描述
一种直接用主被模式监控

另一种用主被proxy模式监控

二. 被动模式实现(一般不用)

1.安装

安装依赖包

 [root@zabbix-proxy ~]# yum install gcc libxml2-devel net-snmp \
 net-snmp-devel curl curl-devel php php-bcmath \
 php-mbstring mariadb mariadb-devel java-1.8.0-openjdk-devel -y 

准备zabbix proxy数据库

mysql
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_proxy.* to proxyIP@'%' identified by '123456';

安装proxy

 useradd zabbix -s /sbin/nologin
./configure --prefix=/usr/local/zabbix --enable-proxy --enable-agent --with-mysql --with-netsnmp --with-libcurl --with-libxml2 --enable-java
 make install

或者
apt install -y zabbix-proxy-mysql

导入数据库

[root@zabbix-proxy]# mysql -uproxy -p123456 -h192.168.15.203 zabbix_proxy < 
database/mysql/schema.sq

如果是schema.sq.gz 
zcat /usr/share/doc/mysql/schema.sq | mysql -uproxy -p123456 -h192.168.15.203 zabbix_proxy

配置zabbix proxy:

grep  "^[a-Z]"  /usr/local/zabbix/etc/zabbix_proxy.conf

ProxyMode=1 #0为主动,1为被动

Server=192.168.15.201   #zabbix server服务器的地址或主机名
	#代理服务器名称,需要与zabbix server添加代理时候的proxy name是一致的!
Hostname=proxy1-mage-passive 

LogFile=/tmp/zabbix_proxy.log

DBHost=192.168.15.203 #数据库服务器地址

DBName=zabbix_proxy  #使用的数据库名称

DBUser=proxy      #连接数据库的用户名称

DBPassword=123456 	#数据库用户密码

DBPort=3306			 #数据库端口

ProxyLocalBuffer=3 		#已经提交到zabbix server的数据保留时间

ProxyOfflineBuffer=300 	#未提交到zabbix server的时间保留时间

HeartbeatFrequency=120 #心跳间隔检测时间,默认60秒,范围0-3600秒,被动模式不使用

ConfigFrequency=20		#间隔多久从zabbix server 获取监控信息

DataSenderFrequency=5 	#数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用

StartPollers=20 		#启动的数据采集器数量
	
	#有java时配置
	#java gateway服务器地址,当需要监控java的时候必须配置否则监控不到数据
JavaGateway=192.168.15.202 

JavaGatewayPort=10052 #Javagatewa服务端口

StartJavaPollers=20 #启动多少个线程采集数据

CacheSize=1G 		#保存监控项而占用的最大内存

HistoryCacheSize=1G #保存监控历史数据占用的最大内存

Timeout=30 			#监控项超时时间,单位为秒

LogSlowQueries=3000 #毫秒,多久的数据库查询会被记录到日志

重启服务

systemctl restart zabbix-proxy
systemctl enable zabbix-proxy

可以查看日志

2. 被动代理

在这里插入图片描述

3. 安装zabbix agent

grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
DebugLevel=4
	#被动模式的server,和proxy
Server=192.168.15.201,192.168.15.202
ListenPort=10050
ListenIP=0.0.0.0
StartAgents=3
	#代理地址proxy
ServerActive=192.168.15.202
Hostname=192.168.15.203
Timeout=30
UnsafeUserParameters=1


systemctl restart zabbix-agent

4. 添加被动模式主机

选择代理
在这里插入图片描述

验证被动模式监控数据

在这里插入图片描述

三. 主动模式实现(重点)

配置zabbix proxy:

grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_proxy.conf
ProxyMode=0 #0为主动,1为被动

Server=192.168.15.201 #zabbix server服务器的地址或主机名
	#代理服务器名称,需要与zabbix server添加代理时候的proxy name是一致的!
Hostname=mage_proxy 

LogFile=/tmp/zabbix_proxy.log

DBHost=192.168.15.203 	#数据库服务器地址

DBName=zabbix_proxy

DBUser=zabbix

DBPassword=123456

DBPort=3306

ProxyLocalBuffer=3 	#已经提交到zabbix server的数据保留时间

ProxyOfflineBuffer=24 	#未提交到zabbix server的时间保留时间

HeartbeatFrequency=60 	#心跳间隔检测时间,默认60秒,范围0-3600秒,被动模式不使用

ConfigFrequency=5 	#间隔多久从zabbix server 获取监控信息

DataSenderFrequency=5 #数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用

StartPollers=20 #启动的数据采集器数量

JavaGateway=192.168.15.202 #java gateway服务器地址
JavaGatewayPort=10052
StartJavaPollers=20 #启动多少个线程采集数据
CacheSize=2G #保存监控项而占用的最大内存
HistoryCacheSize=2G #保存监控历史数据占用的最大内存
Timeout=30
LogSlowQueries=3000

Proxy 主动数据库配置:
创建数据库:–mysql

mysql
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_proxy.* to 'zabbix'@'192.168.66.%' identified by '123456';

导入内容—proxy

cd /usr/share/doc/zabbix-proxy-mysql-4.0.1

zcat schema.sql.gz | mysql -uzabbix_active -p123456 -h192.168.15.203 zabbix_proxy_active

systemctl restart zabbix-proxy.service
在这里插入代码片

在这里插入图片描述

zabbix-agent端的配置

agent配置文件

grep "^[a-Z]" /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
DebugLevel=4
	#zabbix-server地址和proxy
Server=192.168.66.101192.168.15.203
ListenPort=10050
ListenIP=0.0.0.0
StartAgents=3
	#代理地址
ServerActive=192.168.15.203
Hostname=192.168.15.204
Timeout=30
UnsafeUserParameters=1

systemctl restart zabbix-agent.service

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结果
在这里插入图片描述

实例:监控tomacat

vim /apps/tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS 
 -Dcom.sun.management.jmxremote 	#启用远程监控JMX
 -Dcom.sun.management.jmxremote.port=12345 	#默认启动的JMX端口号,要和zabbix添加主机时候的端口一致即可
 -Dcom.sun.management.jmxremote.authenticate=false 	#不使用用户名密码
 -Dcom.sun.management.jmxremote.ssl=false 	#不使用ssl认证
 -Djava.rmi.server.hostname=x.x.x.x" 	 #tomcat主机自己的IP地址,不要写zabbix服务器的地址

在这里插入图片描述
在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值