Zabbix 是一个企业级的开源监控软件,可以监控 IT 基础架构的可用性和应用的性能,为用户提供集中管理、分布式监控的一站式(all in one)监控解决方案,是一款真正的开源产品(True Open source)。采用 GPL 协议发布,不论是商业或非商业的使用没有任何限制,可以说是绝对的自由使用。不同于其他开源产品有社区版本和企业版本的区别, Zabbix 软件本身提供的功能、监控设备的数量等方面没有任何限制。无论是企业或者个人使用,你都可以对源代码进行修改、定制以便适应自身需求,尤其是对企业来讲很重要的一点就是避免了厂商锁定的问题。
Zabbix 最基本的目的是收集监控数据,将收集的数据统一保存到数据库中进行分析处理,利用 Web 前端页面可以轻松的将这些监控数据实时展示出来。通过与设定的阀值进行比较触发特定的事件并产生相应的动作,发出告警通知或执行远程命令。Zabbix 提供了多种监控方式用来监控基础架构的各个方面,不仅有专用的 Agent,还支持 External checks、 SNMP、IPMI、JMX monitoring、SSH checks 等多种方式收集监控数据,具有丰富的功能和灵活的扩展性。事实上,几乎所有你能想到的都可以在 Zabbix 中实现监控。
Alexei Vladishev 1998 年开始创建 Zabbix,2001 年他发布了 Zabbix 的第一个版本,自从第一次发布起,Zabbix 就确定了它的开发指南:
关于阈值、触发器和警报的所有规则均由 Zabbix 服务器管理。
几乎所有的配置任务都可以通过 Zabbix Web 前端页面完成。
使用 PHP 开发 Zabbix Web 前端页面,使用 C 语言开发 Zabbix 服务器保证核心系统的性能。
所有的数据(包括配置和历史数据)存储在关系数据库中(将来也可以在 NoSQL 数据库中存储历史数据)。
Zabbix 组件与架构 Zabbix 监控系统包含四个主要组件:Zabbix server、Zabbix proxy、Zabbix database 和 Zabbix GUI。每个组件都有其自身的特点和要求:
Zabbix server:这是核心引擎,负责收集或接收来自被监控设备的数据。它是用 C 语言开发的,与 Zabbix agents、Zabbix proxy 和 Zabbix database 进行通信。它是最主要的组件,管理所有的规则(包括收集监控数据、触发器、告警等等)。
Zabbix GUI:这是 Zabbix Web 前端管理页面,用户通过 Web 前端页面可以查看 Zabbix server 收集的数据,也可以对 Zabbix server 进行配置。它是用 PHP 开发的,使用支持 PHP 程序运行的 web 服务器 (Apache 或 Nginx),并与 Zabbix 数据库通信。
Zabbix database: 这是 Zabbix 数据存储库。 Zabbix 的后端数据库可以是 Oracle、 IBM DB2、PostgreSQL、MySQL 或 SQLite3。在这本书中,我们将使用MySQL 作为数据库。
Zabbix proxy:这是一个可选的组件,利用它来实现分布式监控架构或分担 Zabbix server 的负载,提高 Zabbix server 的性能。它的主要功能是协助 Zabbix server 从被监视的主机或设备收集数据。Zabbix proxy 收集的数据首先存放到本地临时数据库中,随后定时发送到 Zabbix server 中,即便 Zabbix server 和 Zabbix proxy 的连接断开也不会导致数据的丢失(数据保留的时间可在 proxy 的配置文件中设置)。在 3.0 版本中原生支持 Zabbix server 和 Zabbix proxy 之间的数据加密传输(基于证书或者基于共享秘钥的加密都是支持的)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !