基于Elastic Stack的分布式数据采集与分析平台探索

2019-02-20 03:49林朝炽
网络安全技术与应用 2019年2期
关键词:日志分布式组件

◆林朝炽



基于Elastic Stack的分布式数据采集与分析平台探索

◆林朝炽

(中国人民银行温州市中心支行 浙江 325029)

分布式架构、大数据技术应用是当下人民银行IT技术架构转型的两个重要方向。研究利用开源软件技术和工具,是推动人民银行IT技术架构转型,提高人民银行信息技术架构自主可控的重要手段。分布式架构技术在赋予应用系统高可用性、高可靠性等诸多优势的同时,也带来系统运维监控高度复杂、应用故障和网络异常事件日志排查定位更加困难等诸多难题。温州市中支在杭州中支指导下试点运用Elastic Stack技术,实现人民银行业务网网络设备、应用系统日志数据和网络通信数据的采集、存储、检索与分析,服务器与应用程序性能指标数据的采集,应用层服务可用性和设备状态的在线监控,不仅对完善分布式架构应用运维手段进行了有益尝试,也为完善数据采集手段和大数据分析工具提供了有益借鉴。

分布式;大数据;Elastic Stack;日志

1 Elastic Stack简介

Elastic Stack基于开源软件协议Apache License 2.0,是近些年兴起的一种分布式数据采集与分析套件,包括全文搜索引擎ElasticSearch、日志解析工具Logstash、数据分析与可视化平台Kibana,数据采集组件Beats,是一种以搜索引擎技术为核心的开源分布式大数据解决方案。

Elastic Stack支持多种数据源,支持数据集中处理,数据解析方式灵活简单,支持关键词秒级搜索,支持组合条件搜索,能够按照时间段对特定字段进行统计,支持数据可视化展示,可以大大增强运维人员的应用系统运行监控和状态感知能力,增强应用故障分析排查能力。Elastic Stack兼容分布式开源消息中间件Kafka,能够进一步扩展部署规模,均衡网络传输,避免数据丢失。主要特性如下:

(1)分布式架构:Elastic Stack的主要组件Elasticsearch、Logstash等均支持分布式部署,配合分布式消息中间件Kafka和高可用服务管理组件Zookeeper,不同组件可部署在不同服务器,实现整个平台的分布式部署。

(2)横向扩展:Elastic Stack的主要组件Elasticsearch、Logstash以及Kafka均支持水平扩展,可通过横向扩展增加节点的方式,扩充整个平台的存储容量和数据处理能力。最大可扩展到上百台服务器,实现PB级别数据量的存储和处理。

(3)高实时性:Elastic Stack采用分布式多副本数据存储,内嵌有基于索引倒排技术的搜索引擎,能提供很高的数据查询检索能力,可实现亿级数据量下的秒级查询响应。

(4)高可靠性:Elastic Stack的核心组建Elasticsearch同时提供了分布式多副本数据存储技术,数据分片(Shard)的多个副本分布在不同的数据节点(DataNode),确保单点故障时数据的安全可靠。

(5)高可用性:Elastic Stack的各组件均支持以集群方式部署,能有效防止单点故障,实现集群服务整体的高可用性。

2 系统部署

目前,温州市中支试点部署的Elastic Stack集群分为四层,共包括6个节点,具体如图1所示:数据采集层1个节点(Packetbeat+Heartbeat),其余数据采集与传输Beats代理程序直接部署在各应用服务器上。数据处理及缓存层2个节点(Logstash+Kafka+ZooKeeper),数据持久化层数据节点2个节点(Elasticsearch),数据检索展示层1个节点(Elasticsearch+Kibana)。

整个Elastic Stack集群以虚拟服务器形式部署在深信服超融合基础架构虚拟化管理平台上,Elastic Stack各组件的版本为5.3,虚拟机使用CentOS7.0-x86_64操作系统,配置4核虚拟CPU,8GB内存,500GB虚拟硬盘空间。目前各节点虚拟机CPU平均负载在10%、内存使用率在37%左右。如果某个层次节点负载过高,可通过增加相应功能节点数量,实现水平扩展系统容量和处理能力。

3 应用成效

温州市中支已利用Elastic Stack平台实现多种系统的运维数据源采集及运行监控,具体包括:38台业务网网络设备日志数据;10台Windows服务器的系统、安全和应用日志;11台服务器的CPU、内存、磁盘、进程等性能指标。监控的操作系统种类包括Windows Server 2003/2008,SUSE Linux 11、Ubuntu Linux 14.04、Centos7。利用PacketBeat实现了深信服超融合基础架构管理平台集群流量的实时采集,并实现了应用层HTTP、MySQL、DNS等协议的在线解析,关联事务的请求与响应,监控各主机发送和接收流量大小。通过HeartBeat监控12个业务网WEB服务的可用性和18台设备UP/Down状态。

该平台自2017年4月上线运行以来,一直稳定运行。Elasticsearch数据节点已累计接收日志及其它数据量382.2GB,数据分片(Shard)18248个,索引量108502375个。目前Elastic Stack平台保持较高的数据查询检索能力,创建Kibana仪表盘(Dashboard) 37个,可进行包括多种数据查询检索,数据检索响应时间为秒级。例如在Kinaba的Discover中输入关键字 “Intrusion Detected”搜索,秒级返回查询结果并可视化,结果显示“YjyZJwnz_cn-cswB01”的Ethernet0/4接口有大量非法MAC接入告警信息,网络管理员可以快速对入侵事件进行响应(见图2)。也可以通过采集分析MySQL数据库服务器网络通信数据,可透明分析SQL操作类型、统计MySQL错误、MySQL吞吐量、最频繁和最慢的MySQL查询语句等,帮助管理员深入了解数据库运行情况。

图2 日志关键字检索

4 结论

本文研究了开源Elastic Stack技术栈,通过分布式架构实现网络日志、操作系统日志、应用日志,网络流量、服务器与应用程序性能指标数据的采集、存储、检索,通过分析与可视化展示,使运维人员可以从网络、操作系统、应用服务等多个层次,多个方位,全局视角进行态势感知,从而提高系统故障和网络安全事件定位准确性,提高故障排查效率和增强网络安全监控能力。

[1]吴兆松.zabbix企业级分布式监控系统[M].北京:电子工业出版社,2014.

[2]李艳鹏,杨彪.分布式服务架构:原理、设计与实战[M]. 北京:电子工业出版社,2017.

[3]高凯.大数据搜索与日志挖掘及可视化方案:ELK Stack:Elasticsearch、Logstash、Kibana(第2版)[M].北京:清华大学出版社,2016.

[4]詹志辉,郑倚志.数据中心跨区域一体化运营[M].北京:清华大学出版社,2014.

[5]Elastic Stack使用文档.[EB/OL]. https://www.elastic.co/guide/index.html.

猜你喜欢
日志分布式组件
无人机智能巡检在光伏电站组件诊断中的应用
一名老党员的工作日志
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
扶贫日志
一种嵌入式软件组件更新方法的研究与实现
浅析分布式发电对电力系统的影响
通用(OA)办公自动化系统的组件运用
雅皮的心情日志
雅皮的心情日志
基于预处理MUSIC算法的分布式阵列DOA估计