分布式链路追踪日志框架 minbox-logging 1.0.2 发布,新增 GlobalLogging 概念

栏目: 软件资讯 · 发布时间: 5年前

内容简介:MinBoxLogging是一款分布式、零侵入式的链路日志分析框架,支持 SpringCloud微服务架构下配置使用,内部封装了 RestTemplate、 OpenFeign两种方式透传链路信息。 1.0.2.RELEASE 更新内容 升级使用minbox-framewor...
#########

MinBoxLogging是一款分布式、零侵入式的链路日志分析框架,支持 SpringCloud微服务架构下配置使用,内部封装了 RestTemplateOpenFeign两种方式透传链路信息。

1.0.2.RELEASE 更新内容

  • 升级使用minbox-framework版本为1.0.2.RELEASE
  • 添加GlobalLogging全局业务日志的概念
  • 支持将GlobalLog日志保存到数据库
  • 修改LocalNotice本次日志通知的优先级
  • 修改AdminNotice上报日志到Admin的优先级
  • 添加支持定时上报到Admin功能支持
  • 添加支持debug、info、error等类型的GlobalLog上报
  • 添加GlobalLoggingMemoryStorage用于内存临时存储一次请求的GlobalLog列表
  • 修改日志上报到Admin时的Content-Type
  • 添加logging_global_logs表结构
  • 支持采集error等级的GlobalLog堆栈错误信息

文档

使用文档请访问:https://gitee.com/minbox-projects/minbox-logging/wikis

最佳集成实践源码

minbox-loggingApiBoot都是属于 minbox-projects开源组织开源框架, ApiBoot来统一做基础框架的集成,也不例外集成 minbox-logging

集成实践源码:ApiBoot Logging AutoConfiguration

实践系列文章

ApiBootminbox-logging基于 SpringBoot进行了封装,针对 client、admin分别提供了对应的 Starter,来快速集成。

集成后的实践文章,可以访问作者博客:https://blog.yuqiyu.com/apiboot-all-articles.html 了解详情。

零侵入式

MinBoxLogging无需使用注解配置采集链路日志,只需要添加 依赖后简单配置 MinboxLogginAdmin的相关 地址服务名称即可,每次在收到请求时就会把请求对应的链路日志详细信息自动上报到 MinBoxLoggingAdmin进行后续分析、告警通知等。

链路日志分析图

分布式链路追踪日志框架 minbox-logging 1.0.2 发布,新增 GlobalLogging 概念

日志客户端

链路日志的采集端,也就是具体的业务服务,只需要添加 minbox-logging-client客户端进行简单的配置就可以实现日志的采集以及日志的异步上报。

日志管理端

对外提供 安全的日志上报功能,通过整合 SpringSecurity来完成 BasicAuth基础认证,管理端接收到采集端上报的日志后会自动将日志存储到数据库,考虑到扩展方便,同样也提供监听 日志上报事件(ReportLogEvent)的方式来自定义存储日志到 消息队列logstash文件等存储介质。

日志管理界面

MinBoxLoggingAdmin提供了界面管理应用程序,通过 VUE前端框架进行编写界面与管理端的接口通讯,实时展示 链路日志日志采集服务列表等信息,可查看每条链路日志的详细信息(包含:请求头、请求参数、响应内容、响应头、状态码、异常堆栈信息等)。

整合Spring Security后的登录界面

分布式链路追踪日志框架 minbox-logging 1.0.2 发布,新增 GlobalLogging 概念

可以直接整合 SpringSecurity来完成 Basic安全认证。

上报日志的服务列表

分布式链路追踪日志框架 minbox-logging 1.0.2 发布,新增 GlobalLogging 概念

请求日志的采集服务在第一次上报时,会自动创建一条服务记录,服务的唯一性是根据: 服务ID + 服务IP + 服务端Port 来进行定义。

在每次上报日志成功后会修改服务的最后一次上报时间。

链路日志列表

分布式链路追踪日志框架 minbox-logging 1.0.2 发布,新增 GlobalLogging 概念

链路日志是我们访问的入口服务生成,比如: bff-user -> user-service,链路日志产生的位置则是 bff-user服务,链路日志是接口 请求的入口也是做出 响应的结束位置,因此我们可以在页面上查看接口的请求 参数详情头信息以及 响应的内容,至于链路日志内的 日志单元目前界面还未做展示,可以根据 traceId链路日志编号自行去数据库查询。

链路日志详情

分布式链路追踪日志框架 minbox-logging 1.0.2 发布,新增 GlobalLogging 概念

每一个请求的链路日志都会包含上图中的全部字段,从请求开始 -> 响应结束一条链路闭合记录。

安全性

MinBoxLoggingAdminUI内部提供了 login.html登录页面,可以整合 SpringSecurity通过配置 loginPageUrl登录跳转地址来使用内置的登录页面,当然也可以自定义登录页面。

可与 MinBoxLoggingAdmin共同使用 SpringSecurity的相同配置提升安全性。

文档

当前版本的文档,请访问Wikis

快速开始

请访问快速开始的 wikis文档来查看并快速接入 MinBoxLogging快速接入文档

源码方式构建

MinBoxLogging使用 Maven进行构建项目。

先决条件

源码拉取需使用 Git,具体使用方式详见安装 Git

源码采用 JDK1.8版本进行编写,请注意修改使用项目的 JDK版本,JDK 1.8下载地址

需本地安装 Maven环境,Maven 下载地址

logging-admin-ui所需 vue-cli-service命令支持,本地需要安装 vue-cli

拉取源码到本地


 
  1. git clone git@gitee.com:minbox-projects/minbox-logging.git

安装到本地Maven仓库


 
  1. mvn install

编译 & 打包生成jar包


 
  1. mvn clean package

Maven仓库依赖构建

MinBoxLogging内的模块都已经上传到 ApacheMavenCenter中央仓库,添加对应的依赖到 pom.xml会自动下载到本地。

欢迎提交贡献代码

MinBoxLogging欢迎广大开发者创建 PullRequest来贡献代码,代码通过审核后会被合并到 master主分支。

开源许可

MinBoxLogging采用 Apache2开源许可。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

时间的朋友2018

时间的朋友2018

罗振宇 / 中信出版集团 / 2019-1

2018年,有点不一样。 从年头到现在,各种信息扑面而来。不管你怎么研判这些信息的深意,有一点是有共识的:2018,我们站在了一个时代的门槛上,陌生,崭新。就像一个少年长大了,有些艰困必须承当,有些道路只能独行。 用经济学家的话说,2018年,我们面对的是一次巨大的“不确定性”。 所谓“不确定性”,就是无法用过去的经验判断未来事情发生的概率。所以,此时轻言乐观、悲观,都没有什么意......一起来看看 《时间的朋友2018》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具