本发明涉及信息技术领域,尤其涉及一种基于分布式架构的云日志采集方法,解决系统中日志的收集和查询问题。
背景技术:
在一个信息系统里,日志有着至关重要的作用,日志可以记录系统的所有行为,可以通过这些行为分析系统的使用情况,进而可以分析可优化的方向。特别是系统使用中出现的异常信息等,通过这些信息可以及时提醒相关维护人员做出响应。
为了实现系统各种日志的自动收集和实时查询分析以及第三方日志的快速导入,需要一个日志服务系统完成这一过程。分析了以下几个开源组件,作为系统的组成部分。
elasticsearch
作为终极日志的存储组件,可实现分布式的存储、实时搜索和海量数据分析,并可将日志持久化到磁盘。而且提供开源的restfulapi接口实现日志的直接导入。
logstash
可以收集各种格式和来源的数据,可按需要的存储格式编写解析脚本,实现数据格式的统一化输出。
filebeat
轻量化的日志采集组件,可在服务器上安装,实现日志的持续收集和发送。
kafka
一种高吞吐量的分布式发布订阅消息系统,能够持久性和容错性的存储日志流,可以解决日志收集的速度和处理的速度不一致问题。
技术实现要素:
为了方便、快速、自动的收集日志,以及实时的查询分析日志,本发明提出了一种基于分布式架构的云日志采集方法,用于收集和存储系统中的各种日志进行分析展示,解决系统中日志的收集和查询问题。
本发明的技术方案是:
一种基于分布式架构的云日志采集方法,
主要经过环境部署和系统内日志收集过程,自动收集日志并持久化到磁盘,实现实时搜索和分析,并通过系统日志的展示掌握平台的使用情况;
其中,
环境部署,
根据组件的特性,需要部署kafka集群,elasticsearch集群,logstash,每台服务器安装filebeat组件,最终搭建日志系统框架,
搭建日志系统框架步骤为:
1)每台服务器配置filebeat要收集的日志路径,设置日志发送到的传输管道kafka的地址;
2)在logstash中配置所有日志来源的解析文件,并设置日志的来源(kafka地址)以及发送到elasticsearch集群的地址;
3)启动所有组件,开始收集日志。
进一步,日志主要包括以下日志内容:
1)系统服务器自身日志;
2)系统服务器上部署应用的日志;
3)第三方应用的日志;
4)系统服务日志。
进一步的,
系统内日志收集过程包括:
自动收集和实时查询分析日志以及第三方日志的快速导入。
具体技术实现过程
系统内日志收集过程:filebeat定时扫描要收集的日志文件,将日志发送到日志传输管道kafka,经kafka输送到logstash,按解析文件解析日志,输出特定的日志格式到elasticsearch集群,最后将日志持久化到磁盘。
可以通过elasticsearchapi接口查询分析日志,利用echarts进行界面展示。
第三方应用日志可以通过封装的elasticsearchapi接口,将日志直接存储到elasticsearch。
本发明的有益效果是
可以快速自动收集业务系统的服务日志、应用日志、虚机日志,并持久化到磁盘,同时可实现实时搜索和分析。
另外第三方的日志也可直接导入日志系统,持久化到磁盘。
本发明在行业云平台项目中得到了应用,实现了服务、虚机、应用的日志收集和分析。
通过系统日志的展示可以掌握平台的使用情况,特别是可以有效的记录上云应用的访问日志,有效的帮助分析应用。
附图说明
图1是搭建日志系统框架示意图。
具体实施方式
下面对本发明的内容进行更加详细的阐述:
本发明的一种基于分布式架构的云日志采集方法,解决业务系统日志的自动收集,快速查询、分析问题。主要包括以下日志内容:
1)系统服务器自身日志;
2)系统服务器上部署应用的日志;
3)第三方应用的日志;
4)系统服务日志;
本发明通过以下方案进行实施:
环境部署
根据组件的特性,需要部署kafka集群,elasticsearch集群,logstash,每台服务器安装filebeat组件,最终搭建日志系统框架,如图1所示
1)每台服务器配置filebeat要收集的日志路径,设置日志发送到的传输管道kafka的地址;
2)在logstash中配置所有日志来源的解析文件,并设置日志的来源(kafka地址)以及发送到elasticsearch集群的地址;
3)启动所有组件,开始收集日志。
具体技术实现过程
系统内日志收集过程:filebeat定时扫描要收集的日志文件,将日志发送到日志传输管道kafka,经kafka输送到logstash,按解析文件解析日志,输出特定的日志格式到elasticsearch集群,最后将日志持久化到磁盘。
通过elasticsearchapi接口查询分析日志,利用echarts进行界面展示。
第三方应用日志可以通过封装的elasticsearchapi接口,将日志直接存储到elasticsearch。
本发明在行业云平台项目中得到了应用,实现了平台所有日志的收集展示,也将第三方应用日志接入到平台日志系统中实现了第三方日志的存储、分析和展示。