您的位置:首页>>互联网

云计算管理三利器:Nagios、Ganglia和Splunk

发布时间:2012-04-30 11:58:12  来源:腾讯科技    背景:


 概述

  我们在搭建趋势云计算平台时,遇到了很多的问题和挑战。开始搭建时,第一次来了那么多性能强劲的机器,我们在感到兴奋的同时,也不免有些顾虑。大家坐在一起讨论,问题就列了满满一白板。

  出了问题怎么办,有没有预警机制?有没有可视化的管理界面?管理平台需要自己开发吗?开发难度有多大?有没有开源的管理工具?那么多日志分布在各个机器上,有没有更有效的方法管理?能否生成好的报表?机器宕机,管理员能否收到短信通知?如何做性能调优?扩容升级时,能否给出依据?

  带着这些问题,我们开始了自己的云计算平台管理和运营之旅,一路走来,收获颇丰。现在基本上形成了如图1所示的一整套云计算平台监控体系。  

云计算管理三利器:Nagios、Ganglia和Splunk 

图1 云计算平台监控架构

  在这个系统中,我们综合利用了Nagios、Ganglia和Splunk,搭建起云计算平台监控体系,使其具备错误报警、性能调优、问题追踪和自动生成运维报表的功能。有了这套系统,我们终于能够轻松管理Hadoop/HBase云计算平台了。接下来将简单介绍它们的特点和功能。

  Nagios:云计算平台的智能报警器

  总不能天天盯着机器看吧,因此我们首先关心的是机器的监控与报警。最理想的境界是:如果机器出故障了,我能第一时间处理;如果机器没有问题(最好永远没有问题),我能去喝茶、钓鱼和睡大觉。

  发现机器有没有问题,对我们而言不是什么难事。写个脚本,Ping一下IP,Telnet每台机器的Service端口,如果增加了新机器就改改配置即可。但这样也太原始了吧,可视化效果差,不好维护,没有层次,不好管理,出不来报表,总不能老是用Excel人工写报表吧。有没有更好的方法呢?

  有,你可以用Nagios。

  Nagios是一个可运行在Linux/Unix平台之上的开源监视系统,可以用来监视系统运行状态和网络信息。Nagios可以监视所指定的本地或远程主机以及服务,同时提供异常通知功能。

  Nagios可以提供以下几种监控功能。

  监控网络服务(SMTP、POP3、HTTP、NNTP、Ping等)。监控主机资源(处理器负荷、磁盘利用率等)。简单的插件设计使得用户可以方便地扩展自己服务的检测方法。并行服务检查机制。具备定义网络分层结构的能力,并使用“parent”主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态。当服务或主机问题产生与解决时将告警发送给联系人(通过电子邮件、短信、用户定义方式)。具备定义事件处理功能,可以在主机或服务的事件发生时获取更多问题定位。自动的日志回滚。可以支持并实现对主机的冗余监控。可选的Web界面用于查看当前的网络状态、通知和故障历史、日志文件等。

  Nagios最好用的地方就是它将这些每天管理员做的工作自动化,你只需设定好要监听的端口即可,它会默默地工作,帮忙定时地去检测服务端口的状态,一旦发现问题,会及时发出报警。报警可以是电子邮件也可以是手机,从而使得管理员第一时间就能收到系统的状况。

  Nagios的报表功能也很强大。管理员可以很容易地得到每天、每周和每月的Service运行状况。  

云计算管理三利器:Nagios、Ganglia和Splunk 

图2 SPN 后台运行的所有Service的当前状态

  如图2所示,红色部分清楚地标注有问题的机器,点开链接,就可以得到有问题机器的情况。虽然在HBase中,几台Region Server宕机不会对整体服务产生大的影响,但多少会影响到系统的Performance。而且,如果某几台Region Server频繁宕机,对整个系统的稳定性也会产生不好的影响。有了Nagios,我们可以快速定位有问题的机器,及时地将一些机器移除出HBase系统,待调整好了再上线运行,以保证系统的稳定性。

  现在,Nagios已经成为了很多公司必备的监控工具。只需要简单地配置,就可以实现强大的功能,将管理员从日常烦琐的工作中解放出来。

  有了Nagios,哪怕就是管理上千台机器,也不会手忙脚乱,而是有一种统领千军、运筹帷幄的感觉。

  Ganglia:看到云计算平台的方方面面

  Nagios的确不错,但你是不是真的可以喝茶、钓鱼、睡大觉呢?显然还不行。有了Nagios,你基本上可以做个优秀的救火队员,能在事发第一时间到达现场、处理事故。但如何防患于未然,真正做到运筹帷幄、游刃有余呢?

  我们需要更加精确的数据,能够看到云计算平台的方方面面,能根据这些数据,做出性能调整、升级、扩容等的决策,从而保证Service能够满足不断增长的业务需求。

  这时候,你需要Ganglia。

  Ganglia是UC Berkeley发起的一个开源实时监视项目,用于测量数以千计的节点,为云计算系统提供系统静态数据以及重要的性能度量数据。Ganglia系统基本包含以下三大部分。

  Gmond:Gmond运行在每台计算机上,它主要监控每台机器上收集和发送度量数据(如处理器速度、内存使用量等)。

  Gmetad:Gmetad运行在Cluster的一台主机上,作为Web Server,或者用于与Web Server进行沟通。

  Ganglia Web前端:Web前端用于显示Ganglia的Metrics图表。

  Hadoop和HBase本身对于Ganglia的支持非常好。通过简单的配置,我们可以将Hadoop和HBase的一些关键参数以图表的形式展现在Ganglia的Web Console上。这些对于我们洞悉Hadoop和HBase的内部系统状态有很大的帮助。

  在Hadoop的conf文件夹下面,找到hadoop-metrics.properties,配置好Ganglia的Server即可。这里要注意,Ganglia 3.0和Ganglia 3.1的区别,它们使用了不同的class。

  dfs.class=org.apache.hadoop.metrics.ganglia.GangliaContext31

  dfs.period=10

  dfs.servers={Ganglia_Server}:8649

  有了这些图表,Hadoop和HBase就不再是一个黑盒。无论是Hadoop的Namenode、Datanode,还是HBase的MasterServer、RegionServer任何时刻的情况,都会一目了然。由于图标的跨度可以是小时、天、月甚至是年,这样,就可以非常方便地定期生成周报、月报和年报。同时,根据图中Metrics的状况,我们可以通过调整参数、增加内存和硬盘、增加机器等的方法调整单个机器或者整个Service的性能。  

云计算管理三利器:Nagios、Ganglia和Splunk 

图3 Hadoop其中一个DataNode的Metrics

  Nagios 最大的问题在于不能洞悉到Service内部的状况。像Hadoop、HBase这样的分布式系统,一个节点的故障并不等于整个Service的故障,影响的只是Service的性能。所以,在测定Service的SLA时,我们不能以某一台机器的故障作为Service故障的评判标准。比如在我们的HBase SLA的设定上,我们定义了HBase Service完全不能工作的评判标准如下。

  Master Server 联系不上。所有RegionServer 都无法联系上。-ROOT- 表无法访问。.META. 表无法访问。  

云计算管理三利器:Nagios、Ganglia和Splunk 

图4 Ganglia对Hadoop/HBase使用情况的监测

  那么,我们就可以根据这个规则定义SLA,通过定期调用HBaseAdmin相应API ,将测试的结果发给Ganglia。采用同样的方法,我们还可以自定义一些规则,监视HBase Master、Zookeeper等的情况。

  通过这些方法,我们完全能够针对Hadoop/HBase使用的实际情况,做出Service级别而不是机器级别的监控系统并生成报表。

  此外,Ganglia还可以通过Server反馈回来的Load信息,给出各个机器的Load情况,给我们做升级和扩容提供依据。

  如图5所示,Ganglia分别会用不同颜色,标注出当前时刻的机器Load分布情况。如果Load过重,就应该检查机器的具体使用情况。  

云计算管理三利器:Nagios、Ganglia和Splunk 

图5 HBase Cluster Load Metrics

  Ganglia的安装配置,可以参考:http://www.spnguru.com/?p=604。

  Splunk:像查Google一样查日志

  有了Nagios和Ganglia,算是成功了一大半。作为一名优秀的管理员,我们需要具备一定的Troubleshooting能力,对一些常见的问题能给出解决方案。那么,对日志的分析就必不可少。

  但Hadoop/HBase的日志分布在各个机器上面,而日志之间关联性强。Client端的错误有可能是Region Server引起,而Region Server的错误有可能是Zookeeper导致。有没有一个统一的日志管理平台呢?

  众里寻它千百度,蓦然回首,我们找到了Splunk——日志界的Google。

  很遗憾,Splunk不是开源的,但它的免费版本提供每天500MB日志索引。如果数据量较小,通过定义好Log的级别,基本上也能满足需求。但对于数据量较大的公司,就有些捉襟见肘。

  Splunk支持AdHoc的日志搜索,而且可以与Nagios配合使用。比如Nagios报警某台RegionServer端口不可达,我们收到Notification后,登录Splunk,直接搜索shutdown和host名称,找到RegionServer退出的日志。点击详细信息,分析日志,就能快速定位问题。如图6所示。  

云计算管理三利器:Nagios、Ganglia和Splunk 

图6 Splunk与Nagios配合使用进行日志搜索

  对Hadoop和HBase有了进一步了解后,我们可以利用Splunk实时检测日志中的关键字,定义关键字规则,如监控“shutdown”、“quit”、“ERROR”、“Zookeeper Session Expired”等,一旦出现,利用Splunk的Notification功能,发出邮件通知管理员,管理员通过Splunk定位问题,就可以在系统真正出现问题之前,对系统进行调整,防患于未然。

  具体Splunk的设置,可以参考:http://www.spnguru.com/?p=122。

  总结

  搭建一套云计算平台,强大的监控管理系统是必不可少的。当然,任何工具都不是万能的,在实际维护过程中,我们也发现,Nagios和Splunk经常出现误报,如果规则定义得不好,大量的警报邮件如潮水一样涌来,反而掩盖了真正的问题。可以说,在云计算平台的运维管理上,没有一劳永逸的事情,随着规模的不断增大和应用的不断多样化,需要大家不断地实践和总结。

