请教关于分布式服务状态检测以及链路问题

119 天前
 Curiosity777

场景为一个分布式环境,大概十几个服务,不同团队分别维护自己,历史原因链路比较长,且复杂

目前的需求是

  1. 如何监控这十几个服务工作是否正常
  2. 当一个功能模块出现问题的时候,如何快速定位到是谁的服务出了问题
  3. 如何对指定的功能模块做监控,如果出现问题,及时报警,通知相关人员

了解到分布式链路追踪,trace-id 什么的,不知道现在有么有更先进的,最好是无侵入的方案

1489 次点击
所在节点    Java
7 条回复
crossoverJie
119 天前
推荐直接使用 OpenTelemetry 一步到位,Java 的话使用 agent 完全无侵入。

https://opentelemetry.io/docs/zero-code/java/agent/getting-started/
Curiosity777
119 天前
@crossoverJie 谢谢我去了解一下
Curiosity777
119 天前
@crossoverJie 发现好像不支持 openfegin 呀,有解决办法吗大佬
chenzezeya
119 天前
@Curiosity777 feginclient 改造一下,header 里面穿 traceid
foolishcrab
119 天前
单说这个场景的话,一个接入方便的包>>>agent>每个服务开发手动串 trace

你的需求其实是一个很庞大的话题,需要看你公司基建,和你个人在公司的话语权来决策。
crossoverJie
118 天前
@Curiosity777 #3 https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md#libraries--frameworks

OTel 目前是支持 okhttp/Java Http Client/HttpURLConnection/Google HTTP Client 挺多的 http 客户端,我看 feign 也支持这些。

理论上是可以支持的,你可以手动切换下 feign 的客户端为 OTel 所支持的试试。
wolfie
118 天前
skywalking ,agent 无侵入的。
基本功能就是定位问题的,拿到 tid 秒定位。

一般链路追踪本身不提供警报功能,即使搭配一些工具也是针对系统整体运行情况。

你就让所有团队,接口报错都往一个 mq 扔错误上下文。
消费时候在自定义警报通知。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1068341

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX