在IT运维工作中,监控的重要性,想必不用我再多说什么了,毕竟谁都想及早发现故障,有效的监控,总比对着服务器和网络设备烧香、跪拜来得靠谱吧。
而作为一个IT外包服务公司,由于需要监控的服务器和网络设备比较多,而且分布在众多的局域网内,所以分布式的监控,肯定是非常必要的,当然也同样适用于拥有多地分公司的集团企业。
我们的做法是,在公有云租赁一台云主机,部署Zabbix Server,最初监控的设备比较少的时候,直接在客户的防火墙或者路由器上开放相应的端口,然后Zabbix Server逐一添加被监控设备就行了。
但是,随着需要监控的设备越来越多,这种方式显然跟不上节奏了,所以不得不开始部署分布式的Zabbix。
其方法就是:在内网部署Zabbix Proxy,来代表云端的Zabbix server在本地收集数据,然后将数据统一上报给云端的Zabbix server。
这种方法,有一个非常显著的优势,就是不再需要被监控的客户拥有公网固定IP,只要有普通的宽带就可以了。
还有就是,proxy 只需要一个到达Zabbix server的TCP连接即可,路由器仅需配置一条端口就可以了,防火墙的话,当然还需要一条放行规则。
Zabbix Server的安装和配置,前面已经有文章写过了,所以就不再重复了, 下面以Centos系统为例,讲解一下Zabbix Proxy的安装和配置。
Proxy默认聆听端口是10051,由于Server在云端,所以需要将内部10051端口映射到公网,如果是防火墙的话,当然还需要匹配的安全策略,这个在之前已经写过很多教程了,就没必要重复了,有需要的朋友,可以翻看我之前写的文章。
被监控的内网设备,处于一个拨号上网的宽带下,没有固定的公网IP,所以选择主动模式,意思就是proxy主动向云端的server报送数据。
下面这个图片,是云端Zabbix Server通过端口映射的方式直接监控到内网的服务器,以及Proxy模式监控内网服务器的对比,从图片中可能看到,无论采购哪种方式,监控到数据是一样的。
显然,需要监控的设备分散在不同的局域网内的话,显然是分布式(即Proxy模式)更方便、更有优势,也在相当程度上,减轻了服务器的负担。