手把手教你搭APM之Skywalking搭建指南(支持Java/C#/Node.js)

 

前言

什么是APM?全称:Application Performance Management

可以参考这里:

现代APM体系,基本都是参考Google的Dapper(大规模分布式系统的跟踪系统)的体系来做的。通过跟踪请求的处理过程,来对应用系统在前后端处理、服务端调用的性能消耗进行跟踪,关于Dapper的介绍可以看这个链接:Dapper,大规模分布式系统的跟踪系统 by bigbully  作者:刀把五 链接:upload/201809221122124840.jpg" alt="UI" style="margin: 0px; padding: 0px; border: 0px; max-width: 700px; height: auto;" />

如果有错误的话,大概率是ES没有连上,检查一下ES是不是还活着,再不行就进到容器里面看日志.日志默认路径:/apache-skywalking-apm-incubating/logs

Agent接入

当前已经有Java/C#(dotnet core)/Node.js的Agent了.

对应的话Java支持是最多的,其他两个我看下来基本就是主流比较多的一些框架都基本有了.

对应agent框架链接:

理论上应该遵循http://opentracing.io/ API标准的.

Java agent 主仓库就有,直接去看release即可.

今天我们肯定是用dotnet core 啦.

dotnet core当前支持的库和中间件有下面这些:

嗯,该有的都有了.

先引入一下SkyWalking.AspNetCore的Package.

dotnet add package SkyWalking.AspNetCore --version 0.3.0

酌情新增 SkyWalking.Diagnostics.EntityFrameworkCore, SkyWalking.Diagnostics.HttpClient, SkyWalking.Diagnostics.EntityFrameworkCore.Npgsql,SkyWalking.Diagnostics.EntityFrameworkCore.Pomelo.MySql 等等...

或者直接在xxx.csproj 新增下面这些包.

    <PackageReference Include="SkyWalking.AspNetCore" Version="0.3.0"/>     <PackageReference Include="SkyWalking.Diagnostics.EntityFrameworkCore" Version="0.3.0"/>     <PackageReference Include="SkyWalking.Diagnostics.HttpClient" Version="0.3.0"/>     <PackageReference Include="SkyWalking.Diagnostics.EntityFrameworkCore.Npgsql" Version="0.3.0"/>     <PackageReference Include="SkyWalking.Diagnostics.EntityFrameworkCore.Pomelo.MySql" Version="0.3.0"/>

然后在 Startup.cs的ConfigureServices 方法中添加引用

// using SkyWalking.AspNetCore; // using SkyWalking.Diagnostics.EntityFrameworkCore; // using SkyWalking.Diagnostics.HttpClient; // using SkyWalking.Diagnostics.SqlClient;   services.AddSkyWalking(option =>             {                 option.ApplicationCode = "my-first-api";                 option.DirectServers = "127.0.0.1:11800";                 // 每三秒采样的Trace数量,-1 为全部采集                 option.SamplePer3Secs = -1;             }).AddEntityFrameworkCore(c => { c.AddPomeloMysql(); })             .AddHttpClient();

接着启动应用.

看到有类似的日志输入,说明已经应用已经正常连接到SkyWalking了.


                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信