0
点赞
收藏
分享

微信扫一扫

Zabbix proxy实现跨网段分布式监控

    当企业需要监控的服务器数量不是很多时,我们可以使用Zabbix server加主动模式去收集监控项的数据,但是服务器数量特别多,并且分布在不同网段时,该方案必然会给Zabbix server端带来巨大压力。

    为了缓解Zabbix server服务器压力,更有效地收集被监控服务器的监控项数据,我们可以使用Zabbix proxy。

  1. Zabbix proxy基础知识

1.1 Zabbix proxy功能

    Zabbix作为一个分布式监控系统(分布式监控解决方案),支持通过代理(proxy)来收集Zabbix agent服务器的监控数据,然后由Zabbix proxy把数据发送给Zabbix server,即Zabbix proxy代替Zabbix server来收集监控数据,并把监控数据汇报给Zabbix server。

    因此,Zabbix proxy可以在一定程度上分担Zabbix server的数据收集压力,从而降低了数据的采集时间,也相应地增加了Zabbix server的监控能力。

1.2 Zabbix proxy模式

    Zabbix proxy可分为主动模式和被动模式,通信方式也是和Zabbix server一样分为主动和被动模式。

    由于Zabbix proxy没有Zabbix agent的配置,所以Zabbix proxy在主动模式下要周期性地向Zabbix server申请获取Zabbix agent服务器的监控项信息。

    Zabbix proxy在被动模式下也是等待Zabbix server的连接,并接受Zabbix server发送的监控项指令,然后再由Zabbix proxy向Zabbix agent服务器发起请求以获取数据。

1.3 Zabbix proxy架构

    Zabbix proxy架构如下图所示,proxy服务器也需要有自己的数据库,在通过主动或者被动模式拿到收集监控项数据的请求后,向各Zabbix agent服务器收集数据,并进行周期性的汇报。

Zabbix proxy实现跨网段分布式监控_分布式

    由于企业中基本是使用主动模式的代理,笔者此篇也是因主动代理模式为例来演示。


  1. Zabbix proxy服务器设置

2.1 配置网卡

    Zabbix proxy需要设置两块网卡,一块与Zabbix server同网段,一块与agent服务器在同一网段,笔者使用NAT和仅主机两张网卡。

Zabbix proxy实现跨网段分布式监控_zabbix_02

    当前网卡配置下,Zabbix proxy服务器要能成功ping通Zabbix server服务器和agent服务器地址。

Zabbix proxy实现跨网段分布式监控_分布式_03

2.2 安装服务

    与配置被监控服务器相同,Zabbix proxy服务器也需要安装Zabbix agent服务,并通过proxy配置文件来设置代理。其过程与之前实验无差别,只是多安装一个zabbix-proxy-mysyql包,笔者就直接上图。

Zabbix proxy实现跨网段分布式监控_监控_04

Zabbix proxy实现跨网段分布式监控_监控_05

2.3 数据库配置

2.3.1 创建数据库和授权账号

    笔者使用之前实验中server端使用的数据库服务器来创建proxy账号专用数据库和授权账号。

Zabbix proxy实现跨网段分布式监控_zabbix_06

2.3.2 导入数据

    Zabbix proxy服务器将schema.sql.gz压缩文件导入上一步创建的数据库中。

Zabbix proxy实现跨网段分布式监控_数据_07

2.3.3 验证数据

    返回数据库服务器查看对应数据库,已生成了大量的表格。

Zabbix proxy实现跨网段分布式监控_服务器_08

2.4 修改Zabbix proxy配置文件

    Zabbix proxy配置文件与server及agent配置文件大体上相同,主要是设置代理的模式,server端服务器信息,以及数据库信息。

Zabbix proxy实现跨网段分布式监控_分布式_09

    配置文件相关说明:

    (1)ProxyMode:0表示主动模式,1表示被动模式;

    (2)Server:指向Zabbix server服务器,允许server端获取数据;

    (3)ServerPort=10051:主动模式下需设置端口,允许Zabbix server端打开随机端口与proxy服务器进行连接以获取数据;

    (4)Hostname: web界面配置代理时使用,名称需具有唯一性;

    (5)ListenPort:Zabbix proxy监听端口;

    (6)EnableRemoteCommands:设置1表示允许server端执行远程命令,0表示拒绝;

    (7)DB开头:数据库服务器相关信息;

    (8)ProxyLocalBuffer和ProxyOfflineBuffer:已经获取到的和尚未获取到的数据保存时间;

    (9)HeartbeatFrequency:心跳检测时间间隔,被动代理无需设置;

    (10)ConfigFrequency:间隔多长时间从server端获取监控项信息;

    (11)DataSenderFrequency:数据发送时间间隔,单位秒,被动模式无需设置;

    (12)StartPollers:启动数据采集器的数量。


  1. 被监控agent服务器配置

3.1 网卡设置

    笔者使用之前实验中已安装过Zabbix agent服务的real-server1主机作为被监控的agent服务器,real-server1仅有一张仅主机模式网卡,能ping通Zabbix proxy服务器,但无法ping通Zabbix server服务器。

Zabbix proxy实现跨网段分布式监控_服务器_10

3.2 修改Zabbix agent配置文件

    real-server1主机修改agent配置文件,将server端指向proxy服务器,并重启Zabbix agent服务器。

Zabbix proxy实现跨网段分布式监控_数据_11


  1. web界面配置

4.1 创建agent代理程序

    web界面点击“管理”—“agent代理程序”,由于是主动模式,只需填写proxy服务器在配置文件中设置的hostname即可。

Zabbix proxy实现跨网段分布式监控_监控_12

    创建完毕需保证“最近出现”部分不能显示红字,否则得检查proxy服务器是否出现配置项的错误。

Zabbix proxy实现跨网段分布式监控_数据_13

4.2 添加主机

    添加主机的操作与同网段添加主机无太大差别,只是得选择“由agent代理程序监测”,模板部分笔者选择一个Zabbix自带的和一个之前实验监测TCP连接的进行关联。

Zabbix proxy实现跨网段分布式监控_服务器_14

Zabbix proxy实现跨网段分布式监控_分布式_15

Zabbix proxy实现跨网段分布式监控_监控_16


  1. 验证数据

    在“监测”—“图形”中找到已添加的其它网段主机,看是否能通过监控项获取数据,如果能正常获取,则说明Zabbix proxy跨网段分布式监控完成。

Zabbix proxy实现跨网段分布式监控_服务器_17

举报

相关推荐

0 条评论