• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于自主容器云平台的大数据日志采集系统

张勇
  
富网媒体号
2024年14期
南京证券股份有限公司 南京 210000

摘要:云计算和容器云技术的大规模应用,使国产服务器和容器云平台逐渐成为服务部署的首选。但是过去的日志采集方式不能满足这些平台的特殊需求,无法提高服务器服务质量和日志数据的全面性,基于此,文章中提出了依赖于自主容器云平台的大数据日志采集系统,该系统采用自适应的数据采集策略,能够根据服务器负载调整日志数据的采集与发送,有效减轻了国产服务器的压力,为大数据日志采集工作提供新的方向。

关键词:自主容器云平台;大数据;日志采集;系统

引言:自主可控的容器云平台上部署服务满足了数据采集的需求,为企业带来灵活性。但是,怎样有效地在这些平台上进行大数据日志采集成为企业面临的困难问题,传统的日志采集方式无法应对国产服务器和容器云平台的特殊性,一般不能提供给技术人员全面且实时的数据监控和分析。自主容器云平台的大数据日志采集系统采用了自适应的数据采集算法,可以通过服务器的负载情况随时调整数据,确保最大程度地提高服务器性能。

一、自主容器云平台概念

自主容器云平台作为云计算技术的服务平台之一,它通过容器调度、数据存储、通信网络和安全防护等服务,可以给企业提供容器化应用的安装和运营。此平台采用了容器管理、容器调度、服务通信和微服务架构等先进技术,共同建立了轻量级的平台即服务(PaaS)模式。

与传统云计算的IaaS和PaaS层相比,平台可以将两者充分融合,给应用系统提供从开发、编辑、发表到安装和运维的全生命周期管理,此平台的应用帮助开发者能够在统一的平台上完成应用的生命周期,且不用经常切换平台。应用的运行依赖自主容器云平台上的各种组件,例如数据储存、通讯中间件、微服务基础组件、大数据处理组件、AI算法库等,全部由容器云平台进行生命周期管理,使开发者可以专注于应用程序的核心功能。使用自主容器云平台对用户而言的优势在于无需管理底层的基础设施,不需用户操作实现网络配置管理、服务器管理、操作系统更新或存储管理等方面的工作,只需用户给平台提供指定的编程语言等一系列开发工具,即可应用程序。简化管理方式大大提高了开发效率和应用质量,为用户提供了便捷的应用开发和使用体验。

二、大数据日志采集系统的组成部分

1.日志源连接器

日志连接器是整个系统的输入端口,它有着连接各类日志源的桥梁作用,可以同时与多种日志源进行通信,例如:结构化日志数据库库、非结构化日志数据库、文件系统平台、应用程序接口等,连接器的应用确保了系统从多元化的数据中获取数据的准确性,还提高了日志数据的多样性。

2.日志采集工具

日志抓取工具作为系统的核心功能之一,提供灵活的方式采集、转换、存储各种日志,支持文件、Kafka消息、TCP、HTTP等不同类型的日志数据;并对日志数据进行过滤、格式化、清洗等操作,从中提取重要信息,将提取到的数据存储到本地或数据库中。它主要负责从各种日志数据源中提取数据的任务,同时负责获取最初数据,并在必要时刻及时进行清洗和转换工作,保证采集数据的准确性和一致性。

3.日志存储

日志存储组件主要存储原始数据和经过处理后的信息的模块,同时可根据实际需求快速选择结构化和非结构化日志数据库,通过易于使用的查询语言,对已采集的日志进行分析、复杂的查询。

4.日志处理和分析模块

该模块重点负责处理和分析数据,其工作内容主要有数据净化、数据变换、整合、勘探等多个环节,可以从工作中提取有价值的信息和洞察力,帮助技术人员提供决策建议。

5.可视化展示模块

此模块能够将系统的人机交互界面,可视化和报告模块结合,将信息以示意图、图像资料、表格等形式展示给用户,并将复杂的数据和分析结果以易于理解的形式将数据和分析结果传递给用户。

三、传统大数据日志采集系统存在问题

1.工作效率低

