考虑到分布式部署监控环境是所有的请求情况,所以这一块一般在网关GateWay里面加比较省事,聚合在一起的,如果放在api服务中,如果只有1个还好,一旦部署Node多是很痛苦的事情

这天需要添加的Nuget包如下:

在配置添加

{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
//AppMetrics配置
"AppMetrics": {
"DataBaseName": "lymtest",
"ConnectionString": "http://192.168.0.212:8086",
"UserName": "liyouming",
"Password": "lym123!@#",
"App": "体检服务",
"Env": "测试环境"
},
"AllowedHosts": "*"
}

注意使用中文一定要指定U8,不然文字会乱码,设置好连接地址 、数据库名称、用户名、密码、应用名称、应用环境

下面看下代码中的处理

配置ConfigServices服务

 AppMetricsConfig config = Configuration.GetSection("AppMetrics").Get<AppMetricsConfig>();
services.AddMetrics(AppMetrics.CreateDefaultBuilder()
.Configuration.Configure(
options =>
{
options.AddAppTag(config.App);
options.AddEnvTag(config.Env);
})
.Report.ToInfluxDb(
options =>
{
options.InfluxDb.BaseUri = new Uri(config.ConnectionString);
options.InfluxDb.Database = config.DataBaseName;
options.InfluxDb.UserName = config.UserName;
options.InfluxDb.Password = config.Password;
options.HttpPolicy.BackoffPeriod = TimeSpan.FromSeconds();
options.HttpPolicy.FailuresBeforeBackoff = ;
options.HttpPolicy.Timeout = TimeSpan.FromSeconds();
options.FlushInterval = TimeSpan.FromSeconds();
})
.Build());
services.AddMetricsReportScheduler();
services.AddMetricsTrackingMiddleware();
services.AddMetricsEndpoints();

Configure中添加需要跟踪的中间件

            app.UseMetricsAllMiddleware();
app.UseMetricsActiveRequestMiddleware();
app.UseMetricsErrorTrackingMiddleware();
app.UseMetricsPostAndPutSizeTrackingMiddleware();
app.UseMetricsRequestTrackingMiddleware();
app.UseMetricsOAuth2TrackingMiddleware();
app.UseMetricsApdexTrackingMiddleware();
app.UseMetricsAllEndpoints();
app.UseMetricsEndpoint();
app.UseMetricsTextEndpoint();
app.UseEnvInfoEndpoint();

然后运行下程序访问下一些功能,监控需要的数据已经加到InfluxDB中去了

接下来就需要把InfluxDB中的数据导入到Grafana中,下面就进入到Grafana中去Import,这里根据配置的5s从InfluxDB刷新数据

这里可以输入Dashboard的地址,也可以直接输入ID 2125

Import导入可以看到Dashboard

我们也可以看下Dashboard管理中去看现有的所有Dashboard

这里,我程序还没有运行起来,下面我运行好程序,迅速刷新几十次可以看到下面的数据统计情况

然后这块节本就搞定了

.NetCore 中使用AppMetrics向InfluxDB中添加监控数据并通过Grafana图像分析的更多相关文章

  1. SpringBoot 2.0 + InfluxDB+ Sentinel 实时监控数据存储

    前言 阿里巴巴提供的控制台只是用于演示 Sentinel 的基本能力和工作流程,并没有依赖生产环境中所必需的组件,比如持久化的后端数据库.可靠的配置中心等.目前 Sentinel 采用内存态的方式存储 ...

  2. Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据

    背景 Python中,想要打开已经存在的excel的xls文件,然后在最后新的一行的数据. 折腾过程 1.找到了参考资料: writing to existing workbook using xlw ...

  3. 如何在IOS开发中在自己的framework中添加.bunble文件

    今天就跟大家介绍一下有关,如何在IOS开发中在自己的framework中添加.bunble文件,该文章我已经在IOS教程网(http://ios.662p.com)发布过来,个人觉得还是对大家有帮助的 ...

  4. 向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法

    转自原文 向SDE图层中添加大量数据时,出现ORA-00604以及ORA-01000的解决办法 写了一个小程序,从一个列表中读取坐标串,每个坐标串生成一个IPolygon,然后将这些Polygon添加 ...

  5. 在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤

    原文 http://www.cnblogs.com/2356/archive/2009/10/27/1590565.html 在Unicode版Inno Setup中使用ISSkin给安装程序添加皮肤 ...

  6. InfluxDb中写入重复数据问题解决方案

    1.InfluxDb版本 0.10.3 2.Measurement TodayChargeTimeReport 只有time和Field列,没有Tag列 3.现象:通过定时任务向上面的表中写入数据: ...

  7. asyncio 中给running 的loop 动态添加 Future Task

    https://my.oschina.net/backbye/blog/1919486 asyncio 提供了两个给运行中的事件循环(loop) 添加 事件的方法 call_soon_threadsa ...

  8. InfluxDB中文文档

    来源:https://github.com/jasper-zhang/influxdb-document-cn InfluxDB中文文档 InfluxDB是一个用于存储和分析时间序列数据的开源数据库. ...

  9. html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感)

    html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感) 效果图: 运行原理和技术: 当页面加载完毕,利用jquery向后台发送ajax请求,去后台拼接<select>&l ...

随机推荐

  1. Go匿名函数

    1.GO语言的匿名函数就是闭包 基本概念 闭包是可以包含自由(未绑定到特定对象)变量的代码块,这些变量不在这个代码块内或者任何全局上下文中定义,而是在定义代码块的环境中定义.要执行的代码块(由于自由变 ...

  2. 51nod 1295 XOR key (可持久化Trie树)

    1295 XOR key  题目来源: HackerRank 基准时间限制:1.5 秒 空间限制:262144 KB 分值: 160 难度:6级算法题   给出一个长度为N的正整数数组A,再给出Q个查 ...

  3. mysql主主同步设置

    mysql主主同步设置 主主同步设置是同等的地位,所以以下操作在两台机器上都需要进行而且操作是相同的. 服务器 服务器代号 IP hostname A 192.168.70.128 Debian1 B ...

  4. 解题:ZJOI 2006 皇帝的烦恼

    禁止DP,贪心真香 有一个比较明显的贪心思路是让每个人和距离为$2$(隔着一个人)的人尽量用一样的,这样只需要扫一遍然后对每对相邻的人之和取最大值即可.但是当人数为奇数时这样就会出锅,因为最后一个人和 ...

  5. LOJ#2983. 「WC2019」数树

    传送门 抄题解 \(Task0\),随便做一下,设 \(cnt\) 为相同的边的个数,输出 \(y^{n-cnt}\) \(Task1\),给定其中一棵树 设初始答案为 \(y^n\),首先可以发现, ...

  6. 【洛谷P1272】道路重建

    题目大意:给定一个 N 个节点的树,求至少剪掉多少条边才能使得从树中分离出一个大小为 M 的子树. 题解:考虑树形 dp,定义 \(dp[u][i][t]\) 为以 u 为根节点与前 i 个子节点构成 ...

  7. 【洛谷P2921】Trick or Treat on the Farm

    题目大意:给定一个 N 个节点的内向树森林,求从每个顶点出发能够到达的最多不重复顶点的个数是多少. 题解:内向树森林是由一个或若干个环加若干条链构成.可以先按照类似于拓扑排序的规则进行删链,再对环上的 ...

  8. linux 系统文件类型、系统安装时间、系统启动时间、系统运行时间、设置及显示时间、系统时间和硬件时间

    系统文件类型: 1) $mout 2) df -l:仅列出本地文件系统:-h (--human-readable):-T:文件系统类型 $df -lhf 3) file -s (--special-f ...

  9. Dubbo学习笔记4:服务消费端泛化调用与异步调用

    本文借用dubbo.learn的Dubbo API方式来解释原理. 服务消费端泛化调用 前面我们讲解到,基于Spring和基于Dubbo API方式搭建简单的分布式系统时,服务消费端引入了一个SDK二 ...

  10. info replication

    主Redis设置值:redis-cli -h 192.168.18.121 -p 63800 -a tinywan123456 登陆从1:redis-cli -h 192.168.18.121 -p ...