centos7配置 vue_.NET Core+Vue后台管理基础框架—APM

(给DotNet加星标,提升.Net技能)

转自:GUOKUN cnblogs.com/guokun/p/12536689.html

一、前言

APM又称应用性能统计,主要用来跟踪请求调用链,每个环节调用耗时,为我们诊断系统性能、定位系统问题提供了极大便利。

本系统采用的是Elastic Stack体系中的APM,主要是之前部门搞PCI认证,其中有一环ELK,而刚好ELK就是我搭建的,这里就顺便使用ELK体系的APM,没必要再另起一套了。

二、实现

首先,你需要搭建好ELK平台,这里搭建过程不做赘述,大家参考Elastic Stack官网,简单明了。

然后,安装Elastic APM Server,就是一个Linux RPM包,一行Linux命令的事情,也不做赘述。这里交代下APMServer的几个关键配置,以centos7为例。在/etc/apm-server目录下,有个apm-server.yml配置文件,修改其中如下几处:

apm-server访问地址,改成你自己服务器IP和端口:

6af6f5b81a77148eb0d5ae96f217f5f3.png

APM Agent访问token凭证,这是个静态口令,你可以随意调整:

68b2738f2f7a47624057d3a29f135446.png

SSL启用,代表各agent需要以https方式来链接apm-server,换成你自己的证书和key:

af7535a66b17826da99424c3bf82b664.png

到ES存储的链接,同样需要调整成你自己的:

4c47ed4fc83336097b6e79fded73c393.png

其中各项配置的参数,配置文件中已经注释的比较清楚了,大概看下其描述我们就知道该怎么配。

Apm-server配置好之后,接下来就是我们应用中引入和配置agent了。首选,在我们待监控应用系统配置文件appsetting.json中,加入如下一段配置:

831c452aa5c75e371a47b92fd376d222.png

SecretToken是我们服务端配置的那个secret_token,必须一致。ServerURLs是apmserver访问地址,对应服务端的host参数。

ServiceName是我们系统标识,ES和kibana中我们会以此来区分不同应用的监控数据。VerifyServerCert代表是否需要校验apm-server服务端证书,这里方便起见,直接配置false了,否则agent端会直接把到apm-server的链接给拒绝。

然后,引入Elastic.Apm.NetCoreAll包,ElasticStack包含各种原子包,可以分别监控.NETCORE、aspnetcore、EF等,可以根据具体需求引入对应包,而Elastic.Apm.NetCoreAll直接囊括所有,这里因为系统要监控应用、EF、数据库执行等,所以直接引用了这个大而全的包。之后,引入中间件:

688267fb16a14eb12a266f348cd3046d.png

此中间件引入最好放在最靠前的位置,因为要监控整条链路。

三、效果

登录系统,然后随便开几个页面,如下:

9fadff5d60d2e83bb6f8eac78982c9c2.png

然后,我们进入kibana,找到对应的APM菜单进去:

f85274ba699577a09f19be31a83ac38e.png

右边列表名称那一栏,是我们agent配置中,对应的ServiceName,找到对应系统,点击进去:

c028de9458ccb7d0a62bf09f5fbc242f.png

a56c2692b862945cbcb9ad08930e512b.png

两张图上边一张是请求负载情况,下边是应用系统收到的每个http请求,我们以searchroles这个为例,进去看看:

a0d3028ecb9443c428edd32fe4e84989.png

可以看到,searchroles的所有请求数量,每个请求各环节执行时间,最下面默认展示最近一次请求的跟踪数据,里边可以直观体现本次http请求处理总时间、数据库执行时间,如果有跨服务调用,还会统计其他服务调用时间,甚至帮我们追踪到了执行的SQL,非常之方便,开箱即用。

所以,以后再也不要说EF性能低、出问题不好定位之类的话,一定是你姿势不对。 

推荐阅读   点击标题可跳转 .NET Core+Vue后台管理基础框架—认证 .NET Core+Vue后台管理基础框架—前端授权 .NET Core+Vue后台管理基础框架—后端授权

看完本文有收获?请转发分享给更多人

关注「DotNet」加星标,提升.Net技能 

43541cd37659e2e17939db956e4f2815.png

好文章,我在看❤️

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值