以往的日志采集系统大多是人工设置和固定的规则制定,导致业务出现数据错误问题时需要耗费较多时间进行配置和调整;数据量的快速增长为采集工作加大了工作难度,使系统面临性能瓶颈风险,造成日志收集、处理和分发工作延迟。

2.扩展性差

业务规模的扩大使传统的日志采集系统无法满足当代需求,主要原因是其系统在增加存储容量、提升计算能力等硬件资源的扩展上还关系到软件架构的适应性,受传统日志采集系统扩展性差的影响,使系统无法快速的增加模块或调整结构,在处理大规模数据时可能出现性能下降或系统崩溃的现象,无法顺利完成工作。

3.数据质量问题

受手动配置的规则和过滤器局限性的影响,导致传统数据采集系统遗漏部分重要信息、采集信息不准确等,错误的过滤条件也可能导致关键信息被归类为无关数据;数据源的多样性使系统无法全方面的获取和保存所有相关日志信息,造成日志因格式不兼容、接口不兼容等原因被忽略或丢失,使数据失去准确性。

四、提高自主容器云平台的大数据日志采集系统的策略

1.选择成熟的日志采集组件

选择如Vector、Filebeat、Flume等偏成熟的日志采集组件,通过技术人员的广泛使用,验证了这些组件高性能、稳定性和可扩展性的特点,组件可以时刻收集、聚集和发送日志数据,保证数据的完整性和实时性。例如:利用Vector日志采集组件对下游传输工具及其传输线路的猜测需求较小特点,使用JSON作为日志输出运用到自定义程序中,Vector插件是Rust语言开发可以用来编写和维护更多的数据;采用Vector工具,具备高性能的传输能力,利用其强大的过滤和解析能力进行数据解析和转换;Filebeat作为Beats家族的日志采集工具,它可以将数据直接推送到Elasticsearch,并让Elasticsearch同时完成解析和存储工作等;Flume是集高可用、高性能等特性为一身的日志采集工具,实现采集、过滤、存储日志数据。选择日志采集组件过程中重视系统需求分析,明确了解日志的基本资料、格式、传输方向以及处理方式等细节,并结合相关资料、网络适配器、数据库等多个来源收集日志用于应对大型或复杂的系统,选择具备支持多种数据源的能力的组件;完成日志采集组件的选择工作后及时进行集成测试,保证匹配的组件可以与现有系统无瑕疵结合,满足技术人员采集需求,制定包括检验范围、测试目的、模拟环境、测试手段和数据等详细计划,设计组件功能和性能指标,重视集成测试细节,组织模拟真实环境,方便观察组件在实际使用中的表现,针对发现的潜在问题及时修复并进行再次验证,以确保系统的稳定性和可靠性。

2.优化容器内日志管理

处理应用程序的日志信息过程中,定义清晰的日志级别和格式,明确调试信息、通告、警告和错误异常等级别,并分配各自的标准输出格式,帮助开发人员和运维人员快速理解日志信息的含义和重要性,为日志采集组件的解析和分类工作打下基础;使用标准输出流,将应用程序的日志输出到标准输出流(stdout)或标准错误流(stderr),降低整体日志采集组件的配置复杂性,方便技术人员从标准流中捕获日志;实施日志轮转和压缩工作,按时删除旧日志文件并及时创建新日志文件,合理控制日志文件的大小,还需要对日志文件进行适当压缩,节省系统存储空间,减少传输过程中的带宽使用;

3.增强容错能力

