用于 Google Cloud 外部服务器的 agentPath 上的 Stackdriver GCP 多个代理

Posted

技术标签:

【中文标题】用于 Google Cloud 外部服务器的 agentPath 上的 Stackdriver GCP 多个代理【英文标题】:Stackdriver GCP multiple agents on agentPath for server outside Google Cloud 【发布时间】:2018-11-06 15:33:00 【问题描述】:

我正在尝试将 Google Cloud Stackdriver 1) Debugger 2) Profiler 一起用于部署在 Google Cloud 之外的服务器。

我的 Stackdriver 调试器工作正常。我可以通过以下方式添加调试代理:

-agentpath:/opt/cdbg/cdbg_java_agent.so=--cdbg_extra_class_path=/mydirtoclassdirectory

现在我正在尝试添加一个新代理,该代理将用于文档中提到的分析器,其方式如下:

-agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=myservice,-cprof_service_version=1.0.0 \
[JAVA OPTIONS] -jar PATH/TO/YOUR/JARFILE [PROGRAM OPTIONS]

但是如何在单个代理路径中添加两个不同的代理(profiler_java_agent.so 和 cdbg_java_agent.so)?

Profiler 文档:https://cloud.google.com/profiler/docs/profiling-java

调试器文档:https://cloud.google.com/debugger/docs/setup/java

【问题讨论】:

【参考方案1】:

这在单个代理路径中似乎是不可能的。我会推荐使用多个代理路径:

示例: java -agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=myApp -jar myApp.jar -agentpath:/opt/cdbg/cdbg_java_agent.so=--cdbg_extra_class_path=/mydirtoclassdirectory

请参阅fluentd documentation,了解如何定义多条路径。另请注意,字符串因应用程序而异。

【讨论】:

以上是关于用于 Google Cloud 外部服务器的 agentPath 上的 Stackdriver GCP 多个代理的主要内容,如果未能解决你的问题,请参考以下文章

有关如何从 Google Cloud Platform 调用外部网络服务的任何信息?

如何在 Google Cloud Dataflow 中设置到外部数据库服务器的 SSH 隧道?

用于 NRT 数据应用的 Google Cloud DataFlow

google-cloud-platform:外部 DNS 配置不起作用

Kubernetes 更新更改了 Google Cloud 中节点的静态+保留外部 IP

无法通过 Google Cloud VM 的外部 IP 访问 nginx 容器