Metrics+ElasticSearch+grafana——性能监控解决方案

利用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
Metrics+ElasticSearch+grafana——性能监控解决方案_第1张图片

安装扩展的展示插件

安装饼图命令:grafana-cli plugins install grafana-piechart-panel
Metrics+ElasticSearch+grafana——性能监控解决方案_第2张图片

添加grafana为windows服务

使用nssm.exe
Metrics+ElasticSearch+grafana——性能监控解决方案_第3张图片

将nssm.exe拷贝到安装包的bin下,安装。在弹出的窗体中添加bin目录,点击install service
可安装成功,会显示一个弹出窗,表示安装success。查看服务中是否成功添加,并启动。

以上步骤就完成全部的安装

接下来,看怎么使用

数据收集

C#代码中编写测试demo,写一个随机数到ElasticSearch
  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自带的数据可视化界面。
Metrics+ElasticSearch+grafana——性能监控解决方案_第4张图片

grafana数据展示

第一步,添加数据源

Metrics+ElasticSearch+grafana——性能监控解决方案_第5张图片

第二步添加Dashboard


第三步配置展示数据

Metrics+ElasticSearch+grafana——性能监控解决方案_第6张图片


dashboard通过导入方式添加

可以添加本地的dashboard文件,上传指定文件即可

也可以添加grafana.com上提供的模板,通过id或是url

我们看一下,如何使用在线的模板‘

Metrics+ElasticSearch+grafana——性能监控解决方案_第7张图片

然后出现

Metrics+ElasticSearch+grafana——性能监控解决方案_第8张图片



你可能感兴趣的:(Metrics+ElasticSearch+grafana——性能监控解决方案)