Zabbix四大监控方式分别为:Agent、SNMP、IPMI、JMX。
一、 Agent
就是需要在被监控对象上安装agent(例如:操作系统),通过agent和server/proxy端通讯传输数据。
优点:
1、占用系统资源小,每个系统以200个监控项计算,平均占用资源不到0.5%,网络带宽不到10k/s;
2、支持被动、主动的方式传输数据;
3、支持接收远程执行命令,可配置关联触发器执行某些进程、服务重启操作;
4、支持自定义监控项键值,可以根据监控需求自定义键值、利用脚本方式获取某些监控数据;
5、监控日志轮询,如短时间监控报错可通日志排查;
Agent缺点、需每台安装配置,如下列举三种解决办法:
1、可使用免编译版本或者rpm安装包,如已有自动化平台可借助自动化平台推广下发,下发安装需要修改Server、ServerActive、Hostname相关参数,如需要自动注册则另外配置Hostmetadata=XXXX;后续可在zabbix server安装nginx,使用nginx做文件服务器,直接在linux上使用命令安装即可;
2、可使用二进制编译好的安装包,如已有自动化平台可借助自动化平台推广下发,在启动脚本中自动获取修改Server、ServerActive、Hostname、Hostmetadata相关参数;
3、将Server/Proxy作为代理服务器安装nginx,使用nginx做文件服务器,在linux上使用命令安装,前提条件需要Nginx文件服务器与被监控对象的网络已开通情况下进行;
二、 SNMP
SNMP也就是简单网络管理协议(Simple Network Management Protocol,是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议);通常需要结合设备的MIB(Management Information Base)文件使用。在网络设备,如交换机、路由器、防火墙、行为管理器、AP、AC、加密设备、防毒墙等,以及物理服务器、存储等支持snmp功能的都可以通过开启snmp相关的服务和配置(不同设备的snmp开启方法,可参考官方文档操作),用zabbix进行简单的性能数据监控。
当然,操作系统也可以使用snmp方式监控,但只能是监控到系统层面的运行情况,如cpu、内存、系统分区、网络流量,可支持自定义OID。但需要提供相关对象的私有MIB。
SNMP优点:
1、适用性广,主要应用在物理设备,snmp使用的设备性能可以忽略不计;
2、配置简单,在管理页面操作几下或者执行几条命令即可配置;
3、数据简洁,snmp功能的数据可读性比较简洁,通常一个oid对应一个数据。
缺点:
1、设备类型太多,需要厂商协助配置;
2、每个厂商的mib文件太多私有,部分厂商不向外开放;
3、根据设备监控需求定制snmp监控模板;
4、可监控性比较基础,属于开箱即用功能,不易拓展;
三、JMX
JMX(Java Management Extensions)是一个为应用程序植入管理功能的框架 ,从Java5.0开始引入到标准Java技术平台中。也就是只适用于java语言开发的中间件 例如:Tomact、Jboss、Resin、Weblogic、ActiveMQ等,国产信创中间件 例如:金蝶、东方通等都支持使用jmx获取运行数据,非国产的中间件多数可以在网络上找到jmx的开启方式,国产信创中间件一般需要厂商支持配置。JMX做为java类应用的一种监控方式,能通过开启jmx功能支持获取中间件的jvm运行状态、jvm的内存池、线程池、垃圾回收、节点运行状态、会话数等信息。另外JMX配置都有固定的格式,同时也支持加密方式,可以参考官网文档进行配置。
四、IPMI
IPMI(智能平台管理接口),Intelligent Platform Management Interface 的缩写。原本是一种Intel架构的企业系统的周边设备所采用的一种工业标准。通常是在物理服务器、存储设备最常见,用户可以通过IPMI进行设备的常规配置及管理,例如:修改管理口IP、修改管理员账号信息、重启设备等操作,在zabbix还可以使用IPMI获取设备组件的运行状态,例如:主板、电源、风扇、传感器的运行状态、运行温度等,一般是在只支持IPMI的情况下使用,而且指标比较少,同一厂商不同型号之间的命令也不通用,应用较少。
博客可能不能及时回复问题,技术问题欢迎加入交流。
具有丰富的模板资源及模板开发能力、项目落地管理经验分享欢迎加入交流
微信号:king_songax