.NET6之MiniAPI(二十七):Metrics

应用的各种Metrics是保证应用健康稳定运行的基础,特别对于一些可用性有所要求的应用,本文介绍prometheus-net这个三方指示库。

prometheus-net的工作原理是,在应用内部埋点,通过prometheus采集数据,然后通过grafana把采集到的数据展现出来,所以这里首先要下载prometheus和grafana,因为是demo,这里下载两个应用的windows版本。具体下载地址如下:

Prometheus下载地址:

https://prometheus.io/download/

Grafana下载地址:

https://grafana.com/grafana/download?platform=windows

接下来创建miniapi项目,引入NuGet包:

Install-Package prometheus-net.AspNetCore

在miniapi项目中使用prometheus的默认指标很简单,如下:

using Prometheus;var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/test", () =>
{return "OK";
});
app.MapMetrics();
app.UseHttpMetrics();
app.Run();

这里要把应用的url配置到promethues的配置文件(prometheus.yml)中,如下图:

8e20dd3a304bae163f52291d8876566d.png

这时prometheus就配置好了,可以启动了。

接下来配置grafana,首先创建数据源:

52cbfc55038f0f422a6e1e8d168c055e.png

再创建两个dashboard:10195和10427

0e7ad335bffdf724a9715a26d33b5672.png

这里就可以访问应用了,打开两个dashboard,就可以看到监控指标了。

asp.net core指示

cae0c2d9b28429e97c0a00c0a91a22f4.png

应用系统指标

8e61c8b1a16a495f4b546f0a21303989.png

本篇中介简单介绍了一下miniapi引入prometheus,并且与prometheus和grafana的协调工作,所有指标都是默认指标,如果需要业务指标,请参看系列:

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

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(一)

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

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(二)

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

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(三)

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

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(四)

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

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(五)

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

桂素伟,公众号:桂迹asp.net core监控—引入Prometheus(六)

如果想了解默认指标的具体详情,请参见系列:

dotnet中的counter

桂素伟,公众号:桂迹dotnet中的counter

dotnet中的counters说明(一)

桂素伟,公众号:桂迹dotnet中的counters说明(一)

dotnet中的counters说明(二)

桂素伟,公众号:桂迹dotnet中的counters说明(二)

dotnet中的counters说明(三)

桂素伟,公众号:桂迹dotnet中的counters说明(三)

应用内moniter

桂素伟,公众号:桂迹应用内moniter

自定义EventSource(一)EventCounter

桂素伟,公众号:桂迹自定义EventSource(一)EventCounter

自定义EventSource(二)PollingCounter

桂素伟,公众号:桂迹自定义EventSource(二)PollingCounter

自定义EventSource(三)IncrementingEventCounter

桂素伟,公众号:桂迹自定义EventSource(三)IncrementingEventCounter

自定义EventSource(四)IncrementingPollingCounter

桂素伟,公众号:桂迹自定义EventSource(四)IncrementingPollingCounter

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

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

相关文章

面向对象的优点

符合人类的思维习惯,使客户和软件设计人员之间,软件开发人员内部交流更加流畅,同时有代码重用性高,可靠性高等优点,大大提高了软件的设计和开发效率转载于:https://www.cnblogs.com/Allen974103107/p/4979596.html

解决 web.xml is missing and failOnMissingWebXml is set to true 报错

在学习maven模块化构建项目的时候遇到了如下报错信息&#xff1a; web.xml is missing and <failOnMissingWebXml> is set to true。 这时候需要右击项目——>Java EE Tools——>Generate Deployment Descriptor Stub.然后系统会在src/main/webapp/WEB_INF文件加下…

Swift游戏实战-跑酷熊猫 01 创建工程导入素材

原文:Swift游戏实战-跑酷熊猫 01 创建工程导入素材在这节里&#xff0c;我们将建立一个游戏工程&#xff0c;并导入一些必要的素材&#xff0c;例如序列帧动画文件&#xff0c;声音素材文件。动画文件我们使用atlas形式。在打包发布或者模拟器测试的时候&#xff0c;它会将整个…

【ArcGIS风暴】ArcGIS获取一个省各个地区界内的河流的总长度--以甘肃省为例

【问题分析】实际工作中,我们经常需要进行统计分析,如统计甘肃省各个地区界内的河流、公路、铁路等的总长度,统计各个地区界内总人口、作物产量、村镇分布等等。ArcGIS提供了强大的空间统计功能,可以一次性操作完成所有操作,省时省力,大大提高了工作效率,减少了错误的发…

回溯算法之布罗夫卫队(最大团问题)

1、问题 在原始部落中,由于食物缺乏,部落居民经常因为争夺猎物发生冲突,几乎每个居民都 有自己的仇敌。部落酋长为了组织一支保卫部落的卫队,希望从居民中选出最多的居民加入 卫队,并保证卫队中任何两个人都不是仇敌。假设已给定部落中居民间的仇敌关系图,编程 计算构建部落护…

java中find方法_Java Document.find方法代码示例

