官方博文 | Zabbix Proxy的潜在优势_javascript

Zabbix Proxy 不只是用于分布式监控的工具。没有Proxies的情况下,很难搭建起一套大规模的Zabbix系统。因此,一些繁杂的工作就交给Zabbix Proxy。



官方博文 | Zabbix Proxy的潜在优势_预处理_02

主要内容


  • Proxy优势
  • 4.2新特性
  • 总结



您绝对应该使用Zabbix Proxies ,在这篇文章中,我将说明它们的优势。Zabbix Proxy是一种免费工具,它的安装数量不受限制。除了拥有一台简单独立的Zabbix Server之外,您还可以让它与数百台独立的Zabbix Proxy服务器一起在您的环境中。

注:此处不过多介绍Zabbix Proxy的安装和配置过程,因此,如果您不熟悉Zabbix,请先阅读我早期的视频。






1




Proxy优势


官方博文 | Zabbix Proxy的潜在优势_jsonpath_03



性能

Proxies在性能方面的主要优势是将负载从Zabbix Server重新分发给各个Proxy。

通常,您的Zabbix Server支持同时运行大量进程,随着环境的增长进程数量也需要增加。在实际生产环境中,可能有超过500个internal processes(内部进程),包括configuration syncers、 pollers、trappers等。每一个进程都负责某些特定的检查来检索数据。这些检查需要花费的时间从几分之一秒到一整秒不等。不同类型的监控项,有些检查更快,有些则更慢。

您可以使用以下命令检测执行一次检查所需的时间:


官方博文 | Zabbix Proxy的潜在优势_预处理_04

快速浏览一下,似乎大多数检查都在快速进行。但在大规模监控环境中,时间可能会有很大差异。如果您有监控相同参数的1,000台主机,并且检查每台主机大约需要0.3 秒,那么您将不得不花费大约5分钟的时间从每台服务器获取该参数数据,而那仅仅是一个参数。

Zabbix Proxies的最大潜在优势之一就是减轻Zabbix Server压力。一个Zabbix Proxy具有与Zabbix Server相同的内部进程,例如pollers、preprocessors、trappers。

当您需要监控成千上万台主机,且有很多个运行缓慢的监控项,那这些运行中的监控项仅因进程一直在等待响应就影响了服务器的性能,这时候增加一台Zabbix Proxy就是理想的解决方案。Zabbix Proxy通过内部进程收集所有主机的数据,然后将原始历史数据发送到Server。连接和接收主机响应所需的时间将在Zabbix Proxy站点上,并且Zabbix Server的性能完全不会受到影响。Proxy只是将原始值发送到Server,Server本身不用连接到主机即可获取数据。


数据库

每个Zabbix Proxy同样自带一个独立的数据库。如果Zabbix Server和Zabbix Proxy之间存在网络通信问题,Zabbix Proxy也可以存储数据。


远程监控

如果您在不同城市中有分支机构或办事处,则Zabbix Proxy应该是远程监控的首选。


虚拟网络

如果Zabbix Server无法访问虚拟网络,则必须安装Zabbix Proxy并选择更优的通信方式(主动式或被动式)。





2




4.2新特性


官方博文 | Zabbix Proxy的潜在优势_jsonpath_03



在Zabbix 4.2之前, Zabbix Proxy仅从主机收集数据并将其传递到Zabbix Server,Zabbix Server处理所有的预处理步骤、触发器、可计算、动作和通知。

从Zabbix4.2版本开始,如果主机由Zabbix Proxy监视,则在Zabbix Proxy端执行预处理,有许多默认的监控项已配置了预处理步骤。

预处理步骤(例如正则表达式,JavaScript,XML XPath,JSON Path,简单更改,每秒更改)也需要消耗大量时间和服务器性能资源。那么,为什么不将这些操作转移到Zabbix Proxy服务器来节省Zabbix Server的时间和资源呢?如果主机由Zabbix Proxy监视,并且某些监控项配置了预处理步骤,则Zabbix Proxy首先会从主机收集数据,然后执行预处理步骤将已收集处理的数据传递给Zabbix Server。

由于预处理是在Zabbix Proxy端执行的,因此Zabbix Server仅收集数据,处理触发器并执行动作(action)。





3




结论


官方博文 | Zabbix Proxy的潜在优势_jsonpath_03



不要误解我的意思——使用Proxy代理不是强制性的。Zabbix Server功能强大到可以独立工作。一台Zabbix Server可以监控上千个监控项和主机,且在不使用Zabbix Proxy采集数据的情况下也能很好地工作。

不过,如果想在您的环境中获得最佳性能,而不是在Zabbix Server规格上(例如,CPU或内存)投入额外的资金,那么您可能会考虑到不仅仅需要调server和数据库的配置,根据性能优化建议和最佳实践优化更新数据采集时间间隔,还可以安装Proxy。Zabbix Proxy服务器的配置不需要太高,两核CPU和4 GB内存就足以处理大量数据,并减轻Server的压力。

在考虑提升硬件性能之前,我强烈建议您使用Zabbix Proxy,并将所有检查移交给它们,而不是Zabbix Server,从而充分利用Zabbix。您一定会留意到其中大大的区别,非常实用。






官方博文 | Zabbix Proxy的潜在优势_javascript_07

2020Zabbix培训计划时间更新


官方博文 | Zabbix Proxy的潜在优势_jsonpath_08官方博文 | Zabbix Proxy的潜在优势_预处理_09

第一期:上海站


时间安排:

4月13-15 ZCS培训(Zabbix中级认证)

4月15日下午 ZCS考试

4月16-17 ZCP培训(Zabbix高级认证)

4月17日下午 ZCP考试

地点:

上海市徐汇区虹梅路远中科研楼


  • 参加考试直通车的小伙伴们请关注各个培训的最后一天即可。点击链接勾选考试直通车即可报名~

点击立即报名