GCP Profiler 在 GKE 中找不到我的 Profiler 代理 运行
GCP Profiler does not find my profiler agent running in GKE
我在 GKE 中有一个 java 11 微服务 运行,我一直在尝试附加 GCP 提供的 java 分析代理。
我的Dockerfile如下:
FROM openjdk:11-jdk
# Default to UTF-8 file.encoding
ENV LANG C.UTF-8
WORKDIR /app
COPY ./build/libs/*.jar /app/app.jar
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
EXPOSE 80
CMD ["java", "-agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=sprofile-test-svc,-cprof_service_version=1.0.0,-cprof_project_id=project-id,-cprof_cpu_use_per_thread_timers=true,-cprof_enable_heap_sampling=true,-logtostderr,-minloglevel=2", \
"-jar", "/app/app.jar" ]
但是,当我转到 GCP 中的 Profiler 仪表板时,它显示以下内容
No profiling data is found for project "txd-boss-dev", likely because
no profiling agent has been configured or the timespan selected
includes no profiles
一段时间后,我们发现 Dockerfile 和 deployment.yaml 文件都没有问题。微服务有一个特定的服务帐户,需要添加 cloudprofiler.agent 角色。
我在 GKE 中有一个 java 11 微服务 运行,我一直在尝试附加 GCP 提供的 java 分析代理。
我的Dockerfile如下:
FROM openjdk:11-jdk
# Default to UTF-8 file.encoding
ENV LANG C.UTF-8
WORKDIR /app
COPY ./build/libs/*.jar /app/app.jar
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
EXPOSE 80
CMD ["java", "-agentpath:/opt/cprof/profiler_java_agent.so=-cprof_service=sprofile-test-svc,-cprof_service_version=1.0.0,-cprof_project_id=project-id,-cprof_cpu_use_per_thread_timers=true,-cprof_enable_heap_sampling=true,-logtostderr,-minloglevel=2", \
"-jar", "/app/app.jar" ]
但是,当我转到 GCP 中的 Profiler 仪表板时,它显示以下内容
No profiling data is found for project "txd-boss-dev", likely because no profiling agent has been configured or the timespan selected includes no profiles
一段时间后,我们发现 Dockerfile 和 deployment.yaml 文件都没有问题。微服务有一个特定的服务帐户,需要添加 cloudprofiler.agent 角色。