应用监控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 ...
随机推荐
- c#各个版本的特性
现在unity2018.2已经支持c#7.2了 版本特性: https://www.cnblogs.com/zq20/p/6323205.html
- Ubuntu安装Python的mysqlclient
介绍 本人想在Ubuntu上开发Python程序,使用MySQL数据库. 安装环境: Ubuntu14.04 安装MySQL数据库 具体步骤如下: apt-get update apt-get ins ...
- 九度oj题目1342:寻找最长合法括号序列II
题目1342:寻找最长合法括号序列II(25分) 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:886 解决:361 题目描述: 假如给你一个由’(‘和’)’组成的一个随机的括号序列,当然 ...
- vue-cli 基础搭建
1.安装node 2.npm install webpack -g 3.npm install vue-cli -g 4.然后进入到文件下边 vue init webpack 文件名字 5.进入工程文 ...
- 持续集成工具TeamCity配置使用
持续集成CI(Continuous Integration)主要包括自动化的编译.发布和测试集成,对于我们信息系统项目开发非常有用.一般开发人员机器上会搭建自己的开发环境,整个项目在服务器上会搭建测试 ...
- 常用工具说明--GitHub团队项目合作流程
注:其中 零.一.七 是由团队项目负责人来完成的.开发人员只要从 二 开始就行了. 零.前期准备: 首先把队友直接push的权限关掉,即设置成Read.这样可以防止队友误操作,未经审核就把代码push ...
- AngularJS的日期格式化有两种形式
AngularJS的日期格式化有两种形式,一种是在HTML页面,一种是在JS代码里,都是用到AngularJS的过滤器$filter. HTML: date_expression 即 你在$scope ...
- 微信小程序wx:for循环
最近做微信小程序碰到了一些问题,和wx:for循环相关,wx:for有很多用途,例如可以用于swiper中图片的循环,也就是所谓的轮播图,也可以用于其它的循环,可以大大地减少代码量. 但wx:for. ...
- Expression Blend实例中文教程(10) - 缓冲动画快速入门Easing
随着Rich Internet application(RIA)应用技术的发展,各个公司越来越注重于项目的用户体验性,在保证其功能完善,运行稳定的基础上,绚丽的UI和人性化的操作设计会给用户带来舒适的 ...
- Java String、string[]、List初始化方法
String初始化: 1.String str = new String("string1"); 2.String str = "string1"; Strin ...