集成InfluxDb, telegraf, Grafana, App Metrics以记录性能指标
前情概要
- 刚好有半天得闲功夫, 从项目里面找个功能来水一篇文章.
- 上线的项目通常都是需要做性能数据收集工作的, 它好处就不想打字了.
- 业界有很多套方案, 工具[收费的, 免费的], 收集采用[拉取的,推送的]等等可以各种组合,各种优劣势等介绍和比较请自行google.
实施方案
- 数据存储使用时序数据库InfluxDb
- 数据展示使用Grafana
- .NET Core 程序组件使用App Metrics
- Host收集组件使用telegraf
InfluxDb
一个时序数据库, 用来存储监控数据很适合, 其他的比如Prometheus等都阔以.
Grafana
图表展示, 告警策略等
telegraf
在物理机, 虚拟机, container上收集主机的性能指标插件, 用的的Push模式, 同时它有很多插件可以用来采集不同的性能数据, 比如host相关的cpu, memory, network等, 应用程序nginx, rabbitmq, 等等几百个插件
App Metrics
- 项目文档
- 项目Github
- 应用程序支持.NET Core, 也同时支持.NET 4.5.2+
- 可以将数据上报到多种Source 支持
Prometheus,GrafanaCloud Hosted Metrics,Influx Data,Datadog,StatsD,Http,Socket,Console,Azure Application Insights,Text File,Graphite,自定义 - 组件也提供了Http Api 可以直接浏览, 参考地址
集成App Metrics到项目中
- 安装
App.Metrics.*nuget 包到自己的项目, 具体要什么请查询文档, 在web项目下和console下可以细化用不同的包 - 剩下的不想写了, 参考官方DEMO
在Grafana中展示App Metrics上报的数据
- Web api的dashboards模板
- 其他模板可以在dashboards搜索添加, 比如Linux主机, docker主机, win主机, docker主机, docker容器, aws容器.
成果
Web程序的一些指标

某个业务的一些指标

Linux主机的一些指标





Win主机的一些指标


AWS ECS的一些指标

集成InfluxDb, telegraf, Grafana, App Metrics以记录性能指标的更多相关文章
- .Net Core 2.0+ InfluxDB+Grafana+App Metrics 实现跨平台的实时性能监控
最近这段时间一直在忙,没时间写博客,负责了一个项目,从前端到后端一直忙,同时还有其他第几个项目的系统架构要处理. 去年就开始关注net core了,只是平时写写demo,没用在项目中,正好这次机会就用 ...
- .Net Core 2.*+ InfluxDB+Grafana+App Metrics实时性能监控
前言 .net core 2.* 实施性能监控 这个工具其实给运维 大大们用起来是更爽的.但是Grafana现在还没有找到中文版. 本文需要了解的相关技术与内容: InfluxDb(分布式时序数据库, ...
- .NET Core使用App.Metrics监控消息队列(一):初探
一.简介 App Metrics是一个开放源代码和跨平台的.NET库,用于记录应用程序中的指标.App Metrics可以在.NET Core或也支持.NET 4.5.2的完整.NET框架上运行. A ...
- 使用App.Metrics监控消息队列
使用App.Metrics监控消息队列 一.简介 App Metrics是一个开放源代码和跨平台的.NET库,用于记录应用程序中的指标.App Metrics可以在.NET Core或也支持.NET ...
- Springboot2 Metrics之actuator集成influxdb, Grafana提供监控和报警
到目前为止,各种日志收集,统计监控开源组件数不胜数,即便如此还是会有很多人只是tail -f查看一下日志文件.随着容器化技术的成熟,日志和metrics度量统计已经不能仅仅靠tail -f来查看了,你 ...
- .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...
- 基于.net core微服务(Consul、Ocelot、Docker、App.Metrics+InfluxDB+Grafana、Exceptionless、数据一致性、Jenkins)
1.微服务简介 一种架构模式,提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(RESTfu ...
- .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 ...
- grafana+influxdb+telegraf监控服务器cpu,内存和硬盘
随便抄了一篇,目前我们的项目也在用,这个是linux和windows通吃的一种监控方案,非常有效,详细和优美,需要监控什么具体的业务内容,自己向influxdb中插入就行了. 监控服务器状态是运维必不 ...
- Grafana+Influxdb+Telegraf监控mysql
Grafana+Influxdb+Telegraf监控mysql 一.安装 1.1安装Grafana+influxdb+telegraf 1.2启动服务,添加开机启动 1.3查看grafana界面 二 ...
随机推荐
- 学术写作: These authors contributed equally to this work. —— 共同一作
早些年很少看到论文里面有: These authors contributed equally to this work. 不过现在这种方法在论文中出现的还是比较多的,说白了,这种共同一作的声明其实是 ...
- NVIDIA公司在实体机器人上的第一步尝试 —— Nova Cater AMR —— 九号机器人与英伟达联合开发的自动驾驶研发平台“Nova Cater AMR(简称:NC)”
相关: https://www.leiphone.com/category/robot/Hgy9i8azqGncESIB.html Nova Cater AMR是一款仓储运货机器人,可以应用在仓储物流 ...
- 如何在无窗口模式下运行GPG——如何在命令行模式下使用gpg生成秘钥:How to make gpg prompt for passphrase on CLI——GPG prompt for password in command line
参考: Unable to generate a key with GnuPG (agent_genkey failed: No such file or directory) ["No s ...
- No such file or directory: 'patchelf': 'patchelf'
安装mujoco报错: No such file or directory: 'patchelf': 'patchelf' 解决方法: sudo apt-get install patchelf
- 数据库存储时间数据用timestamp 好还是 varchar好
表示日期数据基本是date型,只有年月的用varchar2或者char,好处见下:1.数据规范.date对合法日期型会校验,包括闰年2月这种.避免字符型变量产生的某月32号,日期长度不对,日期格式不统 ...
- 代码随想录Day16
513.找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值. 假设二叉树中至少有一个节点. 示例 1: 输入: root = [2,1,3] 输出: 1 示 ...
- .NET 8 + Vue 3 极简 RABC 权限管理系统
前言 在日常工作中,几乎每家公司都需要一个后台管理系统来处理各种任务.为了帮助大家快速搭建这样一个系统,给大家介绍一个基于最新技术 .NET 8 和前端框架 Vue 3 实现的极简 RABC(基于角色 ...
- Linux下错误解决方案
错误 "E: Unable to correct problems, you have held broken packages."这种问题包破坏问题,可能是由于镜像源与系统版本不 ...
- 【LLM训练系列】NanoGPT源码详解和中文GPT训练实践
本文是[训练LLM系列]的第一篇,主要重点介绍NanoGPT代码以及中文.英文预训练实践.最新版参见我的知乎:https://zhuanlan.zhihu.com/p/716442447 除跑通原始N ...
- 【Mac + Appium + Java1.8(三)】之IOS自动化环境安装配置以及简单测试用例编写(模拟器、真机)
前提条件: =========================================== 1.Xcode版本为Xcode10及以上2.Appium版本必须为1.9及以上,因为Xcode为10 ...