在 golang xray 客户端中如何进行角色扮演?
怎么入门Golang编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面编程网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《在 golang xray 客户端中如何进行角色扮演?》,涉及到,有需要的可以收藏一下
问题内容根据 https://aws.amazon.com/xray/faqs/:
q: my application components run in their own aws accounts. can i use x-ray to collect data across aws accounts?
yes, the x-ray agent can assume a role to publish data into an account different from the one in which it is running. this enables you publish data from various components of your application into a central account.
我知道我可以扮演这样的角色:
st := sts.newfromconfig(awsconf)
creds := stscreds.newassumeroleprovider(st, "myrolearn")
awsconf.credentials = aws.newcredentialscache(creds)
我知道我可以使用这些凭据创建 xray 服务:
import xrayv2 "github.com/aws/aws-sdk-go-v2/service/xray"
xrayservice := xrayv2.newfromconfig(awsconf)
问题在于,xray 服务是为了直接与 xray api 交互而设计的,它没有 xray 客户端提供的任何奇妙魔力。 我知道的 xray 客户端是这样配置的:
import "github.com/aws/aws-xray-sdk-go/xray"
xray.Configure(xray.Config{
DaemonAddr: "",
ServiceVersion: "",
Emitter: nil,
SamplingStrategy: nil,
StreamingStrategy: nil,
ExceptionFormattingStrategy: nil,
ContextMissingStrategy: nil,
LogLevel: "",
LogFormat: "",
})
无论我使用的是 aws 还是 aws-v2 库,我都没有看到可以为 xray 客户端提供任何类型的 aws conf/凭证提供程序的地方。我可以创建一个自定义发射器,但我希望避免这种情况。
关于如何向 github.com/aws/aws-xray-sdk-go/xray
提供凭证缓存有什么想法吗?
正确答案
另一个 S.O.问题帮助我误解了我的误解。 AWS X-Ray 客户端库仅将信息发布到本地运行的守护程序。因此,代码不负责将痕迹发送到 X 射线。
按照此处的步骤操作 - https://aws.amazon.com/blogs/compute/application-tracing-on-kubernetes-with-aws-x-ray/
并设置此变量 _ = os.Setenv("AWS_XRAY_DAEMON_ADDRESS", "xray-service.kube-system:2000")
,我们能够将库指向本地守护程序。
然后是守护进程负责转发,因此我们通过覆盖 xray ConfigMap 中的 RoleArn
来覆盖守护进程运行的角色。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341