一种通过Zabbix监控Ceph集群的方法

文档序号:9399100阅读:837来源:国知局
一种通过Zabbix监控Ceph集群的方法
【专利说明】—种通过Zabbix监控Ceph集群的方法
[0001]
技术领域
[0002]本发明涉及一种Ceph集群的监控方法,具体地说是一种通过Zabbix监控Ceph集群的方法。
【背景技术】
[0003]C印h集群是统一存储系统,支持三种接口 =Object (对象):有原生的API,而且也兼容Swift和S3的API ;Block (块):支持精简配置、快照、克隆;File (文件):Posix接口,支持快照。Ceph也是分布式存储系统,它的特点是:高扩展性:使用普通x86服务器,支持10-1000台服务器,支持TB到PB级的扩展;高可靠性:没有单点故障,多数据副本,自动管理,自动修复;高性能:数据分布均衡,并行化度程度高。对于objects storage(对象存储)和block storage (块存储),不需要元数据服务器。
[0004]Zabbix是一个基于Web界面的,提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供弹性的通知机制以让系统管理员快速定位并解决存在的各种问题。
[0005]Ceph功能如此犀利,但对其监控却很不方便。尤其是出现问题时,很难定位。
[0006]

【发明内容】

本发明的技术任务是针对以上不足之处,提供一种通过Zabbix监控Gph集群的方法,来解决Ceph集群出现异常时难以分析、解决的问题。
[0007]本发明解决其技术问题所采用的技术方案是:
一种通过Zabbix监控Ceph集群的方法,Ceph集群的服务器通过千兆网或万兆网进行互联,Zabbix采用服务端及客户端的架构,包括如下步骤:
(1)、Zabbix服务端使用单独一台服务器部署,将Zabbix客户端部署在Ceph集群对应的服务器上;
(2)、在Zabbix服务端选择要添加监控项的Ceph集群对应的服务器,之后在相应服务器上添加监控项;
(3)、利用Ceph集群提供的API,加之Zabbix的自定义监控功能,实现对Ceph集群的监控;
(4 )、监控Ceph集群的整体健康状态、MON服务状态、OSD服务状态,当状态发生异常,发出报警;监控Ceph集群的操作,并用图表进行展示。
[0008]步骤(2)中的监控项包括CPU负载、内存使用率、磁盘使用率、网络流量。
[0009]通过Zabbix监控Ceph集群的流程如下:
①、编写Ceph集群的进程监控脚本,获取监控项的具体值;
②、根据监控项的具体值内的进程的名称或进程的端口号来判定该进程是否存在; 如果传送的监控项的具体值内包含进程的端口号,则根据端口号判断进程是否存在,进程存在则返回值为1,进程不存在则返回值为O ;如果监控项的具体值内不包含进程的端口号,根据进程的名称判断进程是否存在,进程存在则返回值为1,进程不存在则返回值为O ;
③、在zabbix_agentd.conf文件中定义UserParameter,格式为:用户参数=键值[*],命令;
④、配置Item,通过键值来控制传参,其中键值和zabbix_agentd.conf中定义的UserParameter 一致;
⑤、接着查看监控项的具体值情况,如果数据为1,则监控正常;
⑥、配置触发器,用来报警,最后一次的值是O则触发报警;
⑦、进行宕服务测试,在ceph集群的服务器端,宕掉MON服务或OSD服务,测试定制的相应时间后会不会收到邮件报警。
[0010]将错误日志存入MongoDB数据库,用来存储实时的监控数据和历史信息,供开发或维护人员用来进行离线分析之用。
[0011]本发明的一种通过Zabbix监控Ceph集群的方法和现有技术相比,具有以下有益效果:
1、借助Zabbix提供的强大监控功能,加之Ceph集群本身提供的API和日志,对Ceph集群的运行情况进行全方面的监控,出现问题时简单快速定位;
2、具有实时监控、离线分析等特点,使原本复杂的Ceph集群的监控分析变得简单易行;
3、使用简单、性能优越。
【附图说明】
[0012]下面结合附图对本发明进一步说明。
[0013]附图1为一种通过Zabbix监控Ceph集群的方法的架构框图。
【具体实施方式】
[0014]下面结合附图和具体实施例对本发明作进一步说明。
[0015]实施例1:
本发明的一种通过Zabbix监控Ceph集群的方法,Ceph集群的服务器通过千兆网或万兆网进行互联,Zabbix采用服务端及客户端的架构,包括如下步骤:
(1)、Zabbix服务端使用单独一台服务器部署,将Zabbix客户端部署在Ceph集群对应的服务器上;
(2)、在Zabbix服务端选择要添加监控项的Ceph集群对应的服务器,之后在相应服务器上添加监控项;
(3)、利用Ceph集群提供的API,加之Zabbix的自定义监控功能,实现对Ceph集群的监控;
(4 )、监控Ceph集群的整体健康状态、MON服务状态、OSD服务状态,当状态发生异常,发出报警;监控Ceph集群的操作,并用图表进行展示。
[0016]步骤(2)中的监控项包括CPU负载、内存使用率、磁盘使用率、网络流量。
[0017]实施例2:
本发明的一种通过Zabbix监控Ceph集群的方法,Ceph集群的服务器通过千兆网或万兆网进行互联,Zabbix采用服务端及客户端的架构,包括如下步骤:
(1)、Zabbix服务端使用单独一台服务器部署,将Zabbix客户端部署在Ceph集群对应的服务器上;
(2)、在Zabbix服务端选择要添加监控项的Ceph集群对应的服务器,之后在相应服务器上添加监控项;
(3)、利用Ceph集群提供的API,加之Zabbix的自定义监控功能,实现对Ceph集群的监控;
(4 )、监控Ceph集群的整体健康状态、MON服务状态、OSD服务状态,当状态发生异常,发出报警;监控Ceph集群的操作,并用图表进行展示。
[0018]步骤(2)中的监控项包括CPU负载、内存使用率、磁盘使用率、网络流量。
[0019]通过Zabbix监控Ceph集群的流程如下:
①、编写Ceph集群的进程监控脚本,获取监控项的具体值;
②、根据监控项的具体值内的进程的名称或进程的端口号来判定该进程是否存在; 如果传送的监控项的具体值内包含进程的端口号,则根据端口号判断进程是否存在,
进程存在则返回值为1,进程不存在则返回值为O ;如果监控项的具体值内不包含进程的端口号,根据进程的名称判断进程是否存在,进程存在则返回值为1,进程不存在则返回值为O ;
③、在zabbix_agentd.conf文件中定义UserParameter,格式为:用户参数=键值[*],命令;
④、配置Item,通过键值来控制传参,其中键值和zabbix_agentd.conf中定义的UserParameter 一致;
⑤、接着查看监控项的具体值情况,如果数据为1,则监控正常;
⑥、配置触发器,用来报警,最后一次的值是O则触发报警;
⑦、进行宕服务测试,在ceph集群的服务器端,宕掉MON服务或OSD服务,测试定制的相应时间后会不会收到邮件报警。
[0020]将错误日志存入Mongo DB数据库,用来存储实时的监控数据和历史信息,供开发或维护人员用来进行离线分析之用。
[0021]图1中,Mongo DB是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(00思想),在Mongo DB中每一条记录都是一个Document对象。Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。Cephprobe用于:收集集群信息,只需要安装在某一个ceph节点。Sysprobe用于:收集系统信息,必须被安装在所有ceph节点上。
[0022]通过上面【具体实施方式】,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的【具体实施方式】。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
【主权项】
1.一种通过Zabbix监控Ceph集群的方法,其特征在于Ceph集群的服务器通过千兆网或万兆网进行互联,Zabbix采用服务端及客户端的架构,包括如下步骤: (1)、Zabbix服务端使用单独一台服务器部署,将Zabbix客户端部署在Ceph集群对应的服务器上; (2)、在Zabbix服务端选择要添加监控项的Ceph集群对应的服务器,之后在相应服务器上添加监控项; (3)、利用Ceph集群提供的API,加之Zabbix的自定义监控功能,实现对Ceph集群的监控; (4 )、监控Ceph集群的整体健康状态、MON服务状态、OSD服务状态,当状态发生异常,发出报警;监控Ceph集群的操作,并用图表进行展示。2.根据权利要求1所述的一种通过Zabbix监控Ceph集群的方法,其特征在于步骤(2)中的监控项包括CPU负载、内存使用率、磁盘使用率、网络流量。3.根据权利要求2所述的一种通过Zabbix监控Ceph集群的方法,其特征在于通过Zabbix监控Ceph集群的流程如下: ①、编写Ceph集群的进程监控脚本,获取监控项的具体值; ②、根据监控项的具体值内的进程的名称或进程的端口号来判定该进程是否存在; 如果传送的监控项的具体值内包含进程的端口号,则根据端口号判断进程是否存在,进程存在则返回值为1,进程不存在则返回值为O ;如果监控项的具体值内不包含进程的端口号,根据进程的名称判断进程是否存在,进程存在则返回值为1,进程不存在则返回值为O ; ③、在zabbix_agentd.conf文件中定义UserParameter,格式为:用户参数=键值[*],命令; ④、配置Item,通过键值来控制传参,其中键值和zabbix_agentd.conf中定义的UserParameter 一致; ⑤、接着查看监控项的具体值情况,如果数据为1,则监控正常; ⑥、配置触发器,用来报警,最后一次的值是O则触发报警; ⑦、进行宕服务测试,在ceph集群的服务器端,宕掉MON服务或OSD服务,测试定制的相应时间后会不会收到邮件报警。4.根据权利要求3所述的一种通过Zabbix监控Ceph集群的方法,其特征在于将错误日志存入MongoDB数据库,用来存储实时的监控数据和历史信息。
【专利摘要】本发明公开了一种通过Zabbix监控Ceph集群的方法,属于Ceph集群的监控方法,本发明要解决Ceph集群出现异常时难以分析的问题。技术方案为:Ceph集群的服务器通过千兆网或万兆网进行互联,Zabbix采用服务端及客户端的架构,包括如下步骤:(1)、Zabbix服务端使用单独一台服务器部署,将Zabbix客户端部署在Ceph集群对应的服务器上;(2)、在Zabbix服务端选择要添加监控项的Ceph集群对应的服务器,之后在相应服务器上添加监控项;(3)、利用Ceph集群提供的API,加之Zabbix的自定义监控功能,实现对Ceph集群的监控;(4)、监控Ceph集群的整体健康状态、MON服务状态、OSD服务状态,当状态发生异常,发出报警;监控Ceph集群的操作,并用图表进行展示。
【IPC分类】H04L12/24, H04L12/26
【公开号】CN105119737
【申请号】CN201510418268
【发明人】李国涛, 周庆勇
【申请人】浪潮软件股份有限公司
【公开日】2015年12月2日
【申请日】2015年7月16日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1