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 接口来进行。
评论