目录

 Prometheus介绍

 Grafana介绍和使用

 Prometheus中间件开发

 测试Prometheus中间件

Prometheus介绍

分布式监控系统

完全被开源,使用Go进行开发

被广泛用来监控整个云基础架构设施

Prometheus架构

Prometheus数据模型

度量模型

计数器Counter采样

计数器可能是我们可以使用的最简单的度量标准形式,就像它字面的意思一样,j计数器是随着时间的增长的计算元素

计数器的值只能增加或重置为0.计数器特别适合j计算某个时段上某个事件的发生次数,即指标随时间演变的速率。

比如,要计算服务器上的HTTP错误书数或网站上的访问次数,这时候就用计数器。

Gauges采样

Gauges用于处理可能随时间减少的值。Gauge类型的值可以上升和下降,可以是正值或者负值。

用来记录瞬时的值,比如内存变化、温度变化。连接池的连接数。

柱状图Histogram采样

对每个采样点进行统计(并不是一段时间的统计),打到各个桶(bucket)中

对每个采样点值累计和(sum)

对采样点的次数累计和(count)

Summary采样

在客户端对于一段时间内(默认是10分钟)的每个采样进行统计,并形成分位图

Prometheus安装

https://prometheus.io/download/ 下载对应安装

解压后,直接执行 ./prometheus.exe就可以运行

Grafana介绍

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

代码完全开源,并且是采用golang开发的

1.展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插                     件,比如热图、折线图、图表等多种展示方式。

2.数据源:Graphite,InfluxDB,Prometheus,Elasticsearch,CLoudWatch和KairosDB等

3.通知提醒:以可视化方式定义最重要指标的警报规则,Grafana将不断i算并发出通知,在数据达到阈值时通过Slack、                PageDuty等获得通知。

4.混合展示:在同意图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源。

Grafana安装

下载地址:https://grafana.com/grafana/download?platform=windows

Grafana运行

使用  ./grafana-server.exe进行运行

Grafana+Prometues整合

Prometues中配置要监控的对象

Grafana配置需要展示的图表

Prometues基本使用

package main
import ("flag""log""net/http""github/prometheus/client_golang/prometheus/promhttp"
)var addr = flag.String("listen-address",":8080","The address to listen on for HTTP request")func main(){flag.Parse()http.Handle("/metrics",promhttp.Handler())log.Fatal(http.ListenAndServer(*addr,nil))
}

Counter计数器

Prometheus Gauge使用

Prometheus Histogram使用

Prometheus 中间件开发

  当前服务的元信息封装

当前的服务名

当前的方法名

当前的环境,比如生成环境、测试环境

当前服务的集群

当前服务的机房

当前请求的trace_id

当前服务器的ip

客户端请求的ip

  如何存储和传递

通过context进行传递

  何时进行初始化

路由的时候没在方法入口处进行初始化

  监控请求数量

监控请求错误数

  监控请求耗时

和koala框架集成

路由生成器模块改造,初始化服务元信息

Main生成器模块化改造,集成prometheus

Prometheus 中间件测试

配置prometheus抓取 hello service

配置grafana指标

Go:普罗米修斯中间件开发相关推荐

  1. 状态机思路在嵌入式开发中的应用说明及注意事项(普罗米修斯中不少功能节点用了状态机的方法来写)

    我感觉普罗米修斯很多功能模块里面都用到了状态机的思路 比如圆环穿越的,比如最新的二维码降落的代码. 摘自:https://mp.weixin.qq.com/s/qRmBDH-VIHM26AaNFoD9 ...

  2. 普罗米修斯Prometheus+Grafana,监控搭建与界面基础配置

    一.Prometheus 简介 gitlab官方地址:https://github.com/prometheus/prometheus Prometheus(普罗米修斯)是一套开源的监控&报警 ...

  3. Prometheus监控系列--“普罗米修斯“ 入门 | 初识 | 简述 | 超详细

    Prometheus监控软件 常见的监控软件 1.Cacti 2.Nagios 3.zabbix 4.prometheus 5.open-falcaon 运维监控平台设计思路 监控体系 系统层监控 中 ...

  4. Promethus(普罗米修斯)

    Prometheus(普罗米修斯 一.监控 一.常用监控介绍 1. cacti 2.Nagios 3.Zabbix 4.Prometheus 二.监控系统背景 1.监控系统背景 1.1监控系统&quo ...

  5. 普罗米修斯 监控_接近完美的监控系统—普罗米修斯

    普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...

  6. 当ABAP遇见普罗米修斯

    Jerry每次在工作场合中同Prometheus(普罗米修斯)打交道时,都会"出戏",因为这个单词给我的第一印象,并不是用go语言实现的微服务监控利器,而是名导雷德利·斯科特(Ri ...

  7. 普罗米修斯监控系统_基于Prometheus和Grafana的监控平台 - 环境搭建

    导读 微服务中的监控分根据作用领域分为三大类,Logging,Tracing,Metrics. Logging - 用于记录离散的事件.例如,应用程序的调试信息或错误信息.它是我们诊断问题的依据.比如 ...

  8. metrics类型 普罗米修斯_AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控...

    原标题:AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控 概述 Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由S ...

  9. 普罗米修斯 软件_监控神器-普罗米修斯Prometheus的安装

    搬砖党的福音:普罗米修斯-监控神器 功能: 在业务层用作埋点系统 Prometheus支持多种语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端).我们可以通过客户 ...

最新文章

  1. RPA有哪些优点和缺点?
  2. 在Sublime Text3中运行PHP代码
  3. 修改系统默认区域语言日期格式
  4. 去非数字字符串的前导零
  5. Python技术分享:ndarray对象的常用属性
  6. java——什么是浅表副本
  7. java中的内部类总结
  8. P3317-[SDOI2014]重建【矩阵树定理,数学期望】
  9. [Leedcode][JAVA][第200题][岛屿数量][DFS][BFS][并查集]
  10. EWSN 2019 (待续)
  11. 中国移动云智融合峰会 | 1+1>2, 引领创新发展
  12. Could not find a version that satisfies the requirement Twisted=13.1.0 (from Scrapy)
  13. 集成运算放大电路实验报告_模电总结:第三章、集成运算放大电路
  14. 狮子鱼独立版_轮转八方飞智八爪鱼2游戏手柄 | 大家测557
  15. php读取url连接的图片,输出到浏览器
  16. 华为、小米、OPPO三大厂商字体对比 这款更加舒适易读
  17. Tomcat官网下载旧版本
  18. css vue 内联_Vue绑定内联样式问题
  19. 【2020年高被引学者】 方飞 卡耐基梅隆大学
  20. 支持持久化的基础设施代码所需的企业模式

热门文章

  1. Iframe嵌套拒绝接入
  2. LLCC68 Sub-1GHz LoRa射频收发器
  3. [前端面试] 微信小程序相关面试题
  4. [转自网络]《十年只为一个摧残的梦》
  5. 音频服务器未响应怎么修复,win10音频服务未响应怎么办 win10音频服务开启及关闭设置教程...
  6. python求时间序列的极值点
  7. 匿名地面站V6.5传输协议
  8. Docker(最详细的Docker入门指南,一通百通)
  9. Oracle 10g Data Pump Expdp/Impdp 详解
  10. khadas A311D Andriod 64位移植踩坑