用于采集日志的系统、方法和装置制造方法及图纸

技术编号:20925865 阅读:17 留言:0更新日期:2019-04-20 11:45
本申请实施例公开了用于采集日志的系统、方法和装置。该系统的一具体实施方式包括:包括至少一个kubernetes集群,caas集群,日志采集配置服务器,日志存储服务器和运维服务器,kubernetes集群包括主节点和至少一个工作节点,主节点中安装有kafka集群应用。该用于采集日志的系统实现了来源多样化的日志采集,动态更新容器弹性扩缩容带来的配置信息,以及自动更新kubernetes集群维度变化的配置信息。

System, Method and Device for Log Collection

The embodiment of this application discloses a system, method and device for collecting logs. The specific implementation of the system includes at least one kubernetes cluster, CAAS cluster, log collection configuration server, log storage server and maintenance server. The kubernetes cluster includes the master node and at least one working node. The main node is equipped with Kafka cluster application. The system for collecting logs realizes the collection of logs from various sources, dynamically updates the configuration information brought by container elastic expansion, and automatically updates the configuration information of kubernetes cluster dimension changes.

【技术实现步骤摘要】
用于采集日志的系统、方法和装置
本申请实施例涉及计算机
,具体涉及用于采集日志的系统、方法和装置。
技术介绍
在云平台中,日志管理系统是重要的云服务基础设施,可以用于监控平台运行状况,排查系统故障。而日志数据的缺失和不准确会为日志分析、定位问题等工作带来不便。传统的日志采集会在每台业务服务器上部署采集客户端,采集客户端的日志记录模块将一定格式的日志记录在日志文件中,然后由采集客户端的发送模块将日志文件上传至日志服务器。另外,随着容器技术在云计算平台中的应用,还可以预先将业务服务在容器中的日志文件路径存储在预设容器日志目录中。在预设的容器日志目录中,通过服务标识、容器标识、日志文件标识采集对应的日志记录。
技术实现思路
本申请实施例提出了用于采集日志的系统、方法和装置。第一方面,本申请实施例提供了一种用于采集日志的系统,包括至少一个kubernetes集群,caas集群,日志采集配置服务器,日志存储服务器和运维服务器,kubernetes集群包括主节点和至少一个工作节点,主节点中安装有kafka集群应用,其中:主节点被配置成:采集该主节点中各个kubernetes组件的组件日志,以及将所采集的组件日志发送给该主节点中的kafka集群应用所指示的kafka集群;响应于监听到该主节点对应的工作节点中容器发生变化,根据该主节点对应的容器发生变化的工作节点中的当前各容器状态,生成相应工作节点的日志采集配置信息并发送给日志采集配置服务器;工作节点被配置成:每隔第一预设时间间隔从日志采集配置服务器获取该工作节点的日志采集配置信息;按照所获取的日志采集配置信息,采集该工作节点的kubernetes组件日志和容器日志,并将所采集的日志发送给该工作节点对应的主节点中安装的kafka集群应用所指示的kafka集群;Caas集群被配置成:采集Caas集群中各Caas组件的组件日志,以及将所采集的组件日志发送给运维服务器;日志存储服务器被配置成:每隔第二预设时间间隔从Caas集群获取Caas集群所管理的各kubernetes集群的主节点中安装的kafka集群应用对应的日志读取配置信息;按照所获取的日志读取配置信息所指示的位置拉取日志并存储;运维服务器被配置成:获取日志存储服务器中存储的日志;获取运维服务器中所存储的日志;以及呈现所获取的日志。在一些实施例中,运维服务器中安装有ElasticSearch应用;以及运维服务器还被配置成:利用所安装的ElasticSearch应用对所获取的日志进行聚合索引。在一些实施例中,运维服务器中安装有Kibana应用;以及运维服务器被配置成:呈现所获取的日志,包括:运维服务器被配置成:利用所安装的Kibana应用呈现所获取的日志。第二方面,本申请实施例提供了一种用于采集日志的方法,应用于用于采集日志的系统中的运维服务器,其中,该用于采集日志的系统包括至少一个kubernetes集群,caas集群,日志采集配置服务器,日志存储服务器和运维服务器,kubernetes集群包括主节点和至少一个工作节点,主节点中安装有kafka集群应用,该方法包括:获取所述日志存储服务器中存储的日志;获取运维服务器中所存储的日志;以及呈现所获取的日志。在一些实施例中,运维服务器中安装有ElasticSearch应用;以及方法还包括:利用所安装的ElasticSearch应用对所获取的日志进行聚合索引。在一些实施例中,运维服务器中安装有Kibana应用;以及呈现所获取的日志,包括:利用所安装的Kibana应用呈现所获取的日志。第三方面,本申请实施例提供了一种用于采集日志的装置,应用于用于采集日志的系统中的运维服务器,其中,该用于采集日志的系统包括至少一个kubernetes集群,caas集群,日志采集配置服务器,日志存储服务器和运维服务器,kubernetes集群包括主节点和至少一个工作节点,主节点中安装有kafka集群应用,该装置包括:第一获取单元,被配置成获取日志存储服务器中存储的日志;第二获取单元,被配置成获取运维服务器中所存储的日志;呈现单元,被配置成呈现所获取的日志。在一些实施例中,其中,运维服务器中安装有ElasticSearch应用;以及装置还包括:索引单元,被配置成利用所安装的ElasticSearch应用对所获取的日志进行聚合索引。在一些实施例中,运维服务器中安装有Kibana应用;以及呈现单元进一步被配置成:利用所安装的Kibana应用呈现所获取的日志。第四方面,本申请实施例提供了一种运维服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第二方面中任一实现方式描述的方法。第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被一个或多个处理器执行时实现如第二方面中任一实现方式描述的方法。传统的日志采集方法和现有的容器日志采集方法无法满足大规模容器服务的日志采集需求。这些方法存在以下缺陷:1、已有的日志采集工具需要进行手动配置,包括日志的采集方式和日志路径。这些都需要在应用部署之后才能完成。而容器云平台中的容器实例存在动态漂移和弹性扩缩容的特性,传统的采集工具无法感知这类配置信息的变化。2、现有的日志采集工具无法清晰定位容器云中的日志来源。容器云平台中的业务服务通常由多个pod(Pod是Kubernetes创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程)承载,这需要采集工具能够记录日志来源的标识,包括计算节点、业务应用、服务实例对应的pod以及容器。而且需要综合考虑业务服务日志和平台自身日志的采集。本申请实施例提供的用于采集日志的系统、方法和装置,通过由caas集群管理至少一个kubernetes集群,kubernetes集群包括主节点和至少一个工作节点,主节点中安装有kafka集群应用,kubernetes集群中的主节点采集该主节点中各个kubernetes组件的组件日志,以及将所采集的组件日志发送给该主节点中的kafka集群应用所指示的kafka集群;以及主节点响应于监听到该主节点对应的各工作节点中存在容器变化,根据该主节点对应的各工作节点中的当前各容器状态,生成相应工作节点的日志采集配置信息并发送给日志采集配置服务器;kubernetes中的工作节点每隔第一预设时间间隔从日志采集配置服务器获取该工作节点的日志采集配置信息;以及按照所获取的日志采集配置信息,采集该工作节点的kubernetes组件日志和容器日志,并将所采集的日志发送给该工作节点对应的主节点中安装的kafka集群应用所指示的kafka集群;Caas集群采集Caas集群中各Caas组件的组件日志,以及将所采集的组件日志发送给运维服务器;日志存储服务器每隔第二预设时间间隔从Caas集群获取Caas集群所管理的各kubernetes集群的主节点中安装的kafka集群应用对应的日志读取配置信息;从所获取的日志读取配置信息所指示的kafka集群中拉取日志并存储;运维服务器获取日志存储服务器中存储的日志;获取运维服务器中所存储的日志;以及呈现所获取的日志。从而解决了现本文档来自技高网...

