首页 > 解决方案 > Google Cloud Stackdriver Profiler GKE 安装

问题描述

我有一个在 Google Kubernetes Engine 上运行的 java dropwizard 微服务。我正在尝试将 stackdriver profiler 集成到我的项目中。

我按照官方文档中的描述添加了代理。当我尝试运行 docker 容器时,出现以下错误:

Error occurred during initialization of VM
Could not find agent library /opt/cprof/profiler_java_agent.so in absolute path, with error: Error relocating /opt/cprof/profiler_java_agent.so: __printf_chk: symbol not found

这是我的码头文件:

FROM java:openjdk-8-jre-alpine

COPY build/libs/com.company.my-api-*.jar /opt/app/com.company.my-api.jar
COPY config.yml /opt/app/config.yml


RUN   apk update \
  &&   apk add ca-certificates wget libc6-compat \
  &&   update-ca-certificates

RUN mkdir -p /opt/cprof && \
    wget -q -O- https://storage.googleapis.com/cloud-profiler/java/latest/profiler_java_agent.tar.gz \
    | tar xzv -C /opt/cprof


WORKDIR /opt/app/

EXPOSE 8028

ENTRYPOINT ["java", "-agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=myApi,-logtostderr", "-jar", "com.companyny-api.jar", "server", "config.yml"]

有任何想法吗?

标签: google-kubernetes-enginestackdrivergoogle-cloud-stackdriver

解决方案


请注意,这是 Stackdriver Profiler 的 Beta 版。此功能不受任何 SLA 或弃用策略的涵盖,并且可能会受到向后不兼容的更改的影响。

您遇到的错误似乎是 Alpine 基础映像的一个已知问题,并且发现其他一些用户报告了相同的问题。它是与 Stackdriver Profiler 不兼容的操作系统。这些文档(12)是一个很好的阅读。我建议尝试使用非 Apline 基本映像,它应该像其他人一样工作。


推荐阅读