您的位置 首页 > 数码极客

日志数据如何设计与实现 如何获取游戏日志数据

来源:2022第三届中小金融机构数智化转型优秀案例评选

获奖单位:恒丰银行

荣获奖项:专家好评TOP10优秀案例奖


一、项目方案


1.项目简介

伴随着大数据、人工智能的科技浪潮以及恒丰银行业务规模的蓬勃发展,恒丰银行对科技的依赖越来越强,对科技的投入也越来越大,出于监管要求以及恒丰银行自身的业务需求,恒丰银行建立了两地三中心的数据中心管理模式,同时每个数据中心采购了各种各样的网络设备、安全设备、服务器等等硬件设备,在此基础之上安装、部署了不同的操作系统、中间件、数据库、应用业务系统等软件系统,上万台设备和几百个应用业务系统每天会产生TB级的监控数据,每年将会保存PB级的日志。


监控数据和日志数据是银行运维领域行业最为宝贵的财富和价值,通过对海量日志数据和监控数据的挖掘和分析来实现银行领域的智能运维AIOPS,不仅可以快速响应和解决问题、提高运维工作效率,也可以降低人力成本和风险、降低由于系统故障而造成的经济损失和社会影响。


传统的IT救火运维模式有必要得到改变,才能进一步的提升IT系统安全、稳定、高效地运行。而当前主流运维技术已从被动运维、半自动化运维向智能运维发展,智能运维是通过机器学习、深度学习等AI算法,自动地从海量监控和日志数据中学习并总结规则,并作出异常检测、预测以及决策的运维方式。它能够模拟人类运维的操作,甚至能帮人类做出运维决策。


如何通过海量监控和日志数据对几百个业务系统实现系统画像和运维人员用户画像,建立人工智能来辅助甚至部分替代人类的日常、繁琐的运维工作,以此进一步提升运维质量、成本和效率,成了当下研究的热点。

AIOPS通过海量监控和日志数据的挖掘和分析构建运维“大脑”,提升运维质量、降低运维成本、提高运维效率。


该项目主要解决了三项问题,一是满足了监管对商业银行日志保存期限的要求;二是监控和日志产生的数据量巨大,传统的IT技术手段无法解决数据量大和数据复杂性等问题,监控数据和日志数据既有结构化数据也有非结构化数据,每天会产生上TB的数据,传统的数据处理平台无法处理复杂的数据和大量的数据,如何从大量的数据剥离出来有价值的数据,需要大数据平台技术来实现;三是传统的银行运维是一种被动的、救火式的运维,运维人员总是在处理问题或者在处理问题的路上,导致运维工作总是疲于奔命,通过对海量监控和日志数据的挖掘和分析构建运维“大脑”,从而将银行被动运维、半自动化运维向智能运维发展,将人员从日常、繁琐的工作中解脱出来。


2.项目功能

日志大数据平台为用户提供用户自服务和SAAS云日志服务,SAAS云日志服务分为日志统一存储、日志告警、日志检索与查询、问题根因性分析(全链路分析,从发起方到调用方的响应、失败、成功等分析)和业务监控 (交易量、响应时间、接口的调用响应时间、PV、UV、失败率等)。


图 1 日志大数据平台功能


在安全场景上,日志大数据平台通过覆盖安全团队负责运维的安全类设备运行产生的日志,可帮安全团队实现可用性检查和安全事件分析功能。针对接入的WAF、IPS、防火墙等日志,通过安全事件的关联分析,将疑似攻击事件进行来源分析,可发现攻击事件并对正在进行的攻击进行防御。


在合规审计上,日志大数据平台通过还原业务的访问过程,精准分析业务流程的时延,精准识别基于业务逻辑的攻击行为,可为工作人员提供清晰的可视化业务分析报表和业务攻击告警。在满足审计记录规范化的需求方面,由于全网设备种类繁多,各设备日志信息存储格式、字段含义、通信协议差异较大,日志大数据平台会对采集到的各种设备日志进行归一化处理,提取审计记录完整信息,为后续审计分析提供依据。


