哨兵系统处理哨兵系统处理电子的微型信息的信息异常,接口提示。
因此进行了分析,记录如下。
Sentry是一个跨平台应用程序错误跟踪系统,专注于错误报告并支持Web Front -End,移动应用程序和游戏。此反馈问题是Windows PC End Electron客户端。官方网站:https://seentry.i/
客户的沟通可能更清楚微型机。以Windows为例。每个Windows操作系统在“蓝屏崩溃崩溃)中意外遇到错误(例如“蓝屏崩溃))。本文件包含有关错误属性的信息,例如倒塌前和崩溃期间的系统状态。例如运行服务和流程以及每个服务中使用的资源。在系统外,它还可以生成一个小型文件。在此示例中,它是由电子客户端程序生成的小型群岛。
如果您遇到麻烦,则可以先抓取包裹,因为它是HTTPS的请求包,因此这里需要特殊处理。
找到请求时没有问题,HTTP放回正确的结果和相应的EventID
有问题反馈的学生,当上传的小型文件是一个小文件时,例如300k没有问题。当将文件上传到超过1M时,会有异常,怀疑当Sentry Backend处理时会出现一些问题文件上传。
但是,该系统完全不熟悉,只能对其进行详尽的分析,并找到相应的nginx以查看请求运行的位置。通过查看当前的Nginx配置文件
您可以看到该请求转到了继电器的上游服务。这项服务是用Rust编写的服务。首先,搜索处理文件上传部分的逻辑。
发现大小仅限于max_attachment_size参数。
max_attachment_size此参数的默认值为50MB
这是有道理的,我们不修改无声值,我们不应触发文件上传验证错误。问题应在后续逻辑中,即在上传文件上传后,继续处理的部分将发送到Kafka到后面的后面。服务继续处理。
我找到了继电器打印的日志
您可以看到,生锈打印提示发送到kafka的消息太大,相应的代码如下。
在中继服务TCPDUMP软件包中,它可以同步确认,因为不仅我单独使用它,而且如何找到相应的包?
这是一个可以过滤Wireshark中袋子中内容的提示,因为我发现Minidump文件的文件标头具有魔术数字“ MDMP”
因此您可以过滤。输入Wireshark,您可以找到相应的Kafka发送该记录。
然后使用关注TCP流以查看该软件包发送的整个过程。
这里有很多袋子。如何快速定位错误的卡夫卡包。Wireshark足够聪明,可以分析Kakfa包。这里有一个表演操作。Kafka的头上有两个错误字段。IFNO异常,此值等于0
在这里,我们希望看到non -0,我们可以这样过滤。
这次,我们真的可以确认我们的微型袋确实发生在将其发送给Kafka时。
Minidump分析(Python服务)的分析文件后来发现该文件尚未完成,分析失败了。
通过确认同学通过操作和维护,Kafka集群是新建的。消息主体的大小使用kakfa 1m(message.max.bytes)的默认值,因此它将此值动态调整为50m,然后再次测试。它成功了。
迄今为止。
这个项目中都有所有语言,Rust,Python等。