咨询Lambda中运行OTel Collector的优质可行方案
Lambda集成OTel发送遥测数据至Datadog的问题与解决方案咨询
我已尝试将OTel集成到Lambda中一周时间,代码集成环节并无问题,但将追踪数据与指标发送至Datadog却颇具难度:
- 起初试用AWS的ADOT Collector,运行缓慢且未达预期效果,还无法将数据导出至Datadog;
- 随后配置原生OTel Collector,速度有所提升,但Lambda专用的Collector Layer是标准Collector的精简版本,未内置Datadog导出器,依旧无法完成数据发送;
- 之后尝试厂商专属的Datadog Extension for Lambda(知晓存在厂商锁定风险),它宣称完全兼容OTel,但实际无法采集Lambda中由OTel生成的追踪数据,仅能发送其专属Datadog Tracing库生成的数据,且厂商锁定风险更高。
目前我在Lambda中使用OTel的体验不佳,Datadog导出器启动耗时约1秒,严重影响冷启动与高负载场景。
我的问题是:是否存在优质方案可运行OTel Collector,让Lambda能无问题、无延迟地发送遥测数据?我了解可在ECS或EC2上部署Collector,但需解决Lambda访问其端点的问题(ECS/EC2运行在VPC内,我不想将Lambda置于VPC中),且这种部署方式成本较高。或许存在我尚未发现的技巧,希望能尽快找到解决方案!
各方案问题总结
- ADOT Collector Layer:运行缓慢,无法将数据导出至目标后端Datadog
- OTel Collector Layer:速度较快,但无内置Datadog导出器,无法将数据导出至目标后端Datadog
- Datadog Extension for Lambdas Layer:速度最慢,无法采集OTel追踪与指标,仅支持其专属库生成的数据
内容的提问来源于stack exchange,提问作者knighttru
相关产品推荐
相关产品推荐

