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. 富文本编辑器 wangEditor.js

    1.引用 wangEditor 相关js  和 css 下载地址:https://files.cnblogs.com/files/kitty-blog/WangEditor.zip 3.页面: < ...

  2. web3.js_1.x.x--API(一)event/Constant/deploy/options

    /* 事件是使用EVM日志内置功能的方便工具,在DAPP的接口中,它可以反过来调用Javascript的监听事件的回调. 事件在合约中可被继承.当被调用时,会触发参数存储到交易的日志中(一种区块链上的 ...

  3. laravel 增删改查 数据库设置 路由设置

    laravel 框架的路由设置: url: http://www.shanzezhao.com/laraverl/my_laravel/public/index.php/indexs laravel ...

  4. 电子商城实录------定义init初始化的方法

    路由方法的设置 //路由方法 private static function dispatch(){ //获取控制器名称(类比:英文单词的后缀) $controller_name=CONTROLLER ...

  5. mysql帐号不允许从远程登陆

    默认情况下,mysql帐号不允许从远程登陆,只能在localhost登录.本文提供了二种方法设置mysql可以通过远程主机进行连接. 一.改表法 在localhost登入mysql后,更改 “mysq ...

  6. PADS快捷键

    问:在pads layout中怎样显示或隐藏铺铜的效果 答: 无模命令:po 或者spo 前者是平面层 后者是混合层. 同时你可以在ctrl+alt+c 色彩项中关闭 copper . 使用 无模命令 ...

  7. windows和Ubuntu下安装mongodb

    windows 下载 mongodb官网下载压缩版安装包:下载地址:https://www.mongodb.com/download-center/community 注意选择版本(目前windows ...

  8. 6-C++远征之封装篇[上]-学习笔记

    C++远征之封装篇(上) 课程简介 类(抽象概念),对象(真实具体) 配角: 数据成员和成员函数(构成了精彩而完整的类) 构造函数 & 析构函数(描述了对象的生生死死) 对象复制和对象赋值 ( ...

  9. react项目中引入百度地图打包报错问题

    一.我正常引入百度地图,调试时候是好使的,但是打包时候就报错 引入方法如下: 报错如图 正常调试是好使的,但是打包报这个错,解析不了这个BMap,那么怎么办呢? 然后我就转用了window办法,虽然因 ...

  10. spring data elasticsearch多索引查询

    一次查询多个索引数据 es里可以这样写 GET 索引1,索引2,索引3/_search 也可以这样 给索引创建别名,多个索引可以使用一个别名 POST /_aliases { "action ...