应用监控Metrics
应用监控Metrics
一、Metrics简介
二、埋点Metrics.NET的方法
1 <add key="AppID" value="150106"/>
2 <add key="Metrics.DBUri" value="http://139.198.13.12:4126/write"/>
3 <add key="Metrics.UserName" value="Arch"/>
4 <add key="Metrics.Password" value="Arch"/>
5 <add key="Metrics.Database" value="ArchDB"/>
1、Meter

1 static void CreateOrder()
2 {
3 try
4 {
5 // 省略关于下单的业务逻辑代码
6 //......
7
8 // 分别统计成功下单量和下单金额,统一写到MetrisKey中
9 MetricsKey.OrderCount.Mark();
10 if (n % 2 == 1)
11 {
12 MetricsKey.OrderMoneyCount.Mark("BuyerA", n);
13 }
14 else
15 {
16 MetricsKey.OrderMoneyCount.Mark("BuyerB", n);
17 }
18 }
19 catch (Exception)
20 {
21 // 统计失败下单量,统一写到MetrisKey中
22 MetricsKey.OrderErrorCount.Mark();
23
24 // 省略异常处理代码......
25 }
26 }

2、Histogram

 1 private readonly Histogram searchFlightTime = MetricsHelper.Histogram("MetricsDemo.SearchFlightTime", Unit.Custom("ms"));
 2
 3 static void SearchFlight()
 4 {
 5   Stopwatch stopwatch = Stopwatch.StartNew();
 6
 7   // 模拟关于航班查询的业务逻辑的代码
 8   Random random = new Random((int)DateTime.Now.Ticks & 0x0000FFFF);
 9   var n = Random.Next(100);
10   Thread.Sleep(n);
11
12   stopwatch.Stop();
13
14   // 统计航班搜索耗时
15   searchFlightTime.Update(stopwatch.ElapsedMilliseconds);
16 }

三、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的更多相关文章
- 中小研发团队架构实践之应用监控Metrics
		一.Metrics简介 应用监控系统Metrics由Metrics.NET+InfluxDB+Grafana组合而成,通过客户端Metrics.NET在业务代码中埋点,Metrics.N ... 
- OpenShift实战(五):OpenShift容器监控Metrics
		1.创建持久化metric pv卷 [root@master1 pv]# cat metrics.json apiVersion: v1 kind: PersistentVolume metadata ... 
- Java程序监控---Metrics
		概念 Metrics是一个给JAVA服务的各项指标提供度量工具的包,在JAVA代码中嵌入Metrics代码,可以方便的对业务代码的各个指标进行监控 目前最为流行的 metrics 库是来自 Coda ... 
- 049.Kubernetes集群管理-集群监控Metrics
		一 集群监控 1.1 Metrics Kubernetes的早期版本依靠Heapster来实现完整的性能数据采集和监控功能,Kubernetes从1.8版本开始,性能数据开始以Metrics API的 ... 
- Sentry Web 性能监控 - Metrics
		系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ... 
- 自定义Metrics:让Prometheus监控你的应用程序
		前言 Prometheus社区提供了大量的官方以及第三方Exporters,可以满足Prometheus的采纳者快速实现对关键业务,以及基础设施的监控需求. 如上所示,一个简单的应用以及环境架构.一般 ... 
- 【原创】Ingress-Nginx-Controller的Metrics监控源码改造简析
		一.背景 目前我们的生产环境一层Nginx已经容器化部署,但是监控并不完善,我们期望其具有Ingress-Nginx-Controller组件上报监控的数据.这样可以建立请求全链路的监控大盘.有利于监 ... 
- 开源一个监控数据采集Agent:OpenFalcon-SuitAgent
		OpenFalcon-SuitAgent 项目地址:github 版本说明 本系统版本划分如下 alpha:内部测试版(不建议使用于生产环境) beta:公开测试版(不建议使用于生产环境) final ... 
- Hadoop记录-Hadoop监控指标汇总
		系统参数监控metrics load_one 每分钟的系统平均负载 load_fifteen 每15分钟的系统平均负载 load_five 每5 ... 
随机推荐
- input输入提示历史记录
			一般便于用户的输入习惯,我们都会提示历史消息,让用户有更好的使用体验,以前可能比较多朋友会用js来实现,现在HTML5的datalist可以轻松帮我们实现这个功能!只需以下几行代码 <!doct ... 
- 登录mysql 报 Access denied for user 'root'@'localhost' 错误
			安装mysql后登录提示:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:yes) 解决如下 ... 
- 深入redis内部--初始化服务器
			初始化服务器代码如下: void initServer() { int j; signal(SIGHUP, SIG_IGN); signal(SIGPIPE, SIG_IGN); setupSigna ... 
- mysql 优化常用语句
			show status;//查询mysql各种状态: show variables like 'long_query_time';//慢查询的限定时间 set long_query_time=1;// ... 
- c++字符前面的L和_T
			字符串前面加L表示该字符串是Unicode字符串._T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变.因此,Visual C++里边定 ... 
- 原创:微信小程序之MaterialDesign--input组件
			作者:jeffer 来自:原文地址 主要通过input输入事件配合css的transform动态改变实现这种效果. 实际调试过程中,input组件bindinput事件触发后回调的detail对象,在 ... 
- Struts2 学习(二)
			一.Struts2 配置文件 1.配置多个配置文件 在大部分应用里,随着应用规模的增加,系统中Action的数量也会大量增加,导致struts.xml配置文件变得非常臃肿. 为了避免struts.xm ... 
- Hibernate 学习(三)
			一.关系映射 实体类之间的关联映射以及表之间的关系是 ORM 的灵魂之处.对象间的关系的子集可以用下列四种方式解释.关联映射可以是单向的也可以是双向的. 映射类型 描述 Many-to-One 使用 ... 
- java 2018面试题-多线程汇总(含解答)
			学习,内容越多.越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的.这篇文章主要是对多线程的问题进行总结的,因此罗列了自己整理的多线程的问题,都是自己觉得比较经典和一些大企业面试会问 ... 
- ecs CentOS 7 安装 mariadb
			检查之前是否已经安装 rpm -qa | grep mariadb 如果已安装,卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 开 ... 
