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的更多相关文章

  1. 基于.net core微服务(Consul、Ocelot、Docker、App.Metrics+InfluxDB+Grafana、Exceptionless、数据一致性、Jenkins)

    1.微服务简介 一种架构模式,提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(RESTfu ...

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

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

  3. .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 ...

  4. 利用Metrics+influxdb+grafana构建监控平台(转)

    转自http://www.jianshu.com/p/fadcf4d92b0e 这里再配合Influxdb和Grafana可以构建一个非常漂亮的实时监控界面. Grafana监控界面 采集数据(Met ...

  5. 微服务监控之二:Metrics+influxdb+grafana构建监控平台

    系统开发到一定的阶段,线上的机器越来越多,就需要一些监控了,除了服务器的监控,业务方面也需要一些监控服务.Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作. 使 ...

  6. 利用Metrics+influxdb+grafana构建监控平台

    https://blog.csdn.net/fishmai/article/details/51817429

  7. Spring Boot Metrics监控之Prometheus&Grafana(转)

    欢迎来到Spring Boot Actuator教程系列的第二部分.在第一部分中,你学习到了spring-boot-actuator模块做了什么,如何配置spring boot应用以及如何与各样的ac ...

  8. 使用Metrics监控应用程序的性能

    在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ...

  9. timeSeries db之:使用Metrics监控应用程序的性能 (zz)

    在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ...

随机推荐

  1. 实现php Curl 调用不同项目中方法

    之前为了实现跨项目调用方法,遇到的一些问题和解决方法总结. 话不多说,直接复制代码先跑了再说! jq代码. $.ajax({ type: "post", dataType: &qu ...

  2. 【php练习源码】

    Something is wrong with the XAMPP installation :-( value[$name]=$sex; } public function getInfomatio ...

  3. jquery如何获取对应表单元素?

    问题描述:我页面中有这样多个表单,我都是这个定义的,当我点击确定按钮时,此时能够获得相对应的表单对象,我该怎么获取到他的两个值呢? 解决方案: 页面元素 <form id="form1 ...

  4. Asp.Net Core 使用Docker进行容器化部署(二)使用Nginx进行反向代理

    上一篇介绍了Asp.Net 程序在Docker中的部署,这篇介绍使用Nginx对Docker的实例进行反向代理 一.修改Nginx配置文件 使用winscp链接Liunx服务器,在/ect/nginx ...

  5. PHP计算翻页

    function fanye() { if ($total <= $num) { $list['curTotal'] = $total; } else { $offsetA = $start; ...

  6. Makefile中wildcard的介绍

    在Makefile规则中,通配符会被自动展开.但在变量的定义和函数引用时,通配符将失效.这种情况下如果需要通配符有效,就需要使用函数“wildcard”,它的用法是:$(wildcard PATTER ...

  7. 图表制作工具之ECharts

    简介 ECharts,缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9/10 ...

  8. Memcached Hash算法

    本文来自网易云社区 作者:吕宗胜 Hash算法 1. Memcached Hash介绍 我们在前面的文章中已经介绍过了Memcached的内存管理方式,LRU的策略.由于Memcached的数据存储方 ...

  9. [转]Android UI 自动化测试

    介绍 Android测试支持库包含UI自动化模块,它可以对Android应用进行自动黑盒测试.在API Level 18中引入了自动化模块,它允许开发者在组成应用UI的控件上模仿用户行为. 在这个教程 ...

  10. 用gradle编译任意结构的Android项目

    ## 需求 * 继续用`Eclipse`项目的结构,但是使用`gradle`编译,或者说任意的项目结构进行编译. ## 解决方案 1. Android studio的项目结构 1. Android S ...