zabbix实现原理及架构

zabbix是一个基于Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

一个最简单的zabbix程序框架必须要有Zabbix Server(Zabbix Server为核心组件,用来获取agent存活状况及监控数据。所有的配置、统计、操作数据均通过Server进行存取到database)和Agent(Zabbix agents 部署在目标监控机上并监控本地资源和应用,将收集数据汇报给Zabbix Server)两个组件,同时zabbix也支持扩展组件Proxy(Zabbix Proxy能够代替Zabbix Server进行性能及可用性数据采集。Proxy是Zabbix部署的可选组件。 如果想分担单一Zabbix Server负载,推荐使用proxy。)zabbix server、proxy、agent都有自己的配置文件以及log文件

wKioL1kMKKThdA15AAH0-zgoVE0349.jpg

(zabbix程序架构)

其他组件说明:

Web GUI:为了更简单的无障碍的访问Zabbix, 所以提供了web接口。该接口作为Zabbix Server的一部分,通常和server运行在同一台主机上。如果采用SQLite作为数据库,web接口和Zabbix Server必须运行在同一台主机上。

Zabbix database:所有的Zabbix数据均存储在数据库中

Zabbix监控系统运行流程:agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端,zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。

agentd收集数据的两种模式:

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:server向agent请求获取监控项的数据,agent返回数据。

Zabbix监控方式

https://s3.51cto.com/wyfs02/M00/94/AA/wKioL1kMGTWT7gFAAAL4mIo2vO4266.jpg

(zabbix监控方式,图片来源马哥教育)

  1. Agent监控方式
  2. Trapper监控方式
  3. SNMP监控方式
  4. JMX(Java管理拓展)监控方式
  5. IPMI(智能平台管理接口)监控方式

未完。

参考:http://www.cnblogs.com/mysql-dba/p/5010902.html以及马哥《企业级大型监控系统zabbix深入介绍》