Zabbix

Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件,比如服务器、虚拟机、应用程序、数据库、网站等。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。

监控在工作中是至关重要的,利用一个优秀的监控软件可以浏览整个网站的所有服务器的状态,在监控平台上实时查看监控数据,可以回溯寻找事故发生时系统的问题和报警情况

zabbix 由两部分组成,分别为 zabbix server 和可选组件 zabbix agent,通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上;zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。

zabbix 的构成

zabbix 主要由五个组件构成

1.server

功能:zabbix server 是整个监控系统的核心组件,负责接收来自被监控设备的数据,处理这些数据,并生成警报和报告

职责:收集和处理来自 Zabbix Agent 和其他数据源的数据;

存储监控数据到数据库中;

生成警报和通知;

提供 Web 界面供用户管理和查看监控数据。

2.web页面

功能:Zabbix Web 是一个基于 Web 的用户界面,用于管理和配置 Zabbix 系统,查看监控数据和生成报告

职责:提供直观的界面,方便用户配置监控项、触发器、用户等;

显示实时监控数据和历史数据;

生成报告和图表,帮助用户分析和理解监控数据;

管理用户权限和访问控制。

3.数据库

功能:Zabbix 使用数据库来存储所有的监控数据、配置信息和历史记录。

职责:存储监控数据,如性能指标、事件、警报等;

存储配置信息,如监控项、触发器、用户等;

提供数据查询和报告功能。

4.proxy

功能:Zabbix Proxy 是一个可选的中间代理,用于分担 Zabbix Server 的负载,特别是在大规模分布式环境中

职责:收集来自多个 Zabbix Agent 的数据;

将收集到的数据转发给 Zabbix Server;

缓存数据,减少网络流量。

5.agent

功能:Zabbix Agent 是安装在被监控设备上的轻量级代理程序,负责收集本地设备的数据并发送给 Zabbix Server

职责:收集本地设备的性能数据,如 CPU 使用率、内存使用率、磁盘 I/O 等;

执行用户自定义的监控脚本;

将收集到的数据发送给 Zabbix Server。

zabbix监控对象

硬件监控:Zabbix IPMI Interface ,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

系统监控:Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。

java监控:Zabbix JMX Interface ,通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。

网络设备监控:Zabbix SNMP Interface ,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议

除此之外还有应用服务监控、MySQL数据监控、URL监控等就不一一介绍了

zabbix工作模式

zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给zabbix服务端;zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,zabbix web根据数据在前端进行展示和绘图。

zabbix 的数据收集分为两种模式

主动模式

zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix server

被动模式 

zabbix server向agent请求获取监控项的数据,zabbix agent返回数据

无论主动还是被动,理解为都是以agent客户端为参照物定义的

zabbix 进程详解

默认情况下,zabbix有6个工作进程,分别是zabbix_agentd,zabbix_get、zabbix_proxy、zabbix_sender、zabbix_server和zabbix_gateway

zabbix_agented

zabbix_agentd为zabbix客户端守护进程,主要负责收集客户端监控项数据

zabbix_server

zabbix_server为zabbix服务端守护进程,主要负责收集zabbix客户端数据

zabbix_proxy

zabbix_proxy是zabbix代理进程,其功能类似于server,作用上类似与一个中转站,最终会把收集到的数据再次提交给zabbix_server

zabbix_get

zabbix_get为一个zabbix工具,通常运行在zabbix server或者是zabbix proxy上,用于远程获取客户端信息,通常用于排错

zabbix_sender

zabbix_sender也是一个zabbix工具,通常运行在zabbix客户端,通常用于耗时比较长的检查,其作用是主动发送数据

zabbix_java_gateway

zabbix_java_gateway是zabbix2.0之后引入的新功能,可以用户JAVA方面的设备,但是其只能主动获取数据,而不能被动获取数据

zabbix 监控架构

server-client 架构

zabbix最简单的架构,监控设备和被监控设备之间直接相连,zabbix server和zabbix client之间直接进行数据交互

server-proxy-client 架构

proxy是连接server和client之间的桥梁,其本身并不存放数据,只是将zabbix agent端发送来的数据暂存,然后再提交给server。这种架构一般用于跨机房、跨网络的中型网络架构。在server-proxy-client架构架构中,server设备的宕机会导致整个系统无法正常工作

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结点的正常工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值