1 天前 / Yourtion
全文约 4077 字,预计阅读时间为 12 分钟最近想给项目添加一个简单的分布式请求跟踪功能,从前端发起请求到网关,再从网关调用 SpringCloud 的微服务,这些过程中希望能从日志中看到一个分布式 ID 的链路,通过请求的 ID 可以追踪整一条链路,方便问题的排查。 现成的方案自然是使用 SkyWalking 、 Spring Cloud Sleuth 、Zipkin 之类的组件,但是想到主要的目的记录一个可以一直贯通各个服务的 ID,方便日志查询,也就不想引入太多复杂的组件,最终决定通过 MDC 在日志中输出追踪的 ID,然后在 Feign 和 RestTemplate 中将请求 ID 在微服务中传递。
23 天前 / Hollis
GitHub 17k Star 的 Java 工程师成神之路,不来了解一下吗!之前写过一篇文章《明明有自动清理,日志还是把我的服务干爆了!》,介绍过一次大促故障,是因为日志量激增,导致服务器差点挂掉。 在那次问题发生之后,我开发了一个简单的日志降级的小工具,通过配置的方式,动态推送日志级别,动态修改线上的日志输出级别。并且把这份配置的修改配置到我们的预案平台上,大促期间进行定时或者紧急预案处理。 那么,这篇文章就来简单介绍下思路以及代码实现。
25 天前 / 猿天地
某日中午,收到告警,有一笔订单下单失败了。赶紧去 Cat 看了下错误信息,如下: 异常信息 Web 应用调用订单服务的 RPC 接口报错了,一看错误很自主的认为这是一个序列化的问题。后面排查下来发现压根就不是,这个错误报的有点...... 想着是不是参数中有什么特别的东西,然后发现也没有什么特别的。这个错误是某个商品下单才会出现,不是所有的商品都会出现这个问题。 然后尝试在本地复现,有这么一行关键的代码,贴了一部分,完整的作用是埋点打日志。 String.format("UnifiedOrderServiceImpl.makeOrder 创建订单...
93 天前 / 沉默王二
空了的时候,我都会在群里偷偷摸摸地潜水,对小伙伴们的一举一动、一言一行筛查诊断。一副班主任的即时感,让我感到非常的快乐,略微夹带一丝丝的枯燥。 这不,我在战国时代读者群里发现了这么一串聊天记录: 竟然有小伙伴不知道“打日志”是什么意思,不知道该怎么学习,还有小伙伴回答说,只知道 Log4j! 有那么一刻,我遭受到了一万点暴击,内心莫名的伤感,犹如一匹垂头丧气的狗。因为网络上总有一些不怀好意的人不停地攻击我,说我写的文章入门,毫无深度——他们就是我命中注定的黑子,不信你到脉脉上搜“沉默王二”,就能看到他们毫无新意的抨击。
127 天前 / reesunhuang
前言 Sentinel是如何记录流控日志的,以及日志和索引的格式是怎么样的。本文将对此做个梳理。 一、流控日志记录 1.日志频率 流控日志每秒记录一次。 SCHEDULER.scheduleAtFixedRate(new MetricTimerListener(), 0, 1, TimeUnit.SECONDS); 2.日志格式 说明 时间戳例如:1598276503000格式化的日期例如:2020-08-24 21:41:43resource名称例如:Get:/hellopassQps通过的Qps,即:在获取令牌(entry)统计的QpsblockQps阻塞的Qps,即:在抛出BlockException时统计的QpssuccessQps成功的QPS...
147 天前 / sjf0115
本文根据马金韬老师在〖deeplus 直播第 233 期〗线上分享演讲内容整理而成。(文末有获取本期 PPT& 回放的方式,不要错过) 马金韬 爱奇艺数据中台负责人 目前主要负责爱奇艺数据中台的规划和建设,对广告业务和大数据体系都有一定的了解; 北邮本硕毕业,先后在百度、阿里巴巴、墨迹和爱奇艺等多家公司从事广告和大数据方向的工作。 本次分享主要从以下部分展开: 数据中台的产生:数据工作的痛点、数据中台的产生、中台的实质; 爱奇艺数据中台的定义:理解数据中台、数据中台的发展历程、输出和定位; 爱奇艺数据中台的建设:中台建设、Pingback 体系、...
150 天前 / 后场技术
之前看了网上发的日志级别的使用规范和「日志管理与分析权威指南」里面的日志级别规范和说明,具体内容如下。 JAVA Log4j 的 8 个日志级别 log4j 定义了 8 个级别的 log(除去 OFF 和 ALL,可以说分为 6 个级别),优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL。 「ALL」: 最低等级的,用于打开所有日志记录。 「TRACE」 : designates finer-grained informational events than the DEBUG.Since:1.2.12,很低的日志级别,一般不会使用。
218 天前 / xF0rk
女主宣言 最近因为云原生日志收集的需要,我们打算使用 Filebeat 作为容器日志收集工具,并对其进行二次开发,因此笔者将谈谈 Filebeat 收集日志的那些事儿。本文不涉及过具体的源码分析,希望通过阅读您可以了解 filebeat 的基本使用方法和原理,姑且算是 filebeat 的入门吧。 PS:丰富的一线技术、多元化的表现形式,尽在“360 云计算”,点关注哦! 1 前言 开源日志收集组件众多,之所以选择 Filebeat,主要基于以下几点: 功能上能满足我们的需求:收集磁盘日志文件...
218 天前 / 小姐姐味道
原创:小姐姐味道(微信公众号 ID:xjjdog),欢迎分享,转载请保留出处。 前两天,我们安利了一个轻量级的日志收集工具 Loki。有多轻呢?假如她是个姑娘的话,我觉得是可以在手掌上跳舞的。你说她年轻?这不正是魅力所在么? 日志系统新贵 Loki,确实比笨重的 ELK 轻 对此不太熟悉的同学,可以先看这篇文章。可以看到,他是 grafana 家族的,界面支持上自然有保证。有了它,就不用在 grafana 和 kibana 之间来回切换了。 但是,事情并不是那么简单。作为一个日志收集工具,不可避免的要有 agent 收集端、日志存储端、日志展现端。
222 天前 / lmjben
Typescript 使用日志最近这两年,有很多人都在讨论 Typescript,无论是社区还是各种文章都能看出来,整体来说正面的信息是大于负面的,这篇文章就来整理一下我所了解的 Typescript。 本文主要分为 3 个部分: Typescript 基本概念Typescript 高级用法Typescript 总结 Typescript 基本概念至于官网的定义,这里就不多做解释了,大家可以去官网查看。Typescript 设计目标 [1] 我理解的定义:赋予 Javascript 类型的概念,让代码可以在运行前就能发现问题。 Typescript 都有哪些类型 1、Typescript 基本类型,也就是可以被直接使用的单一类型。
225 天前 / 公众号_肥朝
小声逼逼众所周知,日志是排查问题的重要手段。关于日志设计,以及怎么根据从【用户报障】环节开始到秒级定位问题这个我们下一期说(绝非套路),这一期,主要讲一下,在没有异常日志的情况下,如何定位问题。没有日志当真能排查问题,不会是标题党吧! 案例一从最大的同性交友网站中拉取【dubbo-spring-boot-project】的代码。 然后把 demo 跑起来。 本场景是由真实案例改编,因为公司代码比较复杂也不方便透露,而这个 demo 在 github 上大家都能找到,既保证了原汁原味,又能让大家方便自己体验排查过程。
261 天前 / 九卷
“ 日志数据是最常见的一种海量数据,以拥有大量用户群体的电商平台为例,双 11 大促活动期间,它们可能每小时的日志数量达到百亿规模,海量的日志数据暴增,随之给技术团队带来严峻的挑战。 本文将从海量日志系统在优化、部署、监控方向如何更适应业务的需求入手,重点从多种日志系统的架构设计对比;后续调优过程:横向扩展与纵向扩展,分集群,数据分治,重写数据链路等实际现象与问题展开。 日志系统架构基准 有过项目开发经验的朋友都知道:从平台的最初搭建到实现核心业务,都需要有日志平台为各种业务保驾护航。
269 天前 / 鱼儿塘
openstack 中的日志由 oslo_log 统一实现,延续了 openstack 一贯的封装大法,以十分友好的方式将接口提供给各个组件使用。 context 中的 TLS 在 oslo_context 库的 context.log 入口定义了一个 TLS 线程变量 _request_store = threading.local()凡是引入该 context 的都会首先初始化这样一个变量 oslo_context 库提供一个接口供调用方更新自己的 contextoslo_context/context.log#RequestContext def update_store(self): """Store the context in the current thread.""" _request_store.context = self 同时提供这样一个接口获取当前的 context 实例 ...
274 天前 / 张张
日志实现框架 Log4jLog4j 是目前最为流行的 Java 日志框架之一,1999 年发布首个版本,2012 年发布最后一个版本,2015 年正式宣布终止,官方也已不建议使用,并逐步被 Logback 和 Log4j2 等日志框架所替代,可是无法掩饰光辉历程,以及优良的设计理念。尽管 Log4j 有着出色的历史战绩,但早已不是 Java 日志框架的最优选择,还在使用该日志框架的项目往往是历史遗留问题。 Log4j API 核心类: 日志对象:org.apache.log4j.Logger 日志级别:org.apache.log4j.Level 日志管理器:org.apache.log4j.LogManager 日志仓储:org.apache.log4j.spi.LoggerReposit...
277 天前 / 小姐姐味道
原创:小姐姐味道(微信公众号 ID:xjjdog),欢迎分享,转载请保留出处。 关于日志收集的文章,xjjdog 已经写了不少了,比如下面这八篇文章。今天主要介绍一下关于日志的划分。工具虽然有力,落地才能有效。 [1] 这么多监控组件,总有一款适合你 [2] elkb 实践经验,再赠送一套复杂的配置文件 [3] 昔日教人类用火的 prometheus,如今在努力报警 [4] 你的野花,朕的 kibana [5] 2w 字长文,让你瞬间拥有「调用链」开发经验 [6] 这一轮,skywalking 胜出 [7] 冷门 instrument 包,功能 d 炸天 [8] 微服务不是全部...