Metrics+ElasticSearch+grafana

Posted Leo_wlCnBlogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch:Top metrics 聚合

如何使用 tf.metrics.accuracy?

elasticsearch--聚合中桶(Buckets)和指标(Metrics)的概念

[Elasticsearch] 聚合中的重要概念 - Buckets(桶)及Metrics(指标)

elasticSearch2.4与grafana,stagemonitor集成做监控需要执行的mapping

elasticsearch 进阶