在业务流程监控上,针对企业关键业务系统,日志大数据平台通过将日志中交易请求与响应关联,分析出交易量、交易耗时、交易成功率、交易码分类等关键指标,基于指标能够掌握业务实时运行状态,针对特殊失败码能够进行失败事件数阈值告警,对交易成功率低的时段进行告警。对业务交易的实时把控,解决了客户无法及时了解应用运营情况的痛点,有效减少了因业务故障被用户投诉的场景,提高了用户的满意度。


在应用性能监控上,日志大数据平台通过日志分析可让应用运行状况尽在掌握之中。如银行业的统一调度平台日均执行上万个作业流任务,业务高峰时往往造成应用服务器负载过大,可能造成程序无法及时处理作业等情况,所以需要对应用服务器性能指标实时分析。日志平台可以采集服务器磁盘使用情况、磁盘IO、CPU、内存、网络等指标,准实时监控应用主机运行状况,结合业务峰值、并发与服务器负载情况,实现合理配置服务器资源。


3.项目架构

日志大数据平台在采集终端安装Filebeat作为采集Agent,旁路部署,可以在不修改任何内部系统结构、网络拓扑结构的情况下进行部署。服务端为分布式架构,使用Kafka、Zookeeper、Redis、Storm、Elasticsearch等组件。


图 2 日志大数据平台技术架构


由Filebeat Agent采集的日志,生产到Kafka集群,提供Storm、Flume消费,对Kafka日志消息队列进行消费,并将数据消费到Hbase以及实时预测分析组件中。上送至ES的部分,可提供实时数据,可查看实时报表或用来实时预测;上送至HDFS的部分,可用作后续文件下载或离线分析。


日志大数据平台在申请服务器、申请中间件数据库资源时自动部署Filebeat,主动采集服务器、应用、安全设备、网络设备的日志,以应用英文名称建立Topic,经数据处理后,进行保存和数据分析。

用户还可通过自服务平台,自定义配置日志信息,自行申请日志监控服务,简化了监控运维人员的工作。


当故障发生时,日志大数据平台可按照配置的告警关键字进行告警,并将告警发送至集中监控平台,集中监控平台将按照配置的告警通知规则进行告警通知,从而最快速的保证故障的发现与处置。


图 3 日志大数据平台平台架构


日志大数据平台还与身份认证系统和配置管理系统对接,用户仅可查看自己名下应用的日志,做到最小化授权,确保数据安全可控。日志大数据平台同时站在用户视角强化了查询功能,与配置管理系统对接,将原本仅有IP和日志信息的数据进一步丰富,自动增加应用名称、部署单元标签,方便用户分析日志。


4.项目技术

日志大数据平台使用了诸多大数据技术和开源组件,如Filebeat、Kafka、Zookeeper、Redis、Storm、Elasticsearch等。

Filebeat使用GO语言开发,当Filebeat启动时,它会启动一个或者多个prospector监控日志路径或日志文件,每个日志文件会有一个对应的harvester,harvester按行读取日志内容并转发至后台程序。Filebeat维护一个记录文件读取信息的注册文件,记录每个harvester最后读取位置的偏移量。


图 4 Filebeat工作原理


Filebeat安全控制通过3个维度进行: 内存占用、CPU占用、服务端权限控制。实践中采用限制单条消息大小、消息队列大小、消息队列数据个数等方式控制内存占用,采用限制系统中可用的逻辑CPU数的方式控制CPU占用,通过区分用户角色、增加日志下载审批流程以实现权限控制。


图 5 Filebeat数据发送原理


目前不涉及大流量应用日志,后续可利用Kafka对生产者进行配额控制,实现采集网络流量控制可。

实时预测功能,采用无监督聚类、实时分类、行为特征提取、行为画像、策略模板识别、威胁态势趋势分析、来源分析、地域展示等技术,做到实时决策、深度决策,全面识别风险。

日志大数据平台基于滑动时间窗口的动态数据快速处理技术,具有毫秒级的时效性、高可扩展性,性能可达每秒可处理百万条请求。


图 6 实时预测功能


日志管理平台的Hadoop集群CDH6.3.0(全称Cloudera’s Distribution Including Apache Hadoop), Hadoop是一个开源项目,所以很多公司在这个基础进行商业化,Cloudera对Hadoop做了相应的改变。Cloudera公司的发行版,我们将该版本称为CDH。


