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

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

然后出现

原文地址:https://www.cnblogs.com/Leo_wl/p/9060349.html

时间: 2024-11-05 20:27:13

Metrics+ElasticSearch+grafana的相关文章

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

在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对外提供了多少次服务,这些服务的响应时间是多少,随时间变化的情况是什么样的,系统出错的频率是多少.这些动态的准实时信息对于监控整个系统的运行健康状况来说很重要. 一些应用程序,比如对外提供接口或者服务的WebService,对整个系统的实时运行情况进行监控显得尤为重要,着就像我们操作系统里面的资源管理

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

在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对外提供了多少次服务,这些服务的响应时间是多少,随时间变化的情况是什么样的,系统出错的频率是多少.这些动态的准实时信息对于监控整个系统的运行健康状况来说很重要. 一些应用程序,比如对外提供接口或者服务的WebService,对整个系统的实时运行情况进行监控显得尤为重要,着就像我们操作系统里面的资源管理

Metrics监控应用

使用Metrics监控应用程序的性能 在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对外提供了多少次服务,这些服务的响应时间是多少,随时间变化的情况是什么样的,系统出错的频率是多少.这些动态的准实时信息对于监控整个系统的运行健康状况来说很重要. 一些应用程序,比如对外提供接口或者服务的WebService,对整个系统的实时运行情况进行监控显得尤为

.Net Core 商城微服务项目系列(三):Ocelot网关接入Grafana监控

使用网关之后我们面临的一个问题就是监控,我们需要知道网关的实时状态,比如当前的请求吞吐量.请求耗费的时间.请求峰值甚至需要知道具体哪个服务的哪个方法花费了多少时间.网关作为请求的中转点是监控品牌的要塞. 本篇将针对Ocelot添加Metrics+InfluxDB+Grafana架构的监控. 1.下载安装InfluxDB和Grafana 在使用前需要先下载InfluxDB和Grafana这两个工具,下载安装方式大家可以先看下Edison Zhou大神的这篇:https://www.cnblogs.

基于grafana+prometheus构建Flink监控

先上一个架构图: Flink App : 通过report 将数据发出去 Pushgateway :  Prometheus 生态中一个重要工具 Prometheus :  一套开源的系统监控报警框架 (Prometheus 入门与实践) Grafana: 一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知(可视化工具Grafana:简介及安装) Node_exporter : 跟Pushgateway一样是Prometheus 的组件,采集到主机的运行

pmm 监控mysql、mongodb、系统

Pmm监控 1.概述 Pmm是(percona management and monitoring)一款用于数据库(mysql.mongodb)的监控工具,是一种典型的C/S架构.本次部署采用的是docker,pmm-server端包括数据汇集.展示等,pmm-client主要是部署在需要监控的服务器上,用于数据收集.Pmm-server比较占系统资源,建议将其安装在单独一台服务器上面或安装在一台性能比较好的服务器上. 2.部署server端 系统环境:centos7.2 Docker:1.12

Percona Monitoring and Management (PMM) 监控MongoDB

Percona Monitoring and Management (PMM) 监控MongoDB 1. Percona监控和管理概述 1.1 Percona监控和管理架构 1.2 PMM Client 1.3 PMM Server 2. 安装MongoDB 2.1 配置Percona yum源 3. 部署Percona监控和管理 3.1 yum安装Docker 3.2 创建一个PMM数据容器 3.3 创建并运行PMM服务器容器 3.4 安装PMM客户端 3.5 pmm server与pmm c

asp.net core api网关 实时性能监控

asp.net core api网关 实时性能监控 使用InfluxDB.Grafana Dockerfile 运行 InfluxDB.Grafana influxdb: image: influxdb ports: - "8086:8086" - "8083:8083" environment: - INFLUXDB_DB=TogetherAppMetricsDB - INFLUXDB_ADMIN_ENABLED=true - INFLUXDB_ADMIN_USE

Work Records

1. 设计并实现large scale, distributed deep learning inference platform API Server, CLI (FLask, Mysql) 接入公司CAS,实现用户鉴权 (CAS SSO) ModelZoo (Flask, OS, HDFS) 设计并实现ModelZoo,接收用户上传并转换好的模型(ONNX -> TensorRT), 进行模型的版本控制,并存储到TOS,HDFS 测试Tfserving Mesos 增加cAdvisor 的d