Metrics+ElasticSearch+grafana
Metrics+ElasticSearch+grafana——性能监控解决方案
https://blog.csdn.net/Shiyaru1314/article/details/76906461
利用Metrics+ElasticSearch+grafana来构建监控平台
Metrics 采集数据
ElasticSearch 存储数据
Grafana 显示数据
Metrics
Metrics.NET是一个给CLR提供度量工具的包,在c#中嵌入metrics代码,可以方便对业务代码的各个指标进行监控。
只需在.NET项目中添加Nuget安装包,Metrics.Net
以及写入到ElasticSearch的Nuget安装包Metrics.Net.ElasticSearch,如果找不到,可以通过Nuget程序包控制台安装
安装命令如下:
Install-Package Metrics.NET.ElasticSearch -Version 0.5.0-pre -Pre
ElasticSearch
其使用安装,参考本博客专栏,在此不做过多介绍
Grafana
是一个开源的指标量监测和可视化工具
官方在线的demo可以在这里找到: http://play.grafana.org
安装命令:
grafana-server.exe
安装扩展的展示插件
安装饼图命令:grafana-cli plugins install grafana-piechart-panel
添加grafana为windows服务
使用nssm.exe
将nssm.exe拷贝到安装包的bin下,安装。在弹出的窗体中添加bin目录,点击install service
可安装成功,会显示一个弹出窗,表示安装success。查看服务中是否成功添加,并启动。
以上步骤就完成全部的安装
接下来,看怎么使用
数据收集
C#代码中编写测试demo,写一个随机数到ElasticSearch
[csharp] view plain copy
static void Main(string[] args)
{
MetricsConfig();
}
private static void MetricsConfig()
{
var esConfig = new ElasticReportsConfig() { Host = "192.168.25.235", Port = 9200, Index = "metrics" };
Metric.Config
.WithHttpEndpoint("http://localhost:1234/metrics/")
.WithReporting(config => config
.WithElasticSearch(esConfig, TimeSpan.FromSeconds(1))
);
while (true)
{
ToElastic();
}
}
private static void ToElastic()
{
Metric.Gauge("Errors", () => Ran.Next(300, 500), Unit.None);
Metric.Gauge("% Percent/Gauge|test", () => Ran.Next(0, 100), Unit.None);
Metric.Gauge("& AmpGauge", () => Ran.Next(0, 1), Unit.None);
Metric.Gauge("()[]{} ParantesisGauge", () => Ran.Next(22, 23), Unit.None);
Metric.Gauge("Gauge With No Value", () => 0, Unit.None);
Console.WriteLine("done setting things up");
Console.ReadKey();
}
查看定义的metrics终结点,metrics自带的数据可视化界面。
grafana数据展示
第一步,添加数据源
第二步添加Dashboard
第三步配置展示数据
dashboard通过导入方式添加
可以添加本地的dashboard文件,上传指定文件即可
也可以添加grafana.com上提供的模板,通过id或是url
我们看一下,如何使用在线的模板‘
然后出现
Metrics+ElasticSearch+grafana的更多相关文章
- 基于.net core微服务(Consul、Ocelot、Docker、App.Metrics+InfluxDB+Grafana、Exceptionless、数据一致性、Jenkins)
1.微服务简介 一种架构模式,提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(RESTfu ...
- .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...
- .net core使用App.Metrics+InfluxDB+Grafana进行APM监控
一.InfluxDB 1.下载InfluxDB wget https://dl.influxdata.com/influxdb/releases/influxdb-1.5.2.x86_64.rpm 2 ...
- 利用Metrics+influxdb+grafana构建监控平台(转)
转自http://www.jianshu.com/p/fadcf4d92b0e 这里再配合Influxdb和Grafana可以构建一个非常漂亮的实时监控界面. Grafana监控界面 采集数据(Met ...
- 微服务监控之二:Metrics+influxdb+grafana构建监控平台
系统开发到一定的阶段,线上的机器越来越多,就需要一些监控了,除了服务器的监控,业务方面也需要一些监控服务.Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作. 使 ...
- 利用Metrics+influxdb+grafana构建监控平台
https://blog.csdn.net/fishmai/article/details/51817429
- Spring Boot Metrics监控之Prometheus&Grafana(转)
欢迎来到Spring Boot Actuator教程系列的第二部分.在第一部分中,你学习到了spring-boot-actuator模块做了什么,如何配置spring boot应用以及如何与各样的ac ...
- 使用Metrics监控应用程序的性能
在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ...
- timeSeries db之:使用Metrics监控应用程序的性能 (zz)
在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ...
随机推荐
- Ajax异步交互
一.简介 Ajax(Asynchronous JavaScript and XML).一般都写为Ajax. Ajax是与服务器交换数组并更新部分网页的艺术.最初的使用时2005中Google Sugg ...
- 表单验证(JQ)
<!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...
- react初学
react和vue一样都是mvvm的这种开发模式. 下载js文件 引入HTML文件里 <!DOCTYPE html> <html> <head> <scrip ...
- echarts重新加载动画
echarts重新加载动画 var option1 = area_right_top1.getOption();area_right_top1.clear();area_right_top1.setO ...
- 出现java.lang.NoSuchMethodError错误的原因
作为Java开发者我们都遇到过java.lang.NoSuchMethodError错误,究其根源,是JVM的"双亲委托模型"引发的问题.如果在类路径下放置了多个不同版本的类包,如 ...
- laydate js动态添加时间
$("#test2").click(function(){ var input=$('<input/>'); $("#test1").append( ...
- Java学习笔记十:Java的数组以及操作数组
Java的数组以及操作数组 一:什么是数组: 数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩 数组中的元 ...
- linux io 学习笔记(01)---锁,信号量
1.采用信号量访问:当有段临界代码,需要保证排他的访问一个资源. 2.sudo dmesg -c 消除dmesg缓冲 3.互斥锁:代表的是一种锁资源,互斥锁的工作原理是:保证对共享资源操作的原子性 ...
- springmvc 配置多视图(jsp,freemarker,HTML等)
SpringMVC 的 Controller 可以返回各种各样的视图.比如 JSP, JSON, Velocity, FreeMarker, XML, PDF, Excel, 还有Html字符流 等等 ...
- js 邮箱和手机号码验证
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...