【技术保护点】
1.一种用于采集日志的系统,包括至少一个kubernetes集群,caas集群,日志采集配置服务器,日志存储服务器和运维服务器,kubernetes集群包括主节点和至少一个工作节点,主节点中安装有kafka集群应用,其中:主节点被配置成:采集该主节点中各个kubernetes组件的组件日志,以及将所采集的组件日志发送给该主节点中的kafka集群应用所指示的kafka集群;响应于监听到该主节点对应的工作节点中容器发生变化,根据该主节点对应的容器发生变化的工作节点中的当前各容器状态,生成相应工作节点的日志采集配置信息并发送给所述日志采集配置服务器;工作节点被配置成:每隔第一预设时间间隔从所述日志采集配置服务器获取该工作节点的日志采集配置信息;按照所获取的日志采集配置信息,采集该工作节点的kubernetes组件日志和容器日志,并将所采集的日志发送给该工作节点对应的主节点中安装的kafka集群应用所指示的kafka集群;所述Caas集群被配置成:采集所述Caas集群中各Caas组件的组件日志,以及将所采集的组件日志发送给所述运维服务器;所述日志存储服务器被配置成:每隔第二预设时间间隔从所述Caas集群获取所述Caas集群所管理的各kubernetes集群的主节点中安装的kafka集群应用对应的日志读取配置信息;按照所获取的日志读取配置信息所指示的位置拉取日志并存储;所述运维服务器被配置成:获取所述日志存储服务器中存储的日志;获取所述运维服务器中所存储的日志;以及呈现所获取的日志。...

