高哲技术博客 高哲技术博客
首页
编程
爬虫
运维
硬件
收藏
归档
关于

嘉美伯爵

前途光明,无需畏惧
首页
编程
爬虫
运维
硬件
收藏
归档
关于
  • 架构

  • 思想

  • 语言

  • 设计模式

  • 微服务

    • 高并发

    • 服务发现

    • 配置中心

    • 微服务框架

    • 可观测性

    • 网关

      • apisix安装及使用
      • X-Request-ID日志追踪使用
        • 说明
        • 入口系统
        • 内部系统
        • 参考
  • 数据分析

  • 人工智能

  • 区块链

  • 数据结构

  • 技术调研

  • 性能优化

  • 生产问题

  • 编程
  • 微服务
  • 网关
fovegage
2023-09-19
目录

X-Request-ID日志追踪使用

# 说明

# 使用改值对日志进行标志,可以过滤出本次请求的日志(便于单个微服务快速定位问题)
当您操作客户端访问的 WebService 时,可能难以将请求(客户端可以看到)与服务器日志(服务端可以看到)相关联。
X-Request-id 的想法是客户端可以创建一些随机 ID 并将其传递给服务器。 然后,服务端在其创建的每个日志语句中包含该 ID。 如果客户端收到错误,它可以在错误报告中包含 ID,允许服务端开发者查找相应的日志语句(而无需依赖时间戳,IPS等)。
由于此 ID 由客户端随机生成,因此它不包含任何敏感信息,也不会侵犯用户的隐私。 由于每个请求创建的 ID 唯一,因此它对追踪用户信息毫无帮助。
1
2
3
4

# 入口系统

# 使用apisix的 x-request-id
1

# 内部系统

# https://github.com/mercari/go-grpc-interceptor/blob/master/xrequestid/README.md
# 在拦截器中添加 request_id 或者使用链路追踪的id
# 在 metadata 里面设置字段
service_name、request_id、error_msg

import grpc
channel = grpc.insecure_channel('your_server_address')
metadata = [('X-Request-id', 'your_request_id')]
stub = YourServiceStub(channel)
response = stub.YourRpcMethod(request, metadata=metadata)
1
2
3
4
5
6
7
8
9
10

# 参考

  • Istio可观测性(链路) (opens new window)
  • What is the X-REQUEST-ID http header? (opens new window)
  • 对Request-ID的一些认识 (opens new window)
上次更新: 2023-09-26 17:02:27
apisix安装及使用
常见的发布策略

← apisix安装及使用 常见的发布策略→

最近更新
01
token embed和postion embed
06-10
02
k8s pod日志排查问题
10-24
03
golang内部私服建设方案
10-21
更多文章>
Theme by Vdoing | Copyright © 2018-2025 嘉美伯爵 | 鲁ICP备20001560号-4
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式