Go:普罗米修斯中间件开发

目录

             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指标

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值