选择精细设计和部署方式进行分布式架构工作,例如:提高资源评估与规划工作,在开始前对PU、内存、存储等每个细节的硬件资源进行仔细评估,并凭借评估结果计划每个节点所需要的平均资源量,保证内部资源分布均衡,减少资源瓶颈现象的发生;实施动态资源调整,利用容器编排工具(如Kubernetes、Docker Compose)等来实现动态资源调整,并结合实际负载和性能指标自动调整节点资源,同时建立资源使用上限,防止单个节点过载情况等,通过一系列措施,可以保证系统的每个节点都有充足的资源来处理日志数据,还可以根据日志数据的数量和类型随时进行动态调整,合理分配日志采集组件,降低单个节点的负载压力,并提高系统的整体性能和容错能力;利用负载对日志数据进行动态调整实现负载均衡,结合节点的负载水平、可用性和性能表现,将日志数据动态分配给不同的采集节点,降低节点过载概率发生,提高系统的整体处理效率;建立完善的数据备份机制用于备份与恢复工作,要求相关技术人员定期对日志数据进行分类备份,并储存到安全的存储设备上,还要定期验证备份数据的完整性,确保与主数据保持一致性;实施健康检查机制,及时发现和解决组件异常或故障,利用监控工具定期检查进程是否正常运行、资源占用状况、网络连接是否顺利等日志采集组件的状态,若发现系统出现异常或故障,可以利用监控工具中的重启组件快速恢复系统的正常运行;在数据冗余与校验中添加校验码或哈希值等校验机制,例如:根据数据的特定算法为系统数据添加一个或多个校验码,一般常用的校验码包括奇偶性检验码、循环冗余校验码等;使用哈希函数为数据生成一个唯一的哈希值,常用的哈希函数有SHA-256、SHA-3、RIPEMD-160等,用来验证数据的完整性和真实性。

4.加强日志分析能力

统一规定日志采集方案的标准,选择无侵入式的日志采集方法,无侵入式的方法常不需要在服务中布置其他日志采集组件,布置与维护工作比较简单,帮助工作人员更好的进行系统操作,降低了应用风险,并提高系统的稳定性和可靠性;选择合适的日志存储方案应对后续分析工作,要求技术人员根据实际需求选择合适的存储后端,常见的存储后端有Elasticsearch、mongoDB、VictoriaLogs等,都可以达到高效地存储工作要求,用来提高分析效率;采用机器学习和数据挖掘技术提高日志分析的效率和准确性,通过对日志数据进行模式分类、相关联分析、异常点检测等操作,帮助工作人员深入挖掘日志数据的价值,例如:聚类算法帮助技术人员识别不同类型的应用或用户行为;关联规则挖掘可以发现潜在的规则和模式,通过分析数据发现潜在的问题并提出优化方向等。

5.采用自适应的数据采集算法

根据容器云平台当前的负载状况选择自适应算法帮助工作人员判断并调整日志采集的优先级和执行频率,开发如系统日志、网络日志等高效的日志采集程序,结合系统负载变化的智能化调整采集参数,完善采集程序的性能减少数据对容器云平台资源的占用情况,降低对核心业务的影响;设置独立的时间段帮助集程序定时自动运行,确保可以即时采集和处理日志数据,并实现自动化操作,增强系统的稳定性和可靠性;加强数据存储与安全管理工作,

选择存储数据介质时综合考虑其容量、可靠性和持久性等因素,对需要长期保存的日志数据选择如机械硬盘或高容量的固态硬盘这类具有高耐用性和稳定性的存储介质,利用加密存储设备对数据进行加密处理,除此以外,相关技术人员还要制定合适的存储策略.通过采用自适应的数据采集算法,提高数据日志采集的工作效率。

结束语:通过研究成功创建了一个基于自主容器云平台的大数据日志采集系统,新系统满足了客户的高质量需求,保障了日志数据的全面性。由此可见,文章中提出的一系列解决措施可以根据服务器负载动态调整日志数据的采集和发送量,从而有效缓解服务器的压力,提高服务性能。希望通过本文的研究,能够为自主可控容器云平台的大数据日志采集提供一种新的、有效的解决方案,为相关领域的研究和实践提供有益的参考。

参考文献

[1] 袁雪枫,陈翔.基于大数据云平台的电力能源大数据采集系统应用[J].集成电路应用, 2023, 40(8):162-163.

[2] 王丹宁,曾科学,简献哲.基于大数据采集的经络分析云平台系统设计[J].科技创新与应用, 2022(022):012.

[3] 杨柏蔼,赵山,刘芳.无服务器计算技术研究综述[J].计算机工程与科学, 2022, 44(04):611-619.

[4] 罗贤伟,庞子山,谭松柏,等.基于云计算的水务大数据平台系统设计与实践[J].给水排水, 2022, 48(1):7.

*本文暂不支持打印功能

monitor