1.主动与被动

1.1.被动模式(默认工作方式)

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

1.2.主动模式

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

zabbix-主动和被动_zabbix主动模式与被动模式

2.zabbix proxy

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

zabbix-主动和被动_zabbix主动模式与被动模式_02

3.主动模式

zabbix-主动和被动_zabbix主动模式与被动模式_03

1.官方安装参考

https://www.zabbix.com/cn/download?zabbix=4.0&os_distribution=ubuntu&os_version=18.04_bionic&db=mysql&ws=apache​​​

2.zabbix-agent安装

wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
dpkg -i zabbix-release_4.0-2+bionic_all.deb
cat /etc/apt/sources.list.d/zabbix.list
-----------------------------------------------------------------
deb http://repo.zabbix.com/zabbix/4.0/ubuntu bionic main
deb-src http://repo.zabbix.com/zabbix/4.0/ubuntu bionic main
-----------------------------------------------------------------
apt update

apt -y install zabbix-agent

2.1.配置文件修改

vim /etc/zabbix/zabbix_agentd.conf
-------------------------------------------
Server=192.168.1.102 #zabbix-server的ip地址
ServerActive=192.168.1.102 #zabbix-server的ip地址
Hostname=192.168.1.105 #自己的ip
#DebugLevel=4 #用于排查错误
-------------------------------------------

systemctl start zabbix-agent && systemctl enable zabbix-agent

2.3.测试

zabbix-server测试
/usr/local/zabbix/bin/zabbix_get -s 192.168.47.105 -p 10050 -k "agent.ping"
1 #这个获取的值必须为1,ZBX才会是绿色的

2.4.克隆一个模板,修改为主动模式

zabbix-主动和被动_zabbix主动模式与被动模式_04zabbix-主动和被动_zabbix主动模式与被动模式_05zabbix-主动和被动_zabbix主动模式与被动模式_06zabbix-主动和被动_zabbix主动模式与被动模式_07zabbix-主动和被动_zabbix主动模式与被动模式_08zabbix-主动和被动_zabbix主动模式与被动模式_09zabbix-主动和被动_zabbix主动模式与被动模式_10zabbix-主动和被动_zabbix主动模式与被动模式_11

4.主动模式(proxy)

zabbix-主动和被动_zabbix主动模式与被动模式_12

4.1.安装proxy

wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb
dpkg -i zabbix-release_4.0-2+bionic_all.deb
apt update
apt -y install zabbix-proxy-mysql

4.2.数据库

#主动模式数据库
create database zabbix_proxy_active character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy_active.* to zabbix_proxy_active@"192.168.47.%" identified by '123456';

#测试连接数据库
mysql -uzabbix_proxy_active -p123456 -h192.168.47.103

#初始化数据库
cd /usr/share/doc/zabbix-proxy-mysql/
zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql | \
mysql -uzabbix_proxy_active \
-p123456 -h192.168.47.103 zabbix_proxy_active

4.3.配置文件修改

grep"^[a-Z]" /etc/zabbix/zabbix_proxy.conf
-------------------------------------------------------------------------
ProxyMode=0 #0为主动,1为被动
Server=192.168.47.102 #zabbixserver服务器的地址或主机名
Hostname=proxy-active #代理服务器名称,需要与zabbixserver添加代理时候的proxy name是一致的
LogFile=/tmp/zabbix_proxy.log
DBHost=192.168.47.103 #数据库服务器地址
DBName=zabbix_proxy_active #使用的数据库名称
DBUser=zabbix_proxy_active #连接数据库的用户名称
DBPassword=123456 #数据库用户passwd
DBPort=3306 #数据库端口
ProxyLocalBuffer=3 #已经提交到zabbixserver的数据保留时间
ProxyOfflineBuffer=24 #未提交到zabbixserver的时间保留时间
HeartbeatFrequency=60 #心跳间隔检测时间,默认60秒,范围0-3600秒,被动模式不使用
ConfigFrequency=5 #间隔多久从zabbixserver 获取监控信息
DataSenderFrequency=5 #数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用
StartPollers=20 #启动的数据采集器数量
JavaGateway=192.168.47.102 #java gateway服务器地址,当需要监控java的时候必须配置否则监控不到数据
JavaGatewayPort=10052 #Javagatewa服务端口
StartJavaPollers=20 #启动多少个线程采集数据
CacheSize=2G #保存监控项而占用的最大内存
HistoryCacheSize=2G #保存监控历史数据占用的最大内存
Timeout=30 #监控项超时时间,单位为秒
LogSlowQueries=3000 #毫秒,多久的数据库查询会被记录到日志
#启动代理,监听10051端口
systemctl start zabbix-proxy

#测试
atp-get install zabbix-get
/usr/bin/zabbix_get -s 192.168.47.105 -p 10050 -k "agent.ping"

4.4.agent配置文件修改

apt -y install  zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
-------------------------------------------
Server=192.168.1.104 #指向代理
ServerActive=192.168.1.104 #指向代理
Hostname=192.168.1.105 #自己的ip
-------------------------------------------

systemctl restart zabbix-agent

4.5.web添加主机配置

4.5.1.添加agent代理程序

zabbix-主动和被动_zabbix主动模式与被动模式_13zabbix-主动和被动_zabbix主动模式与被动模式_14

4.5.2.添加主机

zabbix-主动和被动_zabbix主动模式与被动模式_15

4.5.3.关联自动模式模板

zabbix-主动和被动_zabbix主动模式与被动模式_16

4.5.4.查看

zabbix-主动和被动_zabbix主动模式与被动模式_17

zabbix-主动和被动_zabbix主动模式与被动模式_18

5.被动模式的(proxy)

5.1.数据库

#被动模式数据库
create database zabbix_proxy_passive character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy_passive.* to zabbix_proxy_passive@"192.168.47.%" identified by '123456';

#测试数据的连接
mysql -uzabbix_proxy_passive \
-p123456 -h192.168.47.103 zabbix_proxy_passive

#初始化数据库[记得初始化,不然zabbix-proxy是启动不了的,一直卡着不动]
cd /usr/share/doc/zabbix-proxy-mysql/
zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql | \
mysql -uzabbix_proxy_passive \
-p123456 -h192.168.47.103 zabbix_proxy_passive

5.2.安装proxy

参考上面的【主动模式(proxy)】中安装

5.3.配置文件

root@ubuntu:~# grep ^[a-Z] /etc/zabbix/zabbix_proxy.conf
-------------------------------------------------------------------------
ProxyMode=1
Server=192.168.47.102 #指定允许server到本机抓取数据
Hostname=proxy-passive
DBHost=192.168.47.103
DBName=zabbix_proxy_passive
DBUser=zabbix_proxy_passive
DBPassword=123456

5.4.启动

systemctl start zabbix-proxy

#在proxy主机测试
apt-get install zabbix-get
/usr/bin/zabbix_get -s 192.168.47.103 -p 10050 -k "agent.ping"

5.5.zabbix-agent安装及配置

apt-get install zabbix-agent
root@ubuntu:~# grep ^[a-Z] /etc/zabbix/zabbix_agentd.conf
--------------------------------------------------------
Server=192.168.47.106 #代理的ip
Hostname=192.168.47.103 #本机ip
--------------------------------------------------------

zabbix-主动和被动_zabbix主动模式与被动模式_19zabbix-主动和被动_zabbix主动模式与被动模式_20zabbix-主动和被动_zabbix主动模式与被动模式_21

zabbix-主动和被动_zabbix主动模式与被动模式_22