本发明涉及云原生kubernetes,具体地,涉及私有化日志采集方法及其系统。
背景技术:
1、日志采集是维护和监控计算机系统健康的不可或缺的工具。通过详细记录系统和应用程序的运行时事件,有助于系统管理员和运维人员及时发现和解决故障、优化性能、进行安全审计以及提高系统可用性。
2、目前主要采用的日志采集方案包括elk stack、filebeat和loki。
3、elk stack(elasticsearch,logstash,kibana)是一套用于日志采集、存储和可视化的开源工具。elk stack方案使用elasticsearch作为日志存储和索引引擎,logstash作为日志收集和处理工具,kibana用于日志搜索和可视化。
4、filebeat是一个轻量级的日志采集器,用于监视指定位置的日志文件并将其转发到其他系统。filebeat方案则通过监视指定位置的日志文件,收集日志内容,并将它们转发到elasticsearch或logstash进行索引。
5、loki是一个基于标签的日志聚合工具。loki方案使用loki并配置日志流水线,可以根据应用程序、环境或其他标识对日志进行分类和组织,并可以结合grafana来查询和可视化这些日志。
6、然而,这些现有技术方案存在一些共同的缺点,包括配置复杂、部署繁琐、学习成本高、硬件资源消耗大、运维成本增加以及保存时间不长久,不适用特定审核场景,这些缺点限制了它们在集群有限的私有化环境中的适用性。
7、例如,elasticsearch是elk中的关键组件,它对硬件资源的需求较大,elasticsearch的分布式特性和分片机制导致对存储和计算资源的高度依赖,在私有化环境中,特别是资源受限的情况下,会增加硬件资源的成本和管理负担。elasticsearch的分片和副本机制确保了高可用性和数据冗余,但也增加了存储需求,保存多份副本导致磁盘资源的浪费。
技术实现思路
1、本发明提供了一种私有化日志采集方法及其系统,旨在克服上述问题,解决在私有化环境中进行业务日志采集时所面临的技术挑战,通过自研采集器以sidecar方式、daemonset方式部署,以较小的代价轻松地实现对私有化环境业务日志和系统日志的采集、存储和管理,提升系统的稳定性、安全性和运维效率,提高了采集效率、降低了配置复杂度,同时日志存储时间长满足特定审核场景的需求。本发明的应用范围涵盖了各种私有化环境,包括企业内部业务系统、数据中心、云计算平台等项目或产品。
2、第一方面,本发明提供了一种私有化日志采集方法,其特征在于,所述方法包括:
3、用户根据需求在管理平台选择需要查询的目标服务;
4、判断所述目标服务为集中式业务服务或分布式业务服务,若所述目标服务为分布式业务服务,则执行以下步骤:
5、所述管理平台根据所述分布式业务服务向分布式采集器发送查询指令;
6、所述分布式采集器根据所述查询指令扫描分布式业务服务所在节点,并返回分布式业务服务节点的业务日志列表给所述管理平台;
7、所述管理平台对分布式业务日志列表进行展示;
8、用户在所述管理平台所展示的所述分布式业务日志列表中选择需要下载的目标日志;
9、所述管理平台根据所述目标日志发送上传指令给所述分布式采集器;
10、所述分布式采集器根据所述上传指令从所述分布式业务服务节点采集并上传所述目标日志到日志服务器;
11、所述管理平台通过所述日志服务器下载所述目标日志。
12、第二方面,本发明还提供了一种私有化日志采集系统,其特征在于,所述系统包括:管理平台、分布式采集器和日志服务器;
13、所述管理平台包括确定服务单元、判断单元、发送指令单元、展示单元、确定日志单元和获取日志单元;
14、所述分布式采集器包括获取列表单元和上传单元;
15、所述确定服务单元用于确定用户根据需求在管理平台选择需要查询的目标服务;
16、所述判断单元用于判断所述目标服务为集中式业务服务或分布式业务服务;
17、若所述目标服务为分布式业务服务,则:
18、所述发送指令单元用于根据所述分布式业务服务向分布式采集器发送查询指令;
19、所述获取列表单元用于根据所述查询指令扫描分布式业务服务所在节点,并返回分布式业务服务节点的业务日志列表给所述管理平台;
20、所述展示单元用于对分布式业务日志列表进行展示;
21、所述确定日志单元用于确定用户在所述管理平台所展示的所述分布式业务日志列表中选择需要下载的目标日志;
22、所述发送指令单元还用于根据所述目标日志发送上传指令给所述分布式采集器;
23、所述上传单元用于根据所述上传指令从所述分布式业务服务节点采集并上传所述目标日志到日志服务器;
24、所述获取日志单元用于通过所述日志服务器下载所述目标日志。
25、本发明提供的私有化日志采集方法及其系统:第一,采用sidecar模式部署集中式采集器,daemonset方式部署分布式采集器,使用最小的代价换取更高的日志存储效率,运维成本降低的同时,还能保证自身业务的正常运行,不会因为消耗太多系统资源导致集群服务不稳定,配置简单、部署便捷,降低了学习成本和使用成本;第二,按需采集分布式业务日志,避免了不必要的日志采集和传输,节省了计算和存储资源,提高了日志采集效率;第三,集中式业务日志和系统日志采用定时采集方式,如集中式采集器在业务低峰期(如凌晨1点)定时采集集中式业务容器产生的日志,有助于避免在业务高峰期对系统资源的过度消耗,确保业务正常运行;第四,将采集到的所有原始日志文件在上传前做一层压缩,将压缩日志上传到日志服务器,并清理容器中已上传的日志,降低对网络和存储资源的消耗,降低运维成本,同时日志存储时间长满足特定审核场景的需求。
1.一种私有化日志采集方法,其特征在于,所述方法包括:
2.根据权利要求1所述的私有化日志采集方法,其特征在于,所述分布式采集器根据所述上传指令从所述分布式业务服务节点采集并上传所述目标日志到日志服务器的步骤具体包括:
3.根据权利要求1或2所述的私有化日志采集方法,其特征在于,每个节点对应一个所述分布式采集器,每个所述分布式采集器挂载对应所述节点的业务日志列表和系统日志列表。
4.根据权利要求1或2所述的私有化日志采集方法,其特征在于,所述分布式采集器以daemonset方式部署。
5.根据权利要求1或2所述的私有化日志采集方法,其特征在于,所述方法还包括:
6.根据权利要求1或2所述的私有化日志采集方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的私有化日志采集方法,其特征在于,判断所述目标服务为集中式业务服务或分布式业务服务,若所述目标服务为集中式业务服务,则用户根据需求通过所述管理平台获取所述日志服务器存储的所述集中式业务日志。
8.根据权利要求6所述的私有化日志采集方法,其特征在于,所述方法还包括:
9.根据权利要求6所述的私有化日志采集方法,其特征在于,所述方法还包括当所述日志服务器中没有存储用户所需的目标集中式业务日志:
10.一种私有化日志采集系统,其特征在于,所述系统包括:管理平台、分布式采集器和日志服务器;