aws xray如何实现应用log和trace的关联关系

参考资料

ecs容器环境下应用生成的trace信息没有log关联,但是在lambda环境中测试时发现可以进行关联

检查发现,trace的rawdata中存在aws的cwlog字段

在控制台查看网络请求,此时会向cloudwatchlog服务发送log insight请求

当我们在控制台点击跳转到loginsight时,语句如下。

复制代码
fields @log, @timestamp, @message
| filter @message like "1-66570681-3cb9b1bc917ab87c3dd8b303" or @message like "665706813cb9b1bc917ab87c3dd8b303"
| sort @timestamp, @message desc

经过以上步骤我们对两个问题有所了解

  • xray如何找到日志组?通过aws.cloudwatch_log属性
  • log如何呈现在xray控制台?通过发送loginsight的xhr请求

那么,接下来我们需要考虑如何在ecs应用中实现以上条件。参考链接(https://stackoverflow.com/questions/76000811/search-cloudwatch-logs-for-aws-xray-trace-id-in-code)中的说明

For API Gateway, Lambdas, the application logs group name are embedded in X-Ray traces out of box, so you don't need to do anything specially.

For the trace Id injection to application logs, today it is only supported by X-Ray/OTel Java SDKs. For Javascript applications, you'll need to inject and print X-Ray trace ids AWS-XRAY-TRACE-ID: 1-5d77f256-19f12e4eaa02e3f76c78f46a to your application log entries yourself.

对于条件1,我们需要编辑segment,加入aws.cloudwatch_log属性

对于条件2,我们需要在log内容中注入traceID

参考链接(https://blog.csdn.net/sinat_41567654/article/details/129317614)中的步骤创建xray和ecs集成环境,加入以下额外逻辑

  • 在segment中加入aws.cloudwatch_log属性
  • 模拟输出了一条日志并嵌入traceID
js 复制代码
app.get('/', (req, res) => {
    var document = AWSXRay.getSegment();
    // 加入aws.cloudwatch_log属性
    document.aws.cloudwatch_logs = [
        {
            "log_group": "/ecs/ecs-xray-demo-fargaet"
        }
    ]
    traceId = document.trace_id;
    console.log(document)
    // 模拟输出了一条日志并嵌入traceID
    console.log("2019-09-10 18:58:30.844 [nio-5000-exec-4]  AWS-XRAY-TRACE-ID: " + traceId + " WARN 1 - Your logging message here")
})
app.use(AWSXRay.express.closeSegment());

查看ecs的应用日志如下,trace和log成功关联

查看xray服务的控制台成功实现关联

相关推荐
Sheffield5 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
DolitD10 小时前
云流技术深度剖析:国内云渲染主流技术与开源和海外厂商技术实测对比
功能测试·云原生·开源·云计算·实时云渲染
翼龙云_cloud10 小时前
阿里云渠道商:阿里云 ECS 从安全组到云防火墙的实战防护指南
安全·阿里云·云计算
YongCheng_Liang10 小时前
从零开始学虚拟化:桌面虚拟化(VDI)入门指南(架构 + 产品 + 部署)
运维·云计算
万物得其道者成11 小时前
阿里云 H5 一键登录接入实战:前后端完整实现
阿里云·云计算·状态模式
翼龙云_cloud1 天前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
阿里云大数据AI技术1 天前
全模态、多引擎、一体化,阿里云DLF3.0构建Data+AI驱动的智能湖仓平台
人工智能·阿里云·云计算
摇滚侠1 天前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
m0_694845571 天前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
ESBK20251 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信