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中查看请求链路


文档

posted @ 2022-11-07 00:01  雨水的命运  阅读(483)  评论(0编辑  收藏  举报