中小研发团队架构实践之应用监控Metrics
一、Metrics简介
二、埋点Metrics.NET的方法
<add key="AppID" value="150106"/>
<add key="Metrics.DBUri" value="http://139.198.13.12:4126/write"/>
<add key="Metrics.UserName" value="Arch"/>
<add key="Metrics.Password" value="Arch"/>
<add key="Metrics.Database" value="ArchDB"/>
1、Meter
static void CreateOrder()
{
try
{
// 省略关于下单的业务逻辑代码
//...... // 分别统计成功下单量和下单金额,统一写到MetrisKey中
MetricsKey.OrderCount.Mark();
if (n % == )
{
MetricsKey.OrderMoneyCount.Mark("BuyerA", n);
}
else
{
MetricsKey.OrderMoneyCount.Mark("BuyerB", n);
}
}
catch (Exception)
{
// 统计失败下单量,统一写到MetrisKey中
MetricsKey.OrderErrorCount.Mark(); // 省略异常处理代码......
}
}
、Histogram
private readonly Histogram searchFlightTime = MetricsHelper.Histogram("MetricsDemo.SearchFlightTime", Unit.Custom("ms"));
static void SearchFlight()
{
Stopwatch stopwatch = Stopwatch.StartNew();
// 模拟关于航班查询的业务逻辑的代码
Random random = new Random((int)DateTime.Now.Ticks & 0x0000FFFF);
var n = Random.Next();
Thread.Sleep(n);
stopwatch.Stop();
// 统计航班搜索耗时
searchFlightTime.Update(stopwatch.ElapsedMilliseconds);
}
三、Grafana配置

1、仪表盘设置



2、面板(Panel)设置


2.1、数据设置



2.2、样式配置
2.2.1、General选项卡用来设置Panel样式

2.2.2、Axes选项卡用来设置坐标轴

2.2.3、Legend选项卡用来设置显示样式

2.2.4 Display选项卡用来设置图表样式

3、模板(Templating)设置





4、设置Time Range

5、告警设置
5.1、设置通知规则


5.2、设置告警规则


5.3、暂停告警操作

四、其它说明
五、总结Metrics的价值
六、Demo下载及更多资料
- MetricsDemo下载地址:https://github.com/das2017/MetricsDemo
- Metrics.NET官方网站:https://github.com/Recognos/Metrics.NET
- InfluxDB官方文档:https://docs.influxdata.com/influxdb/v1.1/
- Grafana官方文档:http://docs.grafana.org/
中小研发团队架构实践之应用监控Metrics的更多相关文章
- 中小型研发团队架构实践:分布式协调服务ZooKeeper
一.ZooKeeper 是什么 Apache ZooKeeper 由 Apache Hadoop 的子项目发展而来,于 2010 年 11 月正式成为了 Apache 的顶级项目. 相关厂商内容 优秀 ...
- 中小型研发团队架构实践:任务调度Job
一.Job 简介 Job 类似于数据库中的作业,多用于实现定时执行任务.适用场景主要包括定时轮询数据库同步.定时处理数据.定时邮件通知等. 我们的 Job 分为操作系统级别定时任务 WinJob 和 ...
- 中小型研发团队架构实践:Redis快速入门及应用
Redis的使用难吗?不难,Redis用好容易吗?不容易.Redis的使用虽然不难,但与业务结合的应用场景特别多.特别紧,用好并不容易.我们希望通过一篇文章及Demo,即可轻松.快速入门并学会应用. ...
- 中小研发团队架构实践之生产环境诊断工具WinDbg 三分钟学会.NET微服务之Polly 使用.Net Core+IView+Vue集成上传图片功能 Fiddler原理~知多少? ABP框架(asp.net core 2.X+Vue)模板项目学习之路(一) C#程序中设置全局代理(Global Proxy) WCF 4.0 使用说明 如何在IIS上发布,并能正常访问
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具 ...
- 中小研发团队架构实践之RabbitMQ快速入门及应用
原文:中小研发团队架构实践之RabbitMQ快速入门及应用 使用过分布式中间件的人都知道,程序员使用起来并不复杂,常用的客户端API就那么几个,比我们日常编写程序时用到的API要少得多.但是分布式中间 ...
- 中小研发团队架构实践之分布式协调器.Net版ZooKeeper
原文:中小研发团队架构实践之分布式协调器.Net版ZooKeeper 一.ZooKeeper是什么 Apache ZooKeeper是由Apache Hadoop的子项目发展而来,于2010年11月 ...
- 中小型研发团队架构实践六:如何用好消息队列RabbitMQ?
一.写在前面 使用过分布式中间件的人都知道,程序员使用起来并不复杂,常用的客户端 API 就那么几个,比我们日常编写程序时用到的 API 要少得多.但是分布式中间件在中小研发团队中使用得并不多,为什么 ...
- 中小研发团队架构实践之微服务MSA
一.MSA简介 1.1.MSA是什么 微服务架构MSA是Microservice Architecture的简称,它是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相通讯.互相配合, ...
- 中小型研发团队架构实践七:集中式日志ELK
一.集中式日志 日志可分为系统日志.应用日志以及业务日志,系统日志给运维人员使用,应用日志给研发人员使用,业务日志给业务操作人员使用.我们这里主要讲解应用日志,通过应用日志来了解应用的信息和状态,以及 ...
随机推荐
- Binlog的三个业务应用场景
1.什么是binlog binlog是mysql的一种二进制日志文件,用来记录数据的变化.mysql使用binlog进行主从复制,如图: 客户端向master的mysql sever写入数据 当数据发 ...
- IOS开发之纯代码界面--基本控件使用篇 ┊
http://www.cocoachina.com/bbs/read.php?tid=131516
- ZooKeeper集群的安装、配置、高可用测试
Dubbo注册中心集群Zookeeper-3.4.6 Dubbo建议使用Zookeeper作为服务的注册中心. Zookeeper集群中只要有过半的节点是正常的情况下,那么整个集群对外就是可用的.正是 ...
- EL表达式得不到后台传过来的值
两种jsp获得action传过来的值 第一种: <s:iterator value="#pagination.datas" var="supplier" ...
- Windows核心编程&线程
1. 线程上下文:线程内核对象保存线程上一次执行时的CPU寄存器状态 2. 线程上下文切换 3. windows操作系统为抢占式多线程操作系统,系统可以在任何时刻停止一个线程而另行调度另外一个线程.我 ...
- CURL post/get提交
public function curlss($url){ $curl = curl_init(); // 设置你需要抓取的URL curl_setopt($curl, CURLOPT_URL, $u ...
- 第三方模块paramiko的使用
"Paramiko" is a combination of the Esperanto words for "paranoid" and "frie ...
- hexo 博客支持PWA和压缩博文
目标网站 https://blog.rmiao.top/ PWA yarn add hexo-offline 然后在root config.yml里新增 # offline config passed ...
- Spring MVC的优势
Spring 框架提供了构建Web应用程序的全功能MVC模块--Spring MVC. Spring MVC框架提供了一个DispatcherServlet作为前端控制器来分派请求,同时提供灵活的配置 ...
- 布隆过滤器(BloomFilter)持久化
摘要 Bloomfilter运行在一台机器的内存上,不方便持久化(机器down掉就什么都没啦),也不方便分布式程序的统一去重.我们可以将数据进行持久化,这样就克服了down机的问题,常见的持久化方法包 ...