【技术特征摘要】
1.一种用于采集日志的系统,包括至少一个kubernetes集群,caas集群,日志采集配置服务器,日志存储服务器和运维服务器,kubernetes集群包括主节点和至少一个工作节点,主节点中安装有kafka集群应用,其中:主节点被配置成:采集该主节点中各个kubernetes组件的组件日志,以及将所采集的组件日志发送给该主节点中的kafka集群应用所指示的kafka集群;响应于监听到该主节点对应的工作节点中容器发生变化,根据该主节点对应的容器发生变化的工作节点中的当前各容器状态,生成相应工作节点的日志采集配置信息并发送给所述日志采集配置服务器;工作节点被配置成:每隔第一预设时间间隔从所述日志采集配置服务器获取该工作节点的日志采集配置信息;按照所获取的日志采集配置信息,采集该工作节点的kubernetes组件日志和容器日志,并将所采集的日志发送给该工作节点对应的主节点中安装的kafka集群应用所指示的kafka集群;所述Caas集群被配置成:采集所述Caas集群中各Caas组件的组件日志,以及将所采集的组件日志发送给所述运维服务器;所述日志存储服务器被配置成:每隔第二预设时间间隔从所述Caas集群获取所述Caas集群所管理的各kubernetes集群的主节点中安装的kafka集群应用对应的日志读取配置信息;按照所获取的日志读取配置信息所指示的位置拉取日志并存储;所述运维服务器被配置成:获取所述日志存储服务器中存储的日志;获取所述运维服务器中所存储的日志;以及呈现所获取的日志。2.根据权利要求1所述的系统,其中,所述运维服务器中安装有ElasticSearch应用;以及所述运维服务器还被配置成:利用所安装的ElasticSearch应用对所获取的日志进行聚合索引。3.根据权利要求2所述的系统,其中,所述运维服务器中安装有Kibana应用;以及所述运维服务器被配置成:呈现所获取的日志,包括:所述运维服务器被配置成:利用所安装的Kibana应用呈现所获取的日志。4.一种用于采集日志的方法,应用于用于采集日志的系统中的运维服务器,其中,所述用于采...

【专利技术属性】
技术研发人员:李启龙陆振飞杨金锋陈欢王辉
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1