利用 HttpReports 监控 .NET Core 应用措施的要领

HttpReports 基于.NET Core 开拓的APM监控系统,利用MIT开源协议,主要成果包罗,统计, 阐明, 可视化, 监控,追踪等,适合在中小项目中利用。

操作 HttpReports 监控 .NET Core 应用法子的方式

github:https://github.com/dotnetcore/HttpReports

我也很侥幸在.NET Conf 2020 大会上, 做了简朴的分享,开源不易,感乐趣的同学接待Star,支持一下...

在线预览:
账号: admin 暗码 123456

项目布局

操作 HttpReports 监控 .NET Core 应用法子的方式

用户会见了我们的三个措施,每个措施都安装了HttpReports,它认真收罗一些措施的数据和指标,然后通过Http的方法发送到Collector,简朴处理惩罚后,会录入到差异的数据库中,同时,HttpReports.UI 认真把这些数据多维度的展示出来。

快速开始

接下来,我会构建监控的 Dashboard,然后在我们的.NET Core 措施中安装HttpReports来收集数据,最后展示到UI上,让我们看看这有多简朴!

首先,需要初始化数据库,来存储收集的数据,这里我利用的是MySql数据库(可能是SqlServer,PostgreSQL), 我手动建设了一个数据库 HttpReports, 记着这个地点,后边会用到。

引用 HttpReports.Dashboard

首先,我们需要构建 Dashboard 来吸收,处理惩罚和展示数据,Dashboard 利用了 Vue + Antv + ElementUI 构建了页面,然后把静态文件打包到了措施集,我们只要在.NET Core 应用中,通过Nuget安装即可。

新建一个 .Net Core 的空的Web项目,支持 2.1 及以上版本

操作 HttpReports 监控 .NET Core 应用法子的方式

新建完成后,通过Nuget包别离安装 HttpReports.Dashboard ,HttpReports.MySQL(可能是HttpReports.SqlServer, HttpReports.PostgreSQL)。

操作 HttpReports 监控 .NET Core 应用法子的方式

操作 HttpReports 监控 .NET Core 应用法子的方式

安装完成之后,需要简朴的设置一下,我们直接修改项目标 appsetting.json 文件

{ "HttpReportsDashboard": { "ExpireDay": 3, "Storage": { "ConnectionString": "DataBase=HttpReports;Data Source=localhost;User Id=root;Password=123456;", "DeferSecond": 3, "DeferThreshold": 10 }, "Check": { "Mode": "Self", "Switch": true, "Endpoint": "", "Range": "500,2000" }, "Mail": { "Server": "smtp.163.com", "Port": 465, "Account": "HttpReports@qq.com", "Password": "*******", "EnableSsL": true, "Switch": true } } }

此刻参数有许多,不要担忧,我们此刻只需要查抄数据库的毗连字符串,确保让它可以乐成的毗连到你的数据库,其他的参数,你可以在官方的文档中找到它们,本文就不再多说。

修改完 appsetting.json 后,我们接着修改 Dahboard 项目标 Startup.cs 文件:

public void ConfigureServices(IServiceCollection services) { services.AddHttpReportsDashboard().AddMySqlStorage(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.UseHttpReportsDashboard(); }

然后 Run,假如没有问题的话,会跳转到Dashboard的登岸页面,默认的账号:admin 暗码: 123456

操作 HttpReports 监控 .NET Core 应用法子的方式

此刻我们有了 Dashboard,可是没有数据, 我们还需要在我们的.NET Core 应用中安装HttpReports,它认真收罗和发送数据。

引用HttpReports

我新建了一个 WebAPI 项目 UserService(用户处事) ,然后我们通过 Nuget 别离安装 HttpReports , HttpReports.Transport.Http。

操作 HttpReports 监控 .NET Core 应用法子的方式

安装完成后,同样的,我们修改 appsettings.json,简朴设置一下

{ "HttpReports": { "Transport": { "CollectorAddress": "http://localhost:5000/", "DeferSecond": 10, "DeferThreshold": 100 }, "Server": "http://localhost:7000", "Service": "User", "Switch": true, "RequestFilter": [ "/api/health/*", "/HttpReports*" ], "WithRequest": true, "WithResponse": true, "WithCookie": true, "WithHeader": true } }

参数先容:
Transport - CollectorAddress - 数据批量发送的地点,设置Dashboard 的项目地点即可
Server - 处事的地点,User处事我用了localhost:7000
Service - 处事名称 User

修改完成后,我们接着修改 UserService 项目标 Startup.cs 文件

app.UseHttpReports();
这一行必然要放到 UseRouting() 和 UseEndpoints()要领 的上面。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsjjpg.html