Zabbix特点:

优点:
开源,无软件成本投入。
Server对设备性能要求低。
支持设备多,自带多种监控模板。
支持分布式集中管理,有自动发现功能,可以实现自动化监控
开放式接口,扩展性强,插件编写容易
当监控的 item 比较多服务器队列比较大时可以采用主动状态,被监控客户端主动 serverv端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。
Api 的支持,方便与其他系统结合

缺点:
需在被监控主机上安装 agent,所有数据都存在数据库里, 产生的数据据很大,瓶颈主要在数据库。
项目批量修改不方便
社区虽然成熟,但是中文资料相对较少,服务支持有限;
入门容易,能实现基础的监控,但是深层次需求需要非常熟悉Zabbix并进行大量的二次定制开难
度较大
系统级别报警设置相对比较多,如果不筛选的话报警邮件会很多;并且自定义的项目报警需要自己设置,过程比较繁琐;
缺少数据汇总功能,如无法查看一组服务器平均值,需进行二次开发;

Zabbix组件结构

Zabbix_Server:整个监控体系中最核心的组件,它负责接受客户端发送的报告信息,所有配置,统计数据及操作数据都由它组织。
数据库存储:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
Web界面:为了从任何一个地方访问到Zabbix,它提供了Web界面,通常是与Server在一台主机上。
Zabbix_Proxy:(可选)用于监控节点非常多的分布式环境中,可以减轻Server的压力,代理Server的功能。
Zabbix_Agent:Zabbix-Agent为客户端软件,用于采集各监控项目的数据,并把采集到的数据传输给Zabbixproxy或者Zabbix_Server

Zabbix监控方式:

被动模式:相对于Agent来言:Server端向Agent请求获取配置的各监控相关的数据,agent接受请求,并将数据响应给Server。
主动模式:相对于Agent而言,Agent向Server请求与自己相关的配置监控项。主动地将Server配置的监控相关项发送给Server。
主动模式能极大的减少监控Server的资源。

Zabbix架构:

image.png