Zabbix 分布式zabbix-proxy主动模式_sql

 

zabbix proxy代理概述


zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.

此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。

zabbix proxy 使用场景:

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

 

分布式监控


zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力,此外,当所有agents和proxies报告给一个Zabbix server并且所有数据都
集中收集时,使用proxy是实现集中式和分布式监控的最简单方法。

 

应用场景


监控远程区域设备
监控本地网络不稳定区域
当 zabbix 监控上千设备时,使用它来减轻 server 的压力
简化分布式监控的维护
注意:zabbix_proxy的数据库必须与zabbix_server的数据库分开。不过可以同时在server端创建zabbix数据库与zabbix_proxy数据库,记得授权即可。 

Zabbix 分布式zabbix-proxy主动模式_zabbix_02

 

 实战部署


实验环境:
监控端:192.168.179.102
代理端:192.168.179.103
被监控端:192.168.179.104

 

代理端:192.168.179.103 zbbix proxy安装与配置


这里使用yum安装,在192.168.179.103执行下列命令 

安装proxy和连接mysql数据库的组件
[root@localhost ~]# yum install zabbix40-proxy.noarch zabbix40-proxy-mysql.x86_64 zabbix40-dbfiles-mysql.noarch -y

因为zabbix proxy是会收集agent的数据,所以也需要数据库 

[root@localhost ~]# yum install mariadb mariadb-server mariadb-devel -y
[root@localhost ~]# systemctl start mariadb

 创建数据库,导入表结构,对于Zabbix proxy 数据库, 只需要导入 schema.sql (不需要 images.sql 和 data.sql)

MariaDB [(none)]> create database zabbix_proxy charset utf8;
MariaDB [(none)]> grant all on zabbix_proxy.* to "zabbix"@localhost identified by "123456";
MariaDB [(none)]> flush privileges;

[root@localhost ~]# mysql -uzabbix -p123456 zabbix_proxy < /usr/share/zabbix-mysql/schema.sql
MariaDB [(none)]> use zabbix_proxy;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [zabbix_proxy]> show tables;
+----------------------------+
| Tables_in_zabbix_proxy |
+----------------------------+
| acknowledges |
| actions |
| alerts |
| application_discovery |
| application_prototype |
| application_template |
| applications |

修改配置文件/etc/zabbix_proxy.conf

[root@localhost ~]# vim /etc/zabbix_proxy.conf 
############ GENERAL PARAMETERS #################

### Option: ProxyMode
# Proxy operating mode.
# 0 - proxy in the active mode
# 1 - proxy in the passive mode
#
# Mandatory: no
# Default:
# ProxyMode=0

ProxyMode=0 #0为主动, 1为被动
Hostname=proxy-123 #代理服务器名称,需要与zabbix server添加代理时候的proxy name是一致的!
Server=192.168.179.102 #zabbix server服务器的地址或主机名
DBHost=localhost #数据库服务器地址
DBUser=zabbix
HeartbeatFrequency=60 #心跳间隔检测时间,默认60秒,范围0-3600秒, 被动模式不使用
ConfigFrequency=60 #间隔多久从zabbix server 获取监控信息
DataSenderFrequency=3 #数据发送时间间隔,默认为1秒,范围为1-3600秒,被动模式不使用
ProxyLocalBuffer=3 #数据同步到server,数据还会保存多久,单位小时
ProxyOfflineBuffer=24 #未提交的数据保存多长时间

[root@localhost ~]# systemctl start zabbix-proxy

 

被监控端:192.168.179.104 zabbix agent安装与配置


[root@localhost ~]# yum install zabbix40-agent.x86_64  -y

[root@localhost ~]# vim /etc/zabbix_agentd.conf
Server=192.168.179.103 #这里填写proxy的地址,因为是由proxy来收集数据的

[root@localhost ~]# systemctl start zabbix-agent

 

接下来就可以在zabbix server的web端设置了 添加代理


 这个名字要和配置文件里面Hostname=proxy-123保持一致,而且默认是主动模式

Zabbix 分布式zabbix-proxy主动模式_数据_03

接下来添加主机,由proxy收集数据 

Zabbix 分布式zabbix-proxy主动模式_sql_04

 

 查看proxy是否配置成功


查看代理proxy的日志 

[root@localhost ~]# tail -f /var/log/zabbixsrv/zabbix_proxy.log 
1958:20200626:095136.398 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1958:20200626:095137.400 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1958:20200626:095138.411 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1958:20200626:095139.414 cannot send proxy data to server at "192.168.179.102": proxy "proxy-123" not found
1950:20200626:095230.510 received configuration data from server at "192.168.179.102", datalen 3516
1950:20200626:095330.832 received configuration data from server at "192.168.179.102", datalen 3516
1950:20200626:095431.139 received configuration data from server at "192.168.179.102", datalen 3516
1950:20200626:095531.487 received configuration data from server at "192.168.179.102", datalen 13032
1970:20200626:095533.006 Zabbix agent item "vfs.fs.inode[/,pfree]" on host "192.168.179.104" failed: first network error, wait for 15 seconds
1950:20200626:095631.794 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:095732.090 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:095832.322 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:095932.488 received configuration data from server at "192.168.179.102", datalen 13032
1950:20200626:100032.786 received configuration data from server at "192.168.179.102", datalen 13032
1985:20200626:100117.090 enabling Zabbix agent checks on host "192.168.179.104": host became available
1950:20200626:100132.967 received configuration data from server at "192.168.179.102", datalen 13032
#proxy代理端获取被监控端的键值
[root@localhost ~]# zabbix_get -s 192.168.179.104 -k system.uname
Linux localhost.localdomain 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64

 可以看到数据变绿了,proxy配置成功

Zabbix 分布式zabbix-proxy主动模式_zabbix_05