SkyWalking 中怎么排除4xx的请求

1. 问题背景

今天把服务集成到Skywalking中,但是数据看起来很差劲,success rate 只有70%。还好还没被老板看到。不然他会严重怀疑我写的是啥东西,到底能不能上线给客户提供服务。甚至,连顶替我的人都物色好了。

无论怎么样,咱高低得把数据拉到98%以上才靠谱啊。100%是不可能的,毕竟100%就是这个系统不需要我也能正常跑,咱主打的就是一个若即若离。让老板认为这个系统真的能提供服务,但还需要我来维护,此计甚妙。

2. 尝试解决

解决问题最简单的三步法:

  1. Google 搜索
  2. Bing 搜索
  3. Baidu 搜索

最后真让我找到一个 ...... github issue:Skywalking ignore specific http.status_code · Issue #11011 · apache/skywalking (github.com)

我还和吴晟大佬对线了一把,最后吴晟大佬给我指两条明路:

  1. 改 Java Agent 插件代码
  2. 改显示表达式

咱就是说,开发就应该知难而上。应该在绝境中历练一手出神入化的crud本事,所以选那条路不用多说了吧?

那肯定选第二条路啊,第一条谁选谁SB,不仅要改代码,还要打jar和镜像出来同步给其他需要引入的业务组,万一服务端不止一种语言,你就明白悔不当初是怎么悔的了。

3. 解决步骤

既然人家吴晟大佬都指路了,那咱就直接上吧,拿出人生三问: 第一问:你是谁? 第二问:你从哪里来? 第三问:要到那里去?

第一问:你是谁? 这东西真的难写,自己看去:Analysis Native Streaming Traces and Service Mesh Traffic | Apache SkyWalking

不想看也成,总而言之言而总之,就是一些常用的参数,系统默认写一个计算的方式(表达式)给他算好放着。因为这个功能需要有很高的扩展性,毕竟世界之大无奇不有嘛,我不可能为每个人都做一遍需求。

所以呢,搞一套东西出来,能配置或者定义参数,然后你们爱怎么用怎么用,我就不管了。明白我意思吧?不明白那就骂吧,我真写不出来了。

第二问:你从哪里来?

要不就系统默认,要不就自己改的呗。不然还能自己按照你的需求给你参数啊。就是GPT来了也不行,我问了。

(好吧。我承认我做了手脚)

麻蛋,半天了,到底咋改你倒是说啊? 这不就来了吗?看我操作。对比着sla的参数抄一遍,在 core.oal 中把成功条件改一下

oal 复制代码
endpoint_success = from(Endpoint.*).percent(httpResponseStatusCode < 500);

service_success = from(Service.*).percent(httpResponseStatusCode < 500);

service_instance_success = from(ServiceInstance.*).percent(httpResponseStatusCode < 500);

原来成功的条件是 status == true 上报 agent 捕获到 status >= 400 就会上报错误 那我们改成 httpResponseStatusCode < 500 没毛病吧?

神经病啊?httpResponseStatusCode 怎么来的?

赶快看表达式去,要不你照着抄吧?

第三问:要到那里去?

既然我们参数都定好了,那咋用呢? 别急,看我操作。

先进入编辑模式

添加一个表达式,为什么添加不直接改?只能说我菜,不敢改,只敢加。不过还有一个用处,前端如果胡乱调用,我们可以拿着这图喷他。

搞一个这种小卡片,进入编辑默认,然后抄左边那个success rate就行了

编辑默认改的东西,别忘记保存了。说多了都是泪啊

相关推荐
可观测性用观测云13 小时前
OpenTelemetry WebSocket 监控终极方案:打通最后一公里
监控
可观测性用观测云3 天前
观测云接收 OpenTelemetry Collector 数据最佳实践
监控
SRETALK4 天前
夜莺开源监控,模板函数一览
运维·监控·自动化运维
可观测性用观测云7 天前
使用观测云打造企业级监控告警中心
监控
可观测性用观测云10 天前
DataKit 采集器敏感信息加密最佳实践
监控
可观测性用观测云22 天前
Undertow 可观测性最佳实践
监控
可观测性用观测云24 天前
Promtail 对接日志最佳实践
监控
试着1 个月前
零基础学习性能测试第二章-JVM如何监控
jvm·学习·零基础·性能测试·监控