漫谈ELK在大数据运维中的应用

物联网

  图6 ELK对Spark Task 监控

  ELK实战举例二,通过ELK组件对系统资源状态监控,如图7、图8所示,是笔者前段时间使用ELK组件为集群提供日志查询和系统资源监控的例子。通过各类日志搜集,分析,过滤,存储并通过Kibana展现给用户,供用户实时监控系统资源、节点状态、磁盘、CPU、MEM,以及错误、警告信息等。

物联网

  图7 ELK对系统状态监控

物联网

  图8 ELK对系统资源情况监控

  ELK实战举例三,通过ELK组件对系统负载状态监控,如图9所示。

物联网

  图9 ELK对workload监控

  ELK实战举例四,通过ELK组件对系统日志管理和故障排查,如图10所示。用户可根据故障发生时间段集中查询相关日志,可通过搜索、筛选、过滤等功能,快速定位问题,从而排查故障。另外,通过对各个应用组件的日志过滤,可快速列举出各个应用对应节点上的Error或Warning日志,从而对故障排查或者对发现产品bug提供快捷途径。

物联网

  图10 ELK 对日志搜索,查询

  结束语

  除ELK套件以外,业界关于运维监控产品还有很多,如Splunk、Nagios等。

  Splunk是在语句里生成图表。而ELK则是用户在Kibana Web Portal上鼠标选择的方式来点出来,相比Splunk来说要简单得多,用户不用记住那些语法即可绘制多种Chart。易用性有很大提高。另外,Splunk属于入库后对内容的即使处理,比如rex函数等等,而ES是尽量在入库前,即在Logstash端已经将数据源实时过滤、分析。提高了数据处理能力。最重要一点,ELK是免费的,Splunk则需要昂贵的费用。

  Nagios最大的特点是其强大的管理中心,但看不到历史数据,很难追查故障原因,而且配置复杂,这些恰恰是ELK组件的优势所在。

  本文所述案例和架构来自于IBM Platform团队在使用ELK套件中的实战经历和工作总结,IBM Platform冲出了ELK套件仅对日志搜集的约束,除Logstash所支持input plugin外,还充分利用了Elasticsearch本身所支持多种数据源输入,从而增强了数据源的输入条件,提高了系统监控范围,大大提高了ELK的扩展性和实用性。

 

  ELK本身对POWER系统,还有IBM JAVA支持有一定局限性,不过IBM Platform团队已经将这些问题一一解决,使之可以完美地集成于多个平台。除此之外,IBM Platform将ELK和IBM Platform Cluster Manager、IBM Platform EGO集成于一体。用于ELK自动部署和管理,有效提高了ELK的部署和管理效率。并对IBM Platform Converge、IBM Platform Conductor(包括Spark)提供监控和Dashboard等功能。