Zabbix是一款开源监控软件。
  它是基于Web界面的一种监控方式,监控信息通过web界面呈现给我们。
  它需要运行在LAMP/LNMP环境下。(后续我们使用LAMP环境)

Zabbix可监控对象:
  1、设备:服务器、路由器、交换机…
  2、软件:OS、网络、应用程序…
  3、主机性能:CPU、内存、磁盘…
  4、故障监控:down机、服务不可用、主机不可达等等。

Zabbix常见角色:
  1、zabbix_server:负责收集agent发送来的监控数据,
                                  写入数据库mysql,再通过php+apache,最终在web页面把监控信息呈现给用户。
  2、zabbix_agent:负责采集监控数据,发送给zabbix_server。
  3、zabbix_proxy:代替zabbix_server收集agent监控数据,然后转发给zabbix_server。
                                起到一个减轻zabbix_server压力的作用。(适用于数量庞大的agent环境)

Zabbix工作原理:
  1、zabbix_agent安装在被监控主机上,按预设规则收集各项监控数据,并发送到zabbix_server。
  2、zabbix_server接收到监控数据后,将数据存储到数据库mysql中,经过php+apache处理,最终在web界面进行展现和绘图。

Zabbix有两种监控模式:
  1、被动模式。(默认模式)
       zabbix_agent等待zabbix_server发送指令后再去获取监控数据;
       zabbix_server会按照预设规则,周期性的向zabbix_agent索取数据。
       这种模式下,最大的问题是,增加了zabbix_server负载。
      当agent数量达到一定量级时,zabbix_server不能及时获取到最新的监控数据,影响我们判断分析。
2、主动模式。
      zabbix_agent会主动采集数据并发送给zabbix_server。
      使用主动模式,在一定程度上减轻了zabbix_server负载。

Zabbix常用架构:
  1、server-client架构
      该架构是zabbix的最简单的架构。
      监控机和被监控机之间不经过任何代理 ,
      直接由zabbix server和zabbix agentd之间进行数据交互。

适用于网络比较简单,设备比较少的监控环境 。

  2、server-proxy-client架构
      其中proxy是server、client之间沟通的一个桥梁,
      proxy本身没有前端,而且其本身并不存放数据,
      只是将agentd发来的数据暂时存放,而后再提交给server 。

适用于跨机房、跨网络的中型网络架构的监控。

  3、master-node-client架构
       该架构是zabbix最复杂的监控架构,
      每个node同时也是一个server端,node下面可以接proxy,也可以直接接client 。
      node有自已的配置文件和数据库,其要做的是将配置信息和监控数据向master同步,
      master的故障或损坏对node其下架构的完整性。

适用于跨网络、跨机房、设备较多的大型环境 。