用于 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 配置不起作用