ASP.NET Core 集成 Elastic APM 实现链路追踪
Elastic APM 部署访问
Elastic APM 由四个基本组件构成:
- APM Agents:各个语言的客户端程序,一系列开源库,用于连接APM Server
- APM Server
- Elasticsearch
- Kibana
APM Server、Elasticsearch、Kibana的部署参考这篇博客
部署成功后访问Kibana:http://Kibana:5601
添加插件
选择Apm
检查 APM Server 状态,这里检测不到APM不用管,当前8.5版本貌似检测不到,只要apm-server容器日志:docker logs apm-server
没有报错就行。直接选择下面的启用APM。如果客户端有传递服务一样会显示。
Elastic APM 架构
Elastic APM 基本架构如下图:
ASP.NET Core 集成
Netget安装包
Install-Package Elastic.Apm.NetCoreAll
appsettings.json
添加以下配置
{
"ElasticApm": {
//secret_token认证
"SecretToken": "123456",
//Apm地址
"ServerUrls": "http://192.168.1.5:8212",
//服务名称
"ServiceName": "test100_service",
//环境
"Environment": "dev"
}
}
Program.cs
使用ElasticApm
//.net5
app.UseAllElasticApm(Configuration);
站点Run起来,访问请求后可以在kibana
中查看请求链路