CLRStats 是一种统计 NET 应用程序资源数据使用情况的插件。包括:CPU 使用情况、GC、线程状态、通过 web 请求获取状态信息的支持(可以自定义访问路径和身份验证),数据将以 JSON 格式返回。
支持.net framework 4.5+,.net core 2.0+
安装
如果开发环境是 VS 的话,直接使用 nuget 包管理器进行安装。
也可以直接通过命令行来安装
PM> Install-Package CLRStats
复制代码
DotNetCore 接入
1.注入监控面板服务
app.UseCLRStatsDashboard("/clrstats", new DashboardOptions() { Authorization = new IDashboardAuthorizationFilter[] { new TokenVerification() } });
复制代码
2.设定访问验证参数(也可以不要这步,不要的话直接注入服务,就不用设定附加参数了)
/// <summary>/// 自定义验证类/// 继承IDashboardAuthorizationFilter方法,实现授权方法/// </summary>public class TokenVerification : IDashboardAuthorizationFilter{ public bool Authorize(HttpRequest request) { if (request.Headers.ContainsKey("Token") && request.Headers["Token"].Equals("oaclr")) { return true; } return false; } }
复制代码
3.访问路由接口,观察返回数据
4.做一个 UI 界面,监控网站运行情况
代码不贴了,最终效果是这样
DotNet Framework 接入
1.引入 Owin,注入服务
public void Configuration(IAppBuilder app){ ConfigureAuth(app); app.SetLoggerFactory(new ConsoleLoggerFactory()); app.UseCLRStatsDashboard("/cxxyClr");//注入clrstatus,自定义路由名称}
复制代码
2.访问路由接口,观察返回数据
framework 框架下,返回的数据格式是 json 字符串,使用的时候需要序列化一下。
3.做一个 UI 界面,监控网站允许
同上
4.其他
CLRStatus 默认是支持 MVC 框架的,但如果传统的 WebForm 框架想要使用的化,可以自己设置一下,使系统也支持 MVC 种的路由定义。
a.引入 System.Web.Http 命名空间,并实现 Register 方法,定义路由访问形式
public static class WebApiConfig{ public static void Register(HttpConfiguration config) { // Web API 配置和服务
// Web API 路由 config.MapHttpAttributeRoutes(); //新用户中心本身支持openid connect,开启后接口将对所有访问进行身份验证 config.Filters.Add(new AuthorizeAttribute()); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); } }
复制代码
b.注册配置,扩展 webform 的访问形式
void Application_Start(object sender, EventArgs e){ // 在应用程序启动时运行的代码 GlobalConfiguration.Configure(WebApiConfig.Register);}
复制代码
如此,webform 项目,也可以像 mvc 一样编写接口了,可以用 aspx 页面当作模板页面,数据的交换操作仍然通过 rest 接口来进行。
评论