[发明专利]基于宿主机的日志收集方法、装置、计算机设备及存储介质在审
申请号: | 201911177457.9 | 申请日: | 2019-11-26 |
公开(公告)号: | CN110955578A | 公开(公告)日: | 2020-04-03 |
发明(设计)人: | 兰香福;江汉;刘海波;陈二鑫;陈小安 | 申请(专利权)人: | 深圳市信联征信有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F16/18 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 巫苑明 |
地址: | 518000 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 宿主 日志 收集 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及一种基于宿主机的日志收集方法、装置、计算机设备及存储介质,方法包括以下步骤:将容器中的应用程序的日志写入容器的日志目录;将每个容器的日志目录挂载到运行该容器的宿主机的固定目录;在每个宿主机中部署日志收集工具,收集对应宿主机的固定目录中存储的日志数据。本方案通过先将应用程序的日志写入到容器的日志目录中,再将容器的日志目录挂载到宿主机的固定目录中,通过收集宿主机中固定目录中的日志数据,无需设置辅助容器进行日志收集,避免了通过日志收集资源消耗大的问题;同时通过在宿主机上设置一个工具即可精准收集到所有容器和应用程序的日志,能够对日志数据进行更好的收集。
技术领域
本发明涉及系统部署领域,更具体地说是指一种基于宿主机的日志收集方法、装置、计算机设备及存储介质。
背景技术
Kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。应用运行在kubernetes集群之上,实现服务的扩容、缩容,执行滚动更新以及在不同版本的应用程序之间调度流量以测试功能或回滚有问题的部署。
kubernetes集群上的容器化应用程序的日志默认存储在运行该容器的宿主机上,且具体存储路径为该宿主机docker组件的日志目录内,为了收集应用程序的日志,传统的日志收集有两种方式:
1、每个pod内,不但要部署一个业务容器,还需要额外部署一个日志agent的辅助容器来收集该业务容器的日志,当k8s集群规模庞大,对应的pod数量非常多时,日志agent的辅助容器数量也会随之增多,缺点是额外的资源消耗巨大。
2、在k8s集群的每个宿主机上部署一个日志agent来收集docker的日志目录内所有日志文件,这样就可以将该宿主机上运行的所有容器日志都收集到,缺点是不能明确的按照容器的应用程序名称来精确收集日志。
上述两种传统方式各有缺点,只能适用于特定的应用场景,无法在兼顾资源利用率的同时,更优的收集日志。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于宿主机的日志收集方法、装置、计算机设备及存储介质,用于实现精准实时日志收集。
为实现上述目的,本发明采用以下技术方案:一种基于宿主机的日志收集方法,其特征在于,包括以下步骤:
将容器中的应用程序的日志写入容器的日志目录;
将每个容器的日志目录挂载到运行该容器的宿主机的固定目录;
在每个宿主机中部署日志收集工具,收集对应宿主机的固定目录中存储的日志数据。
其进一步技术方案为:所述将容器中的应用程序的日志写入容器的日志目录的步骤包括:
将单笔交易请求的日志切割为单个日志文件;
将所有交易请求的单个日志文件写容器的日志目录。
其进一步技术方案为:所述将每个容器的日志目录挂载到运行该容器的宿主机的固定目录的步骤包括:
通过Kubernetes集群的hostpath方式,将容器的日志目录挂载到对应的宿主机的固定目录。
其进一步技术方案为:所述在每个宿主机中部署日志收集工具,收集对应宿主机的固定目录中存储的日志数据的步骤之后包括:
对收集到的日志数据进行分析处理,并进行可视化展示。
其进一步技术方案为:所述对收集到的日志数据进行分析处理,并进行可视化展示的步骤包括:
通过logstash将日志数据标准化;
将标准化的日志数据输出到Elasticsearch存储;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市信联征信有限公司,未经深圳市信联征信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911177457.9/2.html,转载请声明来源钻瓜专利网。