深入理解Zabbix监控系统
上QQ阅读APP看书,第一时间看更新

很荣幸能为这本书作序。

本书是从源码级别对Zabbix开源监控系统进行全面解读的专业著述。我用5天的时间通读本书后,感觉获益匪浅,强烈推荐每一位Zabbix用户将其作为案头必备的工具书和参考手册。

近几年开源监控系统蓬勃发展,特别是Prometheus的势头正劲,但以前很多介绍Prometheus的文章或教程里,都会把Zabbix作为反面案例,而其中列举的一些例子其实是对Zabbix不了解或不熟悉而造成的误读。现在用户越来越理性,也越来越专业,会根据不同的业务应用场景,选择更符合实际需求的推荐方案。作为在工作中同时使用Zabbix和Prometheus的用户,我认为在基础设施即服务(infrastructure as a service,IaaS)监控领域里,Zabbix仍是最佳的开源监控解决方案。

开源监控系统要做好、做大、做强,离不开3点:一是商业支持,二是应用需求,三是开发迭代。上海宏时数据系统有限公司是Zabbix的母公司Zabbix SIA的大中华区原厂代表,全权负责Zabbix的原厂培训、咨询服务、市场推广和知识产权维护,是Zabbix中国生态的构建者、Zabbix中国峰会的创办者、Zabbix中文手册和书籍的编译者。经过其多年耕耘,Zabbix已经成功在国内的银行、电信、制造、保险、证券和零售等多个行业中成功应用。在每年举办的Zabbix中国峰会上,Zabbix的应用领域也越来越广泛、越来越成熟。但在代码开发方面,国内开发者却局限于Web页面的修改或扩展,不能不说是一大憾事。

我使用Zabbix已接近7年,从2.0版本开始使用,从3.0版本开始接触源码。我在使用中遇到Zabbix的很多问题,即使阅读官方文档也无法全部理解和解决,这时就必须通过源码来排查原因。但是,Zabbix源码的浩繁复杂阻碍了用户深入学习研究,也阻碍了用户对Zabbix进行重大、紧急bug的修复以及功能扩展。本书对目前正在逐步成为主流的Zabbix 5.0进行深入分析,恰好弥补了这个缺憾,是国内监控行业和软件开发领域的一大幸事。

Zabbix的后端源码主要用C语言编写。本书行文流畅,对源码的分析清晰而透彻。我在阅读本书的过程中就消除了好几个多年的疑惑,也对Zabbix有了更深刻的理解。

这本书首先从全局层面对Zabbix架构进行了介绍,并专门对从Zabbix 2.2到Zabbix 5.0的技术演进进行了比较,使读者可以更好地理解Zabbix功能模块组件不断变化和完善的原因;然后结合源码,对Zabbix 5.0的每个功能模块逐一进行了分析,对重要和常用的功能(比如缓存、各种功能进程和数据库表等)重点予以解释说明,其中关于Zabbix源码构建的部分可谓点睛之笔;最后对Zabbix的前端源码也进行了简要讲解,甚至给出了一个增加Web页面功能的小例子。可以说本书覆盖了Zabbix源码的方方面面。

相信通过对这本书的研读,无论是Zabbix的使用者还是Zabbix的开发者,都会对Zabbix有更全面、更深入的了解,并能更好地使用和完善Zabbix。

田川

海尔智家基础管理

2021年3月