前言:
APM组件介绍 https://blog.csdn.net/u013613428/article/details/86667240
https://blog.csdn.net/weixin_45784983/article/details/109285319
基本组件
Elastic APM 由四个基本组件构成:
组件 | 作用 |
---|---|
ApmAgent | 会检测代码并在运行时收集性能数据和错误。此数据可缓冲一小段时间并发送到APM服务器。 |
APMServer | 以jar包形式注入到项目中,默认侦听端口8200,并通过JSON HTTP API从代理接收数据。然后,它根据该数据创建文档并将其存储在Elasticsearch中。 |
Elasticsearch | Elasticsearch用于存储APM性能指标并利用其聚合。 |
Kibana APM UI | 使用Kibana查看Elasticsearch中存储的数据并与之进行交互。 |
Docker部署APM Server(默认ElasticSearch与Kibana已部署完成)
1.检索docker镜像
#查看apm-server镜像
docker search apm-server
拉取相应版本至Docker
docker pull store/elastic/apm-server:7.9.0
启动Apm服务
docker run -d --name elastic-apm 镜像ID
浏览器访问8200端口,显示以下json,表示启动成功
{
"build_date": "2020-08-11T18:53:16Z",
"build_sha": "41f41134f4dfe91966765f5a712c7302e71bc56d",
"version": "7.9.0"
}
2.修改配置文件(启动容器后进入容器内部修改配置文件)
进入容器内部
docker exec -it 容器ID /bin/bash
编辑下图位置,修改 elasticsearch 地址
vi apm-server.yml
完事保存 退出,重启Apm
3.Springboot应用整合
3.1 导入 pom 文件依赖
<!--Elastic Agent相关依赖-->
<dependency>
<groupId>co.elastic.apm</groupId>
<artifactId>apm-agent-attach</artifactId>
<version>1.17.0</version>
</dependency>
3.2 项目resources 根目录下新建配置文件 elasticapm.properties
#配置服务名称
service_name=xxxxxx
#配置应用所在基础包
application_packages=xxx.xxx.xxx.controller
#配置APM Server的访问地址
server_urls=http://apm-server:8200
3.3 主启动类添加 Apm代理附加到当前JVM
public static void main(String[] args) {
ElasticApmAttacher.attach(); //添加此句
SpringApplication.run(Application.class, args);
}
启动顺序
1.ElasticSearch
2.kibana
3.ApmServer
4.ApmAgent
4.Kibana面板添加ApmServer
4.1.进入主页—》添加APM
4.2.检查ApmServer、ApmAgent状态,准备无误点击 启动
面板功能介绍 https://blog.csdn.net/m0_37821003/article/details/120706120