温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
ELK
内容
分发
网络日志
分析
平台
设计
林黄智
基于ELK的内容分发网络日志分析平台设计林黄智1,田柳2,范之国3(1.安徽职业技术学院 机电工程系,安徽 合肥 230011;2.安徽职业技术学院 汽车工程系,安徽 合肥 230011;3.合肥工业大学 计算机与信息学院,安徽 合肥 230009)摘要:随着内容分发网络系统承载着越来越多的大流量视频业务,其规模不断增大且对用户日志收集和集中处理的需求也越来越高,为提升日志处理效率,本文设计了一种基于实时日志搜索和分析系统(ELK)的日志分析平台,可通过对海量的用户访问日志进行实时采集和检索,并捕获用户异常访问记录,从而实现了对系统性能和业务质量的可视化自动监控及提前预警,并提高了内容分发网络系统智能化运维效率。关键词:内容分发网络;实时日志搜索和分析系统;系统监控;日志分析中图分类号:TP399文献标志码:A文章编号:1007-4260(2023)01-0079-06Design of Content Distribution Network LogAnalysisPlatform Based on ELKLIN Huangzhi1,TIAN Liu2,FAN Zhiguo3(1.Department of Mechanical and Electrical Engineering,Anhui Vocational and Technical College,Hefei 230011,China;2.Department ofAutomotive Engineering,Anhui Vocational and Technical College,Hefei 230011,China;3.School of Computer and Information,Hefei University of Technology,Hefei 230009,China)Abstract:With the Content Delivery Network(CDN)system carrying more and higher traffic video services,the scale ofthe system is increasing,and the demand for collection and centralized processing of user logs is increasing.To improve the ef-ficiency of log processing,this paper designs and implements a log analysis platform based on the real-time log search andanalysis system(ELK).Through real-time collection and retrieval of massive user access logs,the system realizes the visual-ization,automatic monitoring and early warning of the system performance and business quality,and improves the intelligentoperation and maintenance efficiency of the content distribution network system.Key words:content delivery network;real-time log search and analysis system;system monitoring;log analysis随着互联网上视频等大流量业务的快速发展,宽带提速持续推进,内容分发网络已成为承载大流量业务的主要网络。然而,目前对内容分发网络中用户服务日志的分析尚存在短板,如用户访问数据无法被实时检索,日志查询效率低下,且监控告警时效性无法满足大流量高并发的业务需求。尤其是在日常故障及用户投诉处理过程中,仅对设备性能故障排查无法来有效定位应用层软件问题或由交互机制引发的故障及投诉问题,传统运维模式遇到了较大技术挑战。内容分发网络中的用户服务日志包含用户地址及端口、服务器地址及端口、用户访问资源类型、URL、码率、大小和首字节时延等关键信息,对这些信息进行聚类分析,可以得出多维度、多场景用户业务应用信息1-2。针对海量的用户服务日志,传统日志分析法已无法满足实时性要求,但其已成为当前大数收稿日期:2020-07-08作者简介:林黄智(1986),男,安徽天长人,安徽职业技术学院机电工程系讲师,研究方向为电子技术及信息科学。E-mail:2023年2月第29卷第1期安庆师范大学学报(自然科学版)Journal ofAnqing Normal University(Natural Science Edition)Feb.2023Vol.29 No.1DOI:10.13757/34-1328/n.2023.01.014安庆师范大学学报(自然科学版)2023年据技术的发展趋势之一。在日志处理领域有以实时日志搜索和分析的开源软件(The Elastic Stack,ELK)为代表的日志分析平台,其使运维人员可以从海量日志信息中轻松准确地获取关键信息,如阿里、携程、滴滴等互联网公司均借鉴了这类开源软件平台功能。本文采用ELK技术来搭建日志分析平台,并基于内容分发网络的用户服务日志对业务质量进行实时监控及提前预警,可实现故障迅速定位,为内容分发网络的智能运维提供了更有效的技术支持。1基于ELK设计内容分发网络的日志分析平台1.1问题分析及解决方案传统日志处理方案常采用关系型数据库或大数据平台来处理日志,其存在诸多不足:(1)使用关系型数据库处理日志时,是将日志逐条输入到服务器数据库中,并通过数据库语言对日志进行判断及关联分析,但缺乏对日志进行集中处理且效率低,同时在系统出现故障或被攻击后仅能事后追查,且在运维排障中甚至需要逐台登陆服务器搜索日志,其可操作性差,无法胜任复杂事件处理。(2)使用Hadoop/Hive等大数据平台处理日志时,由于对日志进行离线处理,其实时性差,且当日志规模达到一定数量级时处理效率下降明显,无法满足日常运维需求。此外,对于大数据平台框架而言,需要二次编程开发,移植使用难度大。针对内容分发网络日志量大、实时性处理要求高、业务排障时间紧等特点,本文搭建了基于ELK的日志分析平台,其采用分布式搜索引擎技术(Elasticsearch)且关联微信以实现实时告警推送。此方案优势在于:一是可处理的日志量大,每天达TB级以上;二是实时性高,从日志产生到分析完毕只有数秒延迟;三是框架灵活、可扩展性强,二次开发或性能优化只需微调配置文件,可使定制化成本大幅降低;四是具备灵活的可视化功能,可建立多维度、分场景监控视图,易于一线运维监控;五是集成微信告警功能,当发生业务或系统故障时能及时通知运维人员。1.2ELK日志分析平台架构设计ELK由Elasticsearch(简称ES)、Logstash和Kibana三个开源软件组成(图1),可采用水平扩展的方式实时收集、过滤、索引和存储TB规模以上的各类日志。同时,维护人员基于此平台可随时获取业务运行状况、统计系统性能数据、追溯异常流量,以及分析用户行为等3。在内容分发网络的服务器上部署轻量级的日志采集器Filebeat以收集用户服务日志,并将基础数据输出至分析平台。Logstash作为日志收集器,在汇聚日志的同时对其进行过滤,并按照规则解析且输出至ES。ES作为具有实时性全文检索功能的分布式搜索引擎,是日志分析平台的核心组件。Kibana是数据分析与可视化分析组件,其通过后台连接ES来读取指标并显示,同时对ES中的日志实现高效搜索、统计分析与可视化3。Logstash同时作为日志收集器和解析器,会消耗较多的CPU和内存资源,此外,配置Filebeat可指向不同的Logstash以实现日志采集,但过于繁杂。引入开源流处理软件Kafka作为汇聚层,则Filebeat采集的日志均会指向 Kafka 集群,同时可启动不同的KibanaElasticsearch集群ES主节点ES路由节点ES数据节点Logstash集群Kafka集群FilebeatFilebeatFilebeatFilebeatFilebeat图1ELK日志分析平台架构 80第1期Logstash来消费Kafka集群所收集的日志,从而进行入库操作4。1.3ELK日志分析平台关键技术1.3.1ES的分布结构针对内容分发网络每天TB级以上的庞大日志量,需要合理设计ES节点来优化平台架构。平台ES节点包括主节点、数据节点和路由节点三类,其中主节点用于集群的信息维护,数据节点用于存储数据索引分片,路由节点用于平衡资源在各节点的分配5,如图2所示。配置路由节点可以起到负载均衡的作用,在庞大日志处理体量下,ES集群所有的读写操作和请求均由路由节点来分配和处理,当集群信息有变更时(如集群扩容),仅需改动路由节点配置,既保证了对庞大日志量的稳健实时处理能力,又提升了系统安全性及架构可伸缩性。1.3.2Logstash配置及日志解析在使用Logstash对日志进行收集处理时,须根据解析需要对日志进行过滤、分析及统一格式等6。同时,根据日志中每一个字段的含义来确定日志的切分规则,并根据切分规则来提取字段的正则表达式,由此实现强大的日志解析功能,以满足各种应用场景。以下是内容分发网络系统中的一条服务日志:192.168.12.14|6200|192.168.12.20|6100|VLC/2.2.1 LibVLC/2.2.1|OTT|/1201003/live/program/bhbyfh-1_/live/cctv4/index.m3u8?HttpSessionId=SLB254434038|20190827T062041Z|20190827T061906.949Z|20190827T061936.755Z|11047962|audio/x-mpegurl|BCS-CDN-0551-JG0111|1201003|cctv4|1743.078|206|192.168.12.20|GET|HTTP/1.1|HIT|no-cache。格式化后的日志如表1所示。表1格式化后日志的字段解析及含义日志字段termialipterminalportserveripserverportuseragentdomainnameurltimestampbegintimeendtimeserverbytecontenttypenodeidviewtypecontentidfirsttimehttpstatusrequestiprequestmethodrequestversioncachestatusupcachecontrol日志内容192.168.12.146200192.168.12.206100VLC/2.2.1LibVLC/2.2.1OTT/1201003/live/program/bhbyfh-1_/live/cctv4/index.m3u8?HttpSessionId=SLB25443403820190827T062041Z20190827T061906.949Z20190827T061936.755Z11047962audio/x-mpegurlBCS-CDN-0551-JG01111201003cctv41743.078206192.168.12.20GETHTTP/1.1HITno-cache字段含义终端请求源IP地址终端请求源端口服务器服务IP地址服务器服务端口终端请求头中的UserAgent源站请求域名终端请求URL终端请求时间戳终端请求开始时间终端请求结束时间终端请求字节数内容类型节点编号业务类型内容编号首字节时延HTTP状态码终端请求中的服务