使用 Elastic 技术栈构建 K8S 全栈监控 -4: 使用 Elastic APM 实时监控应用性能

文章转载自:https://www.qikqiak.com/post/k8s-monitor-use-elastic-stack-4/

操作步骤

apm-servver连接es使用上一步创建的secret:beats-elasticsearch-pw


kubectl apply  -f apm.configmap.yml \
               -f apm.service.yml \
               -f apm.deployment.yml

kubectl get pods -n elastic -l app=apm-server

在示例应用程序 spring-boot-simple 上配置一个 Elastic APM Java agent

下载地址:https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.32.0/elastic-apm-agent-1.32.0.jar

完整的 Dockerfile 文件

FROM openjdk:8-jdk-alpine
ENV ELASTIC_APM_VERSION "1.8.0"
RUN wget -O /apm-agent.jar https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.32.0/elastic-apm-agent-1.32.0.jar
COPY target/spring-boot-simple.jar /app.jar
CMD java -jar /app.jar


如何构建新的含有文件apm-agent.jar的镜像呢?

原先使用的镜像是:cnych/spring-boot-simple:0.0.1-SNAPSHOT,可以先启动这个,然后从容器中拷贝出jar包,最后根据上面的Dockerfile文件重新构建镜像


但是实际上原先使用的镜像中已经包含文件apm-agent.jar了。因此只需要修改对应的Deployment即可

kubectl apply -f spring-boot-simple.yml

kubectl get pods -n elastic -l app=spring-boot-simple

kubectl get svc -n elastic -l app=spring-boot-simple


模拟请求

curl -X GET http://192.168.2.163:31398/message

curl -X GET http://192.168.2.163:31398/message?sleep=3000

curl -X GET http://192.168.2.163:31398/message?error=true

该步骤用到的yaml文件地址

https://files.cnblogs.com/files/sanduzxcvbnm/elastic-4_yaml.zip?t=1655447911

posted @ 2022-06-17 14:40  哈喽哈喽111111  阅读(344)  评论(0编辑  收藏  举报