一、zabbix工作流程
zabbix监控是将zabbix客户端要安装在被监控设备上负责收集数据,并将数据发送给zabbix服务端,将zabbix客户端接收或采集的数据存储在数据库中。
zabbix的数据收集分为两种模式:
1、主动模式
zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix server。
2、被动模式
zabbix server向agent请求获取监控项的数据,zabbix agent返回数据。
zabbix的主动和被动模式以zabbix客户端为基准的。
二、zabbix进程详解
在默认情况下,zabbix有6个工作进程,分别是zabbix_agentd,zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server和zabbix_gateway。其中,zabbix_java_gateway是可选进程。这6个进程作用如下:
1、zabbix_agentd
zabbix_agentd为zabbix客户端守护进程,主要负责收集客户端监控项数据。
2、zabbix_server
zabbix_server为zabbix服务端守护进程,主要负责收集zabbix客户端数据。
3、zabbix_proxy
zabbix_proxy是zabbix代理进程,其功能类似于server,作用上类似与一个中转站,最终会把收集到的数据再次提交给zabbix_server。
4、zabbix_get
zabbix_get为一个zabbix工具,通常运行在zabbix server或者是zabbix proxy上,用于远程获取客户端信息,通常用于排错。
5、zabbix_sender
zabbix_sender也是一个zabbix工具,通常运行在zabbix客户端,通常用于耗时比较长的检查,其作用是主动发送数据。
6、zabbix_java_gateway
zabbix_java_gateway是zabbix2.0之后引入的新功能,可以用户JAVA方面的设备,但是其只能主动获取数据,而不能被动获取数据。
三、zabbbix监控架构
在实际生产环境中经常会根据网络环境和监控规模的不同,设计zabbix监控架构,无非就是围绕server-client架构、master-node-client架构和server-proxy-client架构。
1、server-client架构
zabbix最简单的架构,监控设备和被监控设备之间直接相连,zabbix server和zabbix client之间直接进行数据交互。
2、server-proxy-client架构
proxy是连接server和client之间的桥梁,其本身并不存放数据,只是将zabbix agent端发送来的数据暂存,然后再提交给server。这种架构一般用于跨机房、跨网络的中型网络架构。在server-proxy-client架构架构中,server设备的宕机会导致整个系统无法正常工作。
3、master-node-client架构
master-node-client架构是zabbix最复杂的架构,一般用于跨机房、跨网络、监控设备较多的大型网络架构。与server-proxy-client相比,master-node-client架构的主要区别在于node与proxy上。在master-node-client架构中,每个node可以理解为一个小的server端,有自己的配置文件和数据库,node下游可以直接连接client,也可以再次经过proxy代理后连接client。在master-node-client架构中,master设备宕机不会影响node结点的正常工作。
这三种架构模式图如下所示:
探索技术无限可能,博主具有丰富监控模板资源及开发能力和项目管理经验,