import com.allanbank.mongodb.bson.Document; //导入方法依赖的package包/类/*** Extract the number of seconds this Server is behind the primary by* comparing its latest optime with that of the absolute latest optime.* * To account for idle servers we use the …

Ajax:一种网页开发技术(Asynchronous Javascript + XML)

创建新的 XMLHttpRequest 对象(Ajax 应用程序的核心):<script language"javascript" type"text/javascript">var xmlHttp new XMLHttpRequest(); </script> 用 JavaScript 代码捕获和设置字段值 //获取 id 值为 first_name 的表单域 var name…

microdot - 一个开源 .NET 微服务框架。

简介Microdot 是一个开源 .NET 框架&#xff0c;可满足轻松创建微服务的许多需求。它的一些主要特点•用于托管微服务的服务容器•服务间 RPC&#xff0c;便于基于接口的服务通信•服务之间的客户端透明响应缓存•日志记录和分布式跟踪支持•客户端负载均衡和服务发现•详细的健…

U3D 如何计算一个UI四个角的绝对坐标

//方式一&#xff0c;使用API获取var rtrans gameObject.GetComponent<RectTransform>();Vector3[] worldcorners new Vector3[4];rtrans.GetWorldCorners(worldcorners);//方式二&#xff0c;手动计算var cam GameObject.Find("Camera").GetComponent<C…

回溯算法之购物车(0-1 背包问题)

1、问题(参考趣学算法) 央视有一个大型娱乐节目— 购物街,舞台上模拟超市大卖场,有很多货物,每个嘉宾分配一个购物车,可以尽情的装满购物车,购物车装的价值最高者取胜。假设 n 个物品和 1个购物车,每个物品 i 对应价值为 vi,重量 wi,购物车的容量为 W(你也可以将重量设定为体…

slider控件控制文本框字体大小

1.控件代码 <pre name"code" class"csharp"> <Slider x:Name"slider1" HorizontalAlignment"Left" Margin"0,261,0,0" VerticalAlignment"Top" Width"446" ValueChanged"Slid…

争时金融java_Java高并发编程基础之AQS

引言曾经有一道比较比较经典的面试题“你能够说说java的并发包下面有哪些常见的类&#xff1f;”大多数人应该都可以说出CountDownLatch、CyclicBarrier、Sempahore多线程并发三大利器。这三大利器都是通过AbstractQueuedSynchronizer抽象类(下面简写AQS)来实现的&#xff0c;所…

Android UI设计系统-android selector 开始自定义样式

Selector的结构描述&#xff1a; <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android" > <item android:color"hex_color" android:state_pressed"tru…

Xamarin效果第十三篇之弹窗PopupPage

在上一篇文章中使用Xamarin实现控制了一下祖传的PLC;基本的功能也就完事了,这不总觉得少点最基本的配置;那就趁着激情还在赶紧再去完善一下,不然激情已过就懒得去摸索了;来看看最终咱实现的视频效果:1、关于弹窗,直接使用开源的PopupPageInstall-Package Rg.Plugins.Popup -Ver…

UIView中常用的方法

UIView 中常见的方法总结 addSubview: 添加一个子视图到接收者并让它在最上面显示出来。 - (void)addSubview:(UIView *)view 讨论 这方法同样设置了接收者为下一个视图响应对象。接收者保留视图。如果你使用removeFromSuperview方法用来把视图移除他的显示列表&#xff0c;那么…

Android studio之如何快速查看页面的布局

Android studio  &#xff0d;&#xff1e; &#xff54;&#xff4f;&#xff4f;&#xff4c;&#xff53; &#xff0d;&#xff1e; &#xff21;&#xff4e;&#xff44;&#xff52;&#xff4f;&#xff49;&#xff44; &#xff0d;&#xff1e; &#xff2c;&…

你们是不是对QQ总在后台莫名其妙更新一些东西很反感

开始 - 运行 - gpedit.msc 打开策略组依次进入 计算机配置——Windows设置——安全设置——软件限制策略——其他规则有人说软件限制策略下面是空的 你在软件限制策略上右键——新建 下面的目录自然就出来了右键——新建路径规则 依次输入如下路径并选择不允许<系统路径>…

GTKmm 学习资料

GTK2.0 中的容器控件与布局技巧 GTK图形化应用程序开发学习笔记&#xff08;一&#xff09;—概述

Android之在linux终端执行shell脚本文件(通过aapt)得到apk包名

1、问题 我们在ubuntu上经常想看到apk的包名,然后在终端通过pidcat.py packageName 过滤日志,我们常用的办法手机连接电脑,然后打开这个app adb shell dumpsys activity top 我们可以看到当前activity的名字和包名,但是如果这是一个apk呢?还没有运行呢?我们可以通过工…

C# 线程问题之争用条件

用多个线程编程并不容易。在启动访问相同数据的多个线程时&#xff0c;会间歇性地遇到难以发现的问题。如果使用任务、并行 LINQ 或 Parallel 类&#xff0c;也会遇到这些问题。为了避免这些问题&#xff0c;必须特别注意同步问题和多个线程可能发生的其他问题。下面探讨与线程…