我正试图让AWS X射线工作在一个多容器的豆柄应用程序,如描述的在医生里。我发现了一个社区建立的X射线容器,我可以运行在我的应用程序:pottava/X射线:2.0。根据docker stats
和docker ps
,这个容器正在运行并接收/发送网络流量(跟踪通过UDP发送到容器)。但是AWS控制台中没有显示跟踪数据。
我还没有像建议的那样通过.ebextensions/
配置文件启用X射线.尝试这样做失败了,部署到豆茎。实际上,多容器环境并不是一个支撑平台。因此,虽然很多文档提到在Bean秸秆上使用X射线,但我不确定是否有一种方法可以在我的多Docker环境中配置它。
发布于 2018-01-15 22:44:13
您已经链接到的社区构建的Docker容器应该按照AWS弹性Bean秸秆中的要求工作。
您是否将必要的AWSXrayWriteOnlyAccess
管理策略添加到您的ElasticBean秸秆实例配置文件中?
要进一步排除故障,请从守护进程的Docker容器中找到AWS守护进程日志。日志将报告对PutTraceSegments
API的任何尝试调用,以及可能导致的任何错误。在链接的Docker容器中,这个/var/log/xray-daemon.log
。
发布于 2021-04-27 17:12:02
是的,但它并不像X射线守护进程那样简单,它可以通过.ebextensions启用,如在AWS弹性豆柄上运行X射线守护进程中所描述的那样。这在Docker平台上是行不通的(如果没有重要的网络攻击)。根据这篇文章,Elastic Beanstalk does not provide the X-Ray daemon on the Multicontainer Docker (Amazon ECS) platform
。另外,值得注意的是,在本文“配置AWS X射线调试”中,没有一个Docker平台被列在支持的平台下。
对于Docker
平台(Amazon 2),您可以使用docker在应用程序旁边的容器中运行X射线守护进程。下面是我在一个简单API应用程序中使用的docker-compose.yml
的一个简单示例:
version: "3.9"
services:
api: # my app instrumented with the AWS X-Ray SDK
build:
context: .
dockerfile: Dockerfile-awseb
ports:
- "80:3000"
environment:
- AWS_XRAY_DAEMON_ADDRESS=xray:2000
env_file: .env
xray:
image: "amazon/aws-xray-daemon"
对于Multicontainer
平台,本文中的Scorekeep示例测试Amazon应用程序展示了在ElasticBean秸秆中的多容器码头环境中进行检测的一个更详细的示例。
一些高级技巧.
AWSXrayFullAccess
)中描述的必备权限。在使用受支持的平台时,您可能会在配置AWS X射线调试中找到其他指导。
https://stackoverflow.com/questions/48120756
复制相似问题