asp.net core监控—引入Prometheus(一)

Prometheus是CNCF毕业的第二个项目,算是明星产品(可自行了解Prometheus的功能),asp.net core当然不能错过与之配套使用。在.net中是通过prometheus.net【https://github.com/prometheus-net/prometheus-net】引入的。

上图是用Prometheus作监控结构图,Prometheus默认采有拉的方式,从应用服务中把metrics数据拉取出来,以便提供给Grafana去作展示。下面通过一个例子来进行说明。

1、下载Prometheus【https://prometheus.io/download/】

prometheus.yml是配置文件,因为采有拉模式,需要在配置文件中配置应用服务的url http://localhost:5000

可以双击prometheus.exe启动了。

2、下载Grafana【https://grafana.com/grafana/download?platform=windows】

启动grafana-server.exe

访问:http://localhost:3000/

用户名密码默认:username:admin,password:admin

现在开始配置Grafana:

a、配置数据源

b、配置监控面板

3、创建一个asp.net core 5.0的api项目,引进nuget包prometheus-net.AspNetCore,同时在Starup.cs的configure中添加Prometheus的中间件:

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();app.UseSwagger();app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "PrometheusSimpal v1"));}app.UseRouting();//http请求的中间件app.UseHttpMetrics();app.UseAuthorization();app.UseEndpoints(endpoints =>{//映射监控地址为  /metricsendpoints.MapMetrics();endpoints.MapControllers();});}

启动服务:http://loclahost:5000

本例是采用grafana模板10915来展示数据的,展示的信息只是请求和controller的跟踪信息,可以通过固定中间件来完全收集,如果有业务方面的信息跟踪展示,就需要开发人家根据自己的精力逻辑来展示了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/307255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1024福利 | .NET社区联合清华大学出版社送好书来啦!

话不多说,直入主题。.NET社区各大公众号联合清华大学出版社为粉丝送上1024的福利,还请诸位笑纳!!!有哪些书呢?.NET并发编程实战 作者:[美] 里卡尔多特雷尔(Riccardo Terrell&#xf…

asp.net core监控—引入Prometheus(二)

上一篇博文中,说明了怎么引进Prometheus到asp.net core项目中,因为是Demo,所以Prometheus和Grafana都是windows版本,本地执行的,生产环境上这些服务可以根据的公司的架构,放到适合的环境内,现在…

ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)

Blazor支持渐进式应用开发也就是PWA。使用PWA模式可以使得web应用有原生应用般的体验。什么是PWAPWA应用是指那些使用指定技术和标准模式来开发的web应用,这将同时赋予它们web应用和原生应用的特性。例如,web应用更加易于发现——相比于安装应用&#xf…

TCP三次握手(详解)

一:引出 客户端与服务器之间数据的发送和返回的过程当中需要创建一个叫TCP connection的东西;由于TCP不存在连接的概念,只存在请求和响应,请求和响应都是数据包,它们之间都是经过由TCP创建的一个从客户端发起&#xf…

进击吧! Blazor !第五期 安全

Blazor 是一个 Web UI 框架,可通过 WebAssembly 在任意浏览器中运行 .Net 。Blazor 旨在简化快速的单页面 .Net 浏览器应用的构建过程,它虽然使用了诸如 CSS 和 HTML 之类的 Web 技术,但它使用 C#语言和 Razor 语法代替 JavaScrip…

有一种无耻叫 “我是为你着想”

这是头哥侃码的第221篇原创十一之后,我的状态一直不好,总感觉胸口有东西堵着,时不时还会觉得呼吸困难。上周末,我咨询了几位有医学背景的朋友,有说是因为季节转换而造成的身体不适,不用在意,但也…

asp.net core监控—引入Prometheus(四)

上一篇博文中说到Prometheus有四种指标类型:Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要),并且我们做了一个Counter的Demo&#xff0c…

[开源] .Net ORM FreeSql 1.10.0 稳步向前

写在开头FreeSql 是 .NET 开源生态下的 ORM 轮子,转眼快两年了,说真的开源不容易(只有经历过才明白)。今天带点干货和湿货给大家,先说下湿货。认识我的人,知道 CSRedisCore 是我写的另外一个开源组件&#…