Hadoop是一个由Apache基金会所开发的分布式系统基础架构,是一个能够对大量数据进行分布式处理的软件架构,Hadoop以一种可靠、高效、可伸缩的方式进行数据处理。


Hadoop是可靠的,因为它假设计算元素和存储会失败,因此在维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop还是可伸缩的的,能够轻松处理PB级别数据。


Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是⼀种高吞吐量的分布式发布订阅消息系统。Kafka优点非常多,包括高性能、低延时、可用性高、工具链成熟、生态成熟等优点。


相比传统的消息系统,Kafka通过分区的概念,可以在多个Consumer组并发的情况下提供较好的有序性和负载均衡。将每个分区只分发给一个Consumer组,这样一个分区就只被这个组的一个Consumer消费,就可以顺序的消费这个分区的消息,因为有多个分区,依然可以在多个Consumer之间进行负载均衡。


Flume是一个分布式、可靠、高可用的海量日志采集、聚合和传输的系统。支持在日志系统中定制各类数据发送方,用于收集数据;同时Flume提供对数据进行简单处理,并写到各种数据接收方(比如文本、HDFS、Hbase等)的能力。


二、创新点


1.采用大数据技术,解决数据量大、数据复杂等问题,从大数据中提取出有价值的数据。

2.采用人工智能技术,将推动银行运维工作从被动运维、半自动化运维向智能运维发展,将人员从日常、繁琐的工作中解脱出来。


三、技术实现特点


日志大数据平台主要技术实现原理有如下三点:


1.深度学习。深度学习属于机器学习的范畴,深度学习可以说是在传统神经网络基础上的升级,约等于神经网络。深度学习和传统机器学习在数据预处理上都是类似的。核心差别在特征提取环节,深度学习由机器自己完成特征提取,不需要人工提取。深度学习的4种典型算法为卷积神经网络(CNN)、循环神经网络(RNN)、 生成对抗网络(GANs)、深度强化学习(RL)。


2.大数据平台。大数据平台是对海量结构化、非结构化、半结构化数据进行采集、存储、计算、统计、分析处理的一系列技术平台。大数据平台处理的数据量通常是TB级,甚至是PB级的。与传统数据管理平台不同的是随着数据量的迅猛增长,大数据平台可弹性扩容,scale out扩展。


3.分布式文件系统。基于Linux的文件系统思路,将数据块的地址改为分布式服务器的地址,那么文件的存储容量将是整个分布式服务集群的硬盘容量,还可以在不同服务器上同时并行读取文件的数据块,文件访问速度也会加快,分布式文件系统思路和RAID是一脉相传。就是将数据分成很多片,同时向N台服务器上进行数据写入,针对一片数据丢失导致整个文件损坏的问题,分布式文件系统采用数据备份的方式,将多个备份数据片写入多个服务器,保证文件的可用性,也可以采用RAID 5的方式,计算校验数据片的方式提高文件可用性。


四、项目过程管理


日志大数据平台从2021年初规划实施,同年末完成测试环境验证和生产环境小范围推广,2022年已完成生产环境日志监控全覆盖。


五、运营情况


日志大数据平台在生产环境全面推广,已采集操作系统、应用系统、数据库、中间件等日志,纳管服务器超万台,服务器日收集数据10TB。


六、项目成效


日志大数据平台为恒丰银行内部自主研发的系统,用于满足恒丰银行数据中心运维人员快速响应和解决问题、提高运维工作效率、降低人力成本和风险、降低由于系统故障而造成的经济损失和社会影响的运维需求。因此并非市场产品,参与市场竞争。


七、经验总结


日志大数据平台建设过程中,遇到很多由于数据量大导致的性能问题,究其原因,为设计过程中对组件的理论知识充分而实践经验不足。在推广过程中,涉及专业壁垒、应用非标准化等问题,在前期调研过程中已发现但未深入了解。以上两项导致工期短暂延误,在未来的项目实施中均应避免。


更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社官网案例库、选型库查看。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“日志数据如何设计与实现,如何获取游戏日志数据,如何查询日志数据,日志表数据设计,针对设计客户信息等关键数据等日志”边界阅读