「Zabbix」- 企业级的监控解决方案

企业级开源分布式监控解决方案。最终的企业级软件,专为实时监控从数万台服务器、虚拟机、网络设备收集的数百万个指标而设计。

用于解决那些问题?

指标收集、问题发现、数据可视化、通知与自治、权限与加密、轻松部署、自动发现、分布式监控、编程接口。

能解决如下问题:

  • 数据收集:监控网络的众多参数以及服务器的健康和完整性。
  • 触发器以及告警:Zabbix使用灵活的通知机制,允许用户配置电子邮件的警报。这样可以快速反应服务器问题。
  • 可视化数据及拓扑图:基于存储的数据的方式提供出色的报告和数据可视化功能。这使Zabbix成为容量规划的理想选择。
  • 自动发现:支持设备和服务的自动发现。
  • Web监控:模拟HTTP请求,监控业务中的某些站点及响应。
  • 历史数据存储:对历史的监控数据进行存储。
  • 具有模板且易于配置
  • Web前端访问
  • API
  • 权限管理
  • 大型环境的支持:核心功能由C语言编写,性能好且内存开销小。

Zabbix支持轮询和捕获。所有Zabbix的报告、统计信息以及配置参数都可通过基于Web前端进行访问。基于Web前端的方式确保在任何地方对网络状态和服务器的运行状进行评估。正确的配置Zabbix可以在监控设备方面发挥重要作用。对于具有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。

工作原理

这里先简单的描述一下Zabbix的工作原理。为了简单描述问题,对于原理的解释会有一些错误的地方,但这便于解释和理解原理,至于错误的地方,之后会注明。

Zabbix的运行需要三台主机,一台运行Zabbix Server,一台运行Zabbix Proxy,一台运行Zabbix Agent。(实际上一台机器就足够了,具体依赖于环境)。

Zabbix Agent:所在的主机是被监控的主机,Zabbix Agent用于收集被监控主机上数据。

Zabbix Proxy:所在的主机是代理主机,用来代表Zabbix Server工作的。可以从多个受监控设备收集监控数据,并将信息发送给Zabbix Server。所有收集的数据都在本地进行缓存,然后再传输到Zabbix Proxy所属的Zabbix Server。因为Zabbix Proxy需要在本地缓存数据,运行Zabbix Proxy需要数据库。Zabbix Proxy是可选的,如果没有的话,Zabbix Agent可以把数据直接发送给Zabbix Server。

Zabbix Server:执行轮询和捕获数据、计算触发器、向用户发送通知。是用于接收Zabbix Proxy和Zabbix Agent报告数据的核心组件。所有的数据最终都由Zabbix Server保存在数据库中。

相关链接

Zabbix Documentation 3.2

参考文献

Wiki:https://en.wikipedia.org/wiki/Zabbix
访问Zabbix中文社区