本篇学习目标:zabbix
请运维朋友认真看完,真的很详细(虽然是5.0版本的)
一、zabbix的基本概述
Zabbix是一款功能强大的监控软件,可以监控各种网络参数,确保企业的服务架构安全运营。它还提供灵活的告警机制,使运维人员能够快速定位故障并解决问题。Zabbix支持分布式功能,适用于复杂架构下的监控解决方案,并且提供了直观的web页面,以便清晰展示主机监控情况。
zabbix官网地址为https://www.zabbix.com/,页面如下所示:
二、zabbix的构成
zabbix主要由以下5个组件构成:
1、Server
Zabbix Server是Zabbix的核心组件,用于存储所有的配置信息、统计信息和操作信息。Zabbix Agent负责向Zabbix Server报告可用性、完整性以及其他的统计信息。
2、web页面
作为IT工程师,您已经可以通过Web页面来访问和使用Zabbix系统的功能。Web页面是Zabbix系统的一部分,通常与Zabbix服务器部署在同一台物理设备上。然而,根据特殊情况的需要,它们也可以在不同的设备上进行配置。Web页面的主要目的是为了提供直观的监控信息,以便运维人员可以方便地进行监控和管理操作。
3、数据库
zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。
4、proxy
对于特定的生产环境,可以考虑是否采用或者放弃使用Zabbix Proxy。采用Zabbix Proxy可以替代Zabbix Server进行数据信息的采集,有效减轻Zabbix Server的负载。通常情况下,Zabbix Proxy适用于大型架构、Zabbix Server负载过重,以及企业设备跨机房、跨网段、Zabbix Server无法直接与Zabbix Agent通信的情况。
5、Agent
通常情况下,IT工程师会将Zabbix代理程序部署在需要被监控的对象上。这个代理程序能够主动监测本地资源和应用程序,并将监测到的数据发送给Zabbix服务器。
三、zabbix的监控对象
Zabbix拥有广泛的系统平台监控能力,包括主流操作系统如Linux和Windows,同时还能利用SNMP和SSH协议监控路由交换设备。
当在服务器上部署Zabbix时,可以监控CPU、内存、网络性能等硬件参数,并且能够监控特定的服务、应用程序以及它们的运行情况和性能指标。
硬件监控是通过Zabbix IPMI接口进行的。通过此接口,能够监测被监控对象的物理特征,如电压、温度、风扇状态和电源状态,利用标准IPMI硬件接口实现这一功能。
系统监控可以通过Zabbix Agent Interface实现,该接口使用专用的代理程序进行监控。与常见的master/agent模型相似,如果被监控的对象支持相应的代理程序,我们建议优先选择使用这种方式进行监控。
Java监控:Zabbix JMX接口是利用JMX(Java Management Extensions,即Java管理扩展)技术进行监控的一种选择,特别适用于监控JVM虚拟机。
网络设备监控的一种方法是使用Zabbix SNMP Interface,它通过SNMP协议与被监控的设备进行通信。SNMP协议的全称是简单网络管理协议,它允许我们在无法安装代理程序的硬件设备(如路由器或交换机)上进行监控,因为这些设备都支持SNMP协议。
应用服务监控:Zabbix Agent UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix Web 监控
四、zabbix的常用术语
zabbix的学习需要掌握一些zabbix的常用术语,zabbix常用术语列举如下:
1、主机(host)
要监控的设备,可以由IP或者是主机名(必须可解析)指定。
2、主机组(host group)
主机的逻辑容器,包含主机和模板,主机组通常在给用户或者是用户组指派监控权限时使用。
3、监控项(item)
监控指标数据包括某个特定监控对象的各项数据,例如内存大小、CPU使用率和服务运行状态等。这些监控项数据是从被监控对象获取的,并通过唯一的键标识每个监控项。
4、触发器(trigger)
这是一个用于评估监控项值是否在合理范围内的表达式。当接收到的值超出触发器设定的阈值时,系统将被判定为故障状态,而当故障状态下的值再次回归到合理范围时,系统将被判定为正常状态。
5、事件(event)
触发器触发的一个特定事件,或者是zabbix定义的一个自动上线注册主机的事件。
6、动作(action)
指根据配置,zabbix对于触发器触发的特定事件进行处理的具体措施,如执行某个脚本,或者是向管理员邮箱发送邮件等等。
7、报警升级(escalation)
发送警报或者是执行远程命令的自定义方案。
8、媒介(media)
发送通知(告警)的手段,如微信、邮件、钉钉等等。
9、通知(notification)
通过指定的媒介,向用户发送的有关事件的信息。
10、远程命令(remote command)
指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。
11、模板(template)
用于快速定义被监控主机的预设条目集合,通常包括了监控项、触发器、应用等,模板可以直接链接至某个主机。
12、应用(application)
一组监控项的集合。
13、web场景(web scennario)
用于检测web站点可用性的一个或多个HTTP请求。
14、前端(frontend)
zabbix的web接口。
这些术语,我们都会在后文中直接使用而不过多赘述,在企业技术交流中也会经常使用。
五、zabbix的工作流程
在进行监控时,Zabbix要安装客户端在被监控设备上,以定期收集数据并将其发送给安装在监控设备上的Zabbix服务端。服务端将这些数据存储在数据库中,而Zabbix web根据这些数据在前端进行展示和绘图。
zabbix的数据收集分为两种模式:
1、主动模式
作为一名IT工程师,Zabbix客户端通过主动向Zabbix服务器请求监控项列表,然后主动提交监控项所需的数据给Zabbix服务器。
2、被动模式
zabbix server向 agent 请求获取监控项的数据,zabbix agent返回数据。
由此可以看出zabbix的主动和被动模式是以zabbxi客户端为基准的。
六、zabbix进程详解
默认情况下,Zabbix有六个工作进程,分别是:Zabbix Agent代理、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客户端数据。(端口为10051)
3、zabbix_proxy
作为一名IT工程师,我会以更专业的方式重新表达这段文字:
Zabbix Proxy是Zabbix监控系统的代理程序。它扮演着类似于服务器的角色,作为一个中间站点来接收和处理数据,最终将收集到的数据重新提交给Zabbix服务器。
4、zabbix_get
作为zabbix工具之一,zabbix_get通常在zabbix_server或者zabbix_proxy上进行运行,用于远程获取客户端信息。该工具常用于排查和解决问题。
5、zabbix_sender
Zabbix Sender是Zabbix的一个工具,通常运行在Zabbix客户端上,用于执行耗时较长的检查任务,并主动向服务器发送数据。
6、zabbix_java_gateway
zabbix_java_gateway是自zabbix 2.0以后引入的新功能,专为处理JAVA设备而设计。然而,其功能仅限于主动获取数据,无法被动接收数据。
七、zabbix的监控框架
根据不同的网络环境和监控规模,Zabbix提供了三种框架,分别为server_client架构、master_node_client架构和server_proxy_client架构。这些框架在实际工作中发挥着重要的作用。
1、server_client架构
Zabbix的架构十分简单,其监控设备与被监控设备之间直接通过直连方式进行通信,并且Zabbix Server和Zabbix Client之间也直接交换数据。
2、zabbix_proxy_client架构
代理是连接服务器和客户端之间的桥梁,它本身不存储数据,只是暂时保存来自Zabbix代理端的数据,并将其提交给服务器。这种架构通常适用于跨机房、跨网络的中型网络架构。
在server_proxy_client架构中,server设备的宕机会导致整个系统瘫痪而无法正常工作。
3、master_node_client架构
Master_node_client架构是Zabbix中最复杂的架构之一。它通常被应用于跨机房、跨网络以及具有大量监控设备的大型网络架构中。与Server_proxy_client架构相比,Master_node_client架构的主要区别在于Node和Proxy的部署。
在master_node_client架构中,每个node可被视为一个小型的服务器,在其配置文件和数据库之下,node下游能够直接连接client,或者经过proxy代理后再次连接client。
在master_node_client架构中,master设备宕机不会影响node节点的正常工作。
7.1 三种架构模式的架构图如下: