版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_25042791/article/details/86673581
这次分享使用Metrics.net + influxdb + grafana 构建项目自动化监控和预警方案。通过执行耗时,定位哪些接口拖累了服务的性能;通过请求频次,设置适当的限流和熔断机制,拦截非法或不合理的请求,保障服务的可用性。本次内容较多,部分详细内容将使用链接方式提供。

动手前,需下准备以下工具:

1、influxdb    下载地址: https://portal.influxdata.com/downloads/#influxdb
2、chronograf   下载地址: https://portal.influxdata.com/downloads/#chronograf   
3、grafana    下载地址: https://grafana.com/get

正式开始:

1、安装influxdb,

以window环境为例,   下载解压后文件

打开influxdb.conf,修改配置,

[meta]
  # Where the metadata/raft database is stored
  dir = "E:/influxdb/meta"

[data]
  # The directory where the TSM storage engine stores TSM files.
  dir = "E:/influxdb/data"

# The directory where the TSM storage engine stores WAL files.
  wal-dir = "E:/influxdb/wal"

网上有人是需要对[admin]修改,这个因为版本不同,没有[admin],所有对其不做修改。

最后cmd运行,进入到你的解压目录,执行命令:

influxd -config influxdb.conf
为了方便,我一般写个bat文件, 内容

"E:\influxdb\influxd.exe" -config  "E:\influxdb\influxdb.conf"
运行脚本文件 出现下面的界面 ,infLuxdb安装完成。

其它安装可参考 http://blog.51cto.com/oybw88/2107228

2、安装chronograf

安装完数据库,怎么查看呢,这时候就需要chronograf了, 解压下载的文件。

直接运行chronograf.exe, 正常情况会出现

在浏览器中打开http://localhost:8888,出现以下界面说明成功了。

创建数据库, 也可以使用第一步中的 influx.exe命令操作数据库。

参考https://www.cnblogs.com/shhnwangjian/p/6897216.html?utm_source=itdadao&utm_medium=referral

3、安装grafana

解压文件,运行grafana-server.exe

出现以下界面

浏览器打开http://localhost:3000

具体操作 参考https://www.cnblogs.com/imyalost/p/9873641.html

综上,基本准备工作已经完成。

最核心的是在代码中进行埋点采集数据。

实例采用.net下Metrics.Net 组件。

新建项目,引用 组件

在程序启动的地方(Global 获取main)加上

Metric.Config.WithReporting(report => report
.WithInfluxDbHttp("127.0.0.1", 8086, "TestDB", "admin", "admin", null, null,
TimeSpan.FromSeconds(1), null, configFunc => configFunc
.WithConverter(new DefaultConverter())
// WithGlobalTags($"env={environment},host={Dns.GetHostName()}"))
.WithFormatter(new DefaultFormatter().
WithLowercase(true))
// .WithWriter(new InfluxdbHttpWriter(configFunc, batchSize))
简单实例:获取访问特定接口的次数

private static int Account = 0;

/// <summary>
/// 访问接口的次数
/// </summary>
[HttpGet]
public int Test(int op)
{
Account++;
Metric.Gauge("Service Account Count", () => Account, new Unit());
return 11;
}
代码可参考:https://www.cnblogs.com/shanyou/p/4004711.html

运行程序,访问接口, 这是去http://localhost:3000 创建

进行一些配置,配置可参考:https://blog.csdn.net/zbljz98/article/details/80496851      https://blog.csdn.net/jinzhencs/article/details/76059984

最后展现的效果图:

整体完成,

这里说的部分是大体,每一个环节都有很多需要去研究,在快速开发的项目中,哪有那么多少时间研究呢,,,,,

按照上述所说的能够完整的搭建起来并使用,具体在使用的时候慢慢学习,由浅到深。

参考来源:

https://blog.csdn.net/sD7O95O/article/details/79547487
https://www.cnblogs.com/shanyou/p/4004711.html
https://blog.csdn.net/u010185262/article/details/53158786
http://www.361way.com/influxdb-user/5291.html
http://www.cnblogs.com/shanyou/p/4004711.html
https://www.cnblogs.com/Leo_wl/p/4471050.html
https://mp.weixin.qq.com/s?__biz=MzAwNTMxMzg1MA==&mid=2654069598&idx=1&sn=9ad93c53cf610293328cb3941383cdd1&chksm=80dbc70bb7ac4e1d3ef2f106a4c8ff819f7e1a8f11efa55274544d4a459927d6b6fe13b63d26&scene=21#wechat_redirect

谢谢各位的奉献。

————————————————
版权声明:本文为CSDN博主「wiArcher」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25042791/article/details/86673581

使用 Metrics.net + influxdb + grafana 搭建项目自动化监控和预警方案的更多相关文章

  1. Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警

    前言 这次主要分享通过Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警方案.通过执行耗时,定位哪些接口拖累了服务的性能:通过请求频次,设置适当的限流 ...

  2. WebAPI的自动化监控和预警

    Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警 前言 这次主要分享通过Metrics.net + influxdb + grafana 构建Web ...

  3. Telegraf+InfluxDB+Grafana搭建服务器监控平台

    Telegraf+InfluxDB+Grafana搭建服务器监控平台 tags:网站 个人网站:https://wanghualong.cn/ 效果展示 本站服务器状态监控:https://statu ...

  4. 搭建jmeter+influxdb+grafana压测实时监控平台(超详细,小白适用)

    1.前言 在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控.使用JMeter+Influxdb+Grafana可以实现实时监控. 本次环境搭建各软 ...

  5. Docker+Jmeter+InfluxDB+Grafana搭建性能测试监控平台

    搭建需求? jmeter自身的聚合测试报告可视化效果极差,为更加形象的.动态的展示测试过程,需要一个具有时序性的可视区来展示给我们的测试者, 这时候就需要用到后端监控,下面我们来开始搭建符合这种测试需 ...

  6. .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...

  7. collectd+influxDB+Grafana搭建性能监控平台

    网上查看了很多关于环境搭建的文章,都比较久远了很多安装包源都不可用了,今天收集了很多资料组合尝试使用新版本来搭建,故在此记录. 采集数据(collectd)-> 存储数据(influxdb) - ...

  8. 基于telegraf+influxdb+grafana进行postgresql数据库监控

    前言 随着公司postgresql数据库被广泛应用,尤其是最近多个项目在做性能测试的时候都是基于postgresql的数据库,为了确定性能瓶颈是否会出现在数据库中,数据库监控也被我推上了日程.在网上找 ...

  9. 基于InfluxDB+Grafana打造大数据监控利器--转

    这是一个大数据爆发的时代.面对信息的激流.多元化数据的涌现,我们在获取.存储.传输.理解.分析.应用.维护大数据时,无疑需要一种便捷的信息交流通道,以便快速.有效.准确地理解和驾驭这个过程.本文将通过 ...

随机推荐

  1. python_反射:动态导入模块

    官方推荐方法: test_mod.py def hi(): print('Hi') test.py import importlib q = importlib.import_module('test ...

  2. FineAdmin.Mvc 使用ok-admin+ASP.NET MVC搭建的通用权限后台管理系统

    FineAdmin.Mvc 介绍 使用ok-admin+ASP.NET MVC搭建的通用权限后台管理系统RightControl后台layui模板不太好看,换成ok-admin v2.0重写一遍.项目 ...

  3. PHP mysqli_change_user() 函数

    改变指定数据库连接的用户: <?php $con=mysqli_connect("localhost","my_user","my_passwo ...

  4. 007_STM32程序移植之_多通道ADC转换

    1. 测试环境:STM32C8T6 2. 测试:使用DMA进行多通道ADC转换 3. 描述:用 ADC 连续采集 12 路模拟信号,并由 DMA 传输到内存.ADC 配置为扫描 并且连续转换模式,AD ...

  5. django -过滤器的使用

    前情提要: 最近工作中用到django 中的  自定制过滤器的内容, 再此 复习一波过滤器和自定制 过滤器的内容 自定制过滤器   1.在settings中的INSTALLED_APPS配置当前app ...

  6. 在使用Telnet连接localhost时所遇到的问题:出现 ‘telnet’ 不是内部或外部命令,也不是可运行的程序或批处理文件

    1.出现 ‘telnet’ 不是内部或外部命令,也不是可运行的程序或批处理文件.原因:因为本机的Telnet客户端默认是关闭的,所以我们要手动打开解决方案:打开控制面板–>程序–>打开或关 ...

  7. word文档如何选择全部图片粘贴

    很多时候我们用一些管理系统的时候,发布新闻.公告等文字类信息时,希望能很快的将word里面的内容直接粘贴到富文本编辑器里面,然后发布出来.减少排版复杂的工作量. 下面是借用百度doc 来快速实现这个w ...

  8. C++ 2048游戏

    2048游戏实现起来还是比较简单的,注意几个细节,调几个bug就好了. 直接上源码,需要的可以拿走(手动滑稽 /*dos windows 25*80*/#include <algorithm&g ...

  9. VMWare Fusion 8 序列号

    FY75A-06W1M-H85PZ-0XP7T-MZ8E8 ZY7TK-A3D4N-08EUZ-TQN5E-XG2TF FG1MA-25Y1J-H857P-6MZZE-YZAZ6

  10. python 文件,文件夹,路径操作

    判断路径或文件os.path.isabs(...) # 判断是否绝对路径os.path.exists(...) # 判断是否真实存在os.path.isdir(...) # 判断是否是个目录os.pa ...