CAP-微服务间通信实践

微服务间通信常见的两种方式由于微服务架构慢慢被更多人使用后,迎面而来的问题是如何做好微服务间通信的方案。我们先分析下目前最常用的两种服务间通信方案。gRPC(rpc远程调用)gRPC-微服务间通信实践场景:A服务主动发起请求到B服…

软件构造学习笔记-第二周

本周课程把第六章测试的内容提前讲了一部分,主要为实验1服务,讲了有关测试的概念、作用和基本方法。“测试优先”的思想是非常重要的,根据spec写出简单而全面的测试,在方法/类完成后第一时间对其进行测试,保证每个方法…

T-SQL | 你需要了解的执行计划

【T-SQL】| 作者 / Edison Zhou这是EdisonTalk的第297篇学习分享T-SQL是ANSI和ISO SQL标准的MS SQL扩展,其正式名称为Transact-SQL,但一般程序员都称其为T-SQL。本文是我学习《T-SQL查询》一书的读书笔记,为你讲解执行计划是个什么鬼。1关于执…

软件构造学习笔记-实验1

记录一下做实验1时遇到的问题。 准备工作 1.GitHub的注册和配置 由于之前没有接触过GitHub,所以碰到了一些问题。GitHub是什么?怎么建立GitHub远程仓库与本地仓库的连接?怎么在GitHub上传和下载文件? 实验完成后我可以简单回答上…

好的自我介绍,面试成功一大半

大家好,我是Z哥。关于面试时的自我介绍,我想大家遇到的情况都差不多,大部分面试的第一个环节基本都是这个。每个人也都知道留下好的第一印象很重要,但我估计很多人对这件事的解决方式,也就在网上找个自我介绍的模版就完…

软件构造学习笔记-第三周

本周介绍了软件开发的几种模型,并重点介绍了Git。Git是分布式版本控制系统,可以通过SSH key建立远程与本地的连接,通过Git Bash中的命令进行文件的上传和下载。对于这门课程,Git的主要作用就是向TA提交实验代码。 软件开发生命周…

log4net直切ElasticSearch,小步快跑首选

很多小步快跑的公司,开发人员可能就3-4个,面对巨大业务压力,日连夜的赶着上线,快速试错,自然就没时间搭建一些基础设施,比如说logCenter,但初期项目不稳定,bug又多,每次都…

软件构造学习笔记-第四周

本周重点介绍了mutable和immutable的概念,有些抽象。对于immutable的数据类型来说,想修改其引用指向的值,必须使其指向新的内存区域,而不能在原有的内存区域做修改。mutable数据类型相反,可以在原来指向的内存区域进行…

壹佰文章总结| 关于ASP.NETCore的分享之路

公众号不让放外网链接,点击【阅读原文】,去我的博客园,可以看对应的详细文章。(关于学习ASP.NET Core需要了解和掌握的知识点图)一言不合就来图,各位博客园小伙伴大家好,感觉好久没有写文章了&a…

软件构造学习笔记-第五周

本周讲了AF、RI、Safety from rep exposure、spec等概念。这些是辅助程序设计的重要部分,需要在代码中以注释的形式体现,可以显著提高代码可读性,明确设计的目的。必须要养成写的习惯!!! 设计规约 1.规约…

EFCore之SQL扩展组件BeetleX.EFCore.Extension

EFCore是.NETCore团队开发的一个ORM组件,但这个组件在执行传统SQL的时候并不方便,因此BeetleX.EFCore.Extension的设计目的是让EFCore执行传统SQL更简单方便。引用在使用组件之前需要引用它,可以通过以下地址获取最新版本https://www.nuget.o…

软件构造学习笔记-第六周

这周的重点是重载和重写。重载要求两方法的签名必须不同,而重写则要求两方法的签名必须相同。重载可以发生在同一个类中,也可以发生在父类和子类中;重写必须发生在父类和子类中。接口/抽象类不具有构造方法,只有将内部的抽象方法全…