最近遇到一个需要使用zabbix-proxy的情况,特此记录,分两部分,第一部分讲zabbix-proxy的原理,第二部分讲配置过程(传送门在此)

关于zabbix-proxy(原理)_服务器

使用zabbix-proxy有两个情况

1、agent在一个网段,server在另一个网段,这个时候需要一台能够连接server网段的机器来将agent的数据传输过去

2、减轻server的服务器压力

小数目的agent于server而言,监测数据占用资源倒不大,但是agent机器一旦多起来,server处理起来就麻烦了,消耗的资源自然就会很多,这个时候有一个proxy机器来跟agent连接,收集数据,然后传送给server,如此一来,server只需和proxy进行连接,瞬间连接数就少了很多,消耗的资源也就下降了,如果是agent和server直接连接,假设一台server的资源最多只能和50台agent连接(打个比方,具体还得看server服务器的性能),那么如果换成一台proxy去收集这50台agent的数据,那么server可以通过和一台proxy连接来达到监测50台agent的目的,那么如果server和50台proxy连接,那么如此一算,便达到了一台server同时对50*50=250台agent监测的目的,这么弄一下,server能监测的数量一下就翻了好几翻,是不是感觉美滋滋。

 

zabbix-proxy从某种程度上来说,其就是zabbix-server的一个数据收集器(就像filebeat/logstash是Elasticsearch的日志收集器一样,关于ELK详情请看这里:关于ELK的介绍)

正式开始讲解流程

zabbix-agent服务器将监测到的数据通过10050端口传递给到zabbix-proxy,然后zabbix-proxy服务器本身有一个数据库,用来存放收集到的数据,定期的通过10051端口给真正的zabbix-server传送收集到的数据,如此一来,就达到了zabbix-server通过proxy对agent进行监测的目的了。

关于zabbix-proxy(原理)_数据_02

当然了,这个端口你可以进行更改,只要对应起来就好了,10051是zabbix-server默认的使用端口,10050是agent默认的使用端口罢了,如果把端口更改一下,或许有迷惑黑客的功效,但是一般zabbix-server是在内网使用,所以,可以,但没必要,除非,哪天公司被人黑进来了,那问题不仅仅是zabbix的安全了。