开发者学堂课程【Elasticsearch 实战进阶营:实操讲解:微服务全链路调用监控(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/899/detail/14318
实操讲解:微服务全链路调用监控(二)
三、Agent 配置
官方选择版本,根据需求下载
agent 默认会监控 HTTP 和 SQL 的请求,会在 jvm 中主动拦截常见数据库驱动层的类以进行监控。但并非所有的 SQL 访问都会被 APM 所监控,只有在判定为事务(transaction)或者跨度(span)的事件(event)中才会被监测(instrumented)。而目前,APM 自动创建一个 transaction 的依据是,这是一个 HTTP API(即 Restful API 或 Web service,SOAP 等)。
因此,如果 SQL 语句位于一个 HTTP API 的调用链中,则该 SQL 肯定会被监测;如果你的 SQL 语句位于非 HTTP API 调用的函数中,则需要手动创建事务以进行监测。
1. pom 文件
org.springframework.cloud
spring-cloud-starter-netflix-eureka-clientc/ dependency>
org.springframework.boot
spring-boot-starter-web
org.elasticsearch.client
elasticsearch-rest-high-level-client
co.elastic .apm
apm-agent-api
2. servce01 配置
#采用绝对路径最好
-java agent:E:/2020-07-GuPao/Project-Java-2020/gupaoedu-springelouddemo/jar-file/elastic-apm-agent
-1.17.0.jar
#多个节点
-Delastic.apm.service_name=service01
#地址配置要正确
-Delastic.apm.server_urls=http://localhost:8200
-Delastic.apm.secret_token=
-Delastic.apm.application_package.gupaoedu
配置好重新执行
3. 查看部署
(1)标准的 apm 性能界面
APM 捕捉到了除零的异常,但是没有 SocketTimeoutException 异常,即只能捕捉 在 transaction 范围内的异常。
/ by zero 异常有关联的 transaction ID,可以直接跳转到对应 transaction 当中。
但 Handled 仍然为空
(2)访问 apm 服务接口
例 localhost:8081/apm/api1 (“1”是接口)
运用 apm 可以将 refresh 全部采集出来