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其下架构的完整性。
适用于跨网络、跨机房、设备较多的大型环境 。