特别提醒:本网内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。


返回网站首页 本文来源:腾讯科技

本文评论
友情提示:评论功能暂时关闭,请扫描上方二维码进群交流!
搭建中外青年友谊桥梁!Soul青年热情帮助外国友人
随着中国经济发展和社会开放程度越来越高,来国内工作和交流的外国友人也越来越多。在感叹中国发展...
日期:10-15
女神张俪淘宝直播为天猫精灵打call,明星的理想生活你也能轻松get
“天猫精灵,最近有什么歌好听? ”“养什么宠物,养天猫精灵就行了。” 10月14日...
日期:10-15
天猫精灵进军时尚圈了!QUEEN智能美妆镜惊艳上海时装周
“天猫精灵,我要化妆。”“天猫精灵,今天紫外线强度如何?”“天猫精灵...
日期:10-15
收到“果农”短信称水果滞销,腾讯手机管家提醒注意网购水果骗局
“您好,我是大山里的果农,非常感谢您之前参加我们的电商扶贫项目,今年山里的果子又熟了,销售困...
日期:10-14
中国演出行业协会:不存在网络主播“持证上岗”情况
10月14日下午消息,近期网络上出现了多条关于“网络主播持证上岗”的信息,针对此事,中国演...
日期:10-14
油管AI网红Siraj承认抄袭再上热搜:网课骗钱,人设崩塌
  Siraj在AI圈有多火呢?
  仅仅在Youtube上,他就有仅70万订阅者,包括DeepMind创始人Demis Ha...
日期:10-14
美研究中心10年前预测2020年生活方式:基本都实现了
北京时间10月14日上午消息,美国皮尤研究中心曾在2008年预测2020年的生活方式,主要包括:
日期:10-14
“如程”酒店数量突破200家 ,上线4个月帮会员省下1个亿
10月12日,会员制特色度假酒店预订平台“如程”再次上线新酒店,令平台合作酒店总数突破2...
日期:10-14
电费是5G建站的“拦路虎”
(原标题:5G建站“拦路虎”:电费是运营商年租金10多倍)
日期:10-14
积极响应“健康中国行” 网易春风发起“百万公益捐赠”活动
日前,国务院印发了有关“健康中国行动”的三分文件,明确指出了健康中国行动的战略方向...
日期:10-12
人民日报数字传播联合新媒体大号卡娃微卡掀起爱国热潮
“我和我的祖国,一刻也不能分割......”黄晓明、李易峰、李现的歌声,杨幂的大拇指速写...
日期:10-12
2019极光开发者大会|登封造“极”,等你来战!
听说极光要在开发者大会上“搞事情”,不仅能免费参加比赛还有机会赢取10万元现金大奖?
日期:10-12
2019香港秋季国际电子展,linxee领视与您合作共赢,共建美好数字生活
2019年10月11日-14日香港秋季环球电子展(Global Sources Consumer Electronics)于香港亚洲国际博览...
日期:10-12
5G预约用户超千万 vivo已成领跑5G终端销售主力军
尽管运营商的5G套餐尚未正式发布,但随着三大运营商在9月底全面开启5G套餐预约,截止到10月11日,全...
日期:10-12
充电宝可以带上飞机吗?抗摔耐压的SuperMini上机更安全
  自2018年1月份开始,民航就逐渐放宽了对乘客电子设备的限制。一开始只能单纯携带,现在只要开启飞行...
日期:10-12
全球首部AI交响变奏曲在深奏响 中国平安献礼祖国70周年
10月11日,由中国平安人工智能研究院创作的全球首部AI交响变奏曲《我和我的祖国》,在深圳音乐厅由深...
日期:10-12
闪耀深圳物博会:构筑城市货运生态圈 快狗打车展示行业“教父”风采
2019年10月10日——10月12日,被誉为“全球物流领域标杆性品牌盛会”的2019中国...
日期:10-12
第十三届物流透明管理峰会召开,“数字化+”加速物流变革
工业互联网的风潮渐趋猛烈,数字化转型成为各行各业公认的变革方向。在即将到来的数字化时代,颇具...
日期:10-12
首次亮相物博会,华为云助力智慧新物流落地
2019年10月10日-12日,华为云亮相2019中国(深圳)国际物流与供应链博览会(以下简称“物博会&rdq...
日期:10-11
主动安全·智慧驱动——2019合肥网络安全大会成功召开
      今日,以“主动安全·智慧驱动”...
日期:10-11
  专栏介绍
卜勇龙 的专栏
卜勇龙发表的文章
积分:
自我介绍 :