转载本文需注明出处:微信公众号EAWorld,违者必究。
引言:
日志向来都是运维以及开发人员最关心的问题。运维人员可以及时的通过相关日志信息发现系统隐患、系统故障并及时安排人员处理解决问题。开发人员解决问题离不开日志信息的协助定位。没有日志就相当于没有了眼睛,失去了方向。
微服务日渐火热,享受微服务架构带来的种种好处的同时也要承担起由微服务带来的种种困扰。日志管理就是其中一个。微服务有一个很大的特色:分布式。 分布式部署的结果就导致日志信息散落在各地,这样就给日志的采集存储带来了一定的挑战:
如何及时采集日志信息?
如何将日志信息进行汇总?
汇总之后如何对日志信息进行检索分析?
这篇文章将探讨一下日志管理的相关问题。
目录:
一、日志的重要性和复杂性
二、基于微服务的日志中心架构设计
三、日志中心的流程与实现
四、日志中心的关键配置
五、总结
一、日志的重要性和复杂性
要说管日志,在管日志之前有一个先决条件,我们需要知道日志是什么,能做什么,有什么用。援引百度百科的话,它是记录系统操作事件的记录信息。
在日志文件内部记录了当前系统的各项生命体征,就像我们在医院体检过后拿到的体检单,上面反应了我们的肝功能、肾功能、血常规等的具体指标。日志文件在应用系统中的作用就如同体检单,它反应了系统的健康状态、系统的操作事件、系统的变更状况。
日志在系统中扮演着监护人的身份,它是保障高可靠服务的基础,记录了系统的一举一动。运维层面、业务层面、安全层面都有日志的身影,系统监控、异常处理、安全、审计等都离不开日志的协助。
日志种类繁杂,一个健壮的系统可能会有着各种各样的日志信息。
如此复杂多样的日志,是否要一网打尽?哪些又是我们所需要的?这都是我们在设计日志中心架构时需要考虑的问题。
二、基于微服务的
日志中心架构设计
日志中心是微服务生态中不可或缺的一环,是监控的二当家。在此分享一下我们的产品级设计实践,了解一下,在基于微服务的架构,日志中心在技术架构中所处的位置是怎样的,以及如何部署。
在这一设计中,微服务结构由以下几部分组成:
域:一个域是一套注册中心、配置中心、业务监控中心、网关等组成的生态圈。一个域内有可以有多个系统。