zabbix详解(二)——zabbix工作原理

今天继续给大家介绍Linux运维相关知识,本文主要内容是zabbix的工作原理。

一、zabbix工作流程

zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给zabbix服务端;zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,zabbix web根据数据在前端进行展示和绘图。
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结点的正常工作。
这三种架构模式图如下所示:
zabbix详解(二)——zabbix工作原理_第1张图片
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

你可能感兴趣的:(自动化运维,zabbix,运维,Linux,自动化,工作原理)