17go-micro微服务Prometheus监控
一 Prometheus监控介绍
1.微服务监控系统promethues介绍
2.微服务监控系统promethues工作流程
-
Prometheus server定期从配置好的jobs/exporters/Pushgateway中拉数据
-
Prometheus server记录数据并且根据报警规则推送alert数据
-
Alertmanager 根据配置文件,对接收到的警报进行处理,发出告警。
-
在图形界面中,可视化采集数据
二 Prometheus监控重要组件和重要概念
1.微服务监控系统promethues重要组件
-
Prometheus Server:用于收集和存储时间序列数据。
-
Client Library:客户端库成相应的metrics并暴露给Prometheus server
-
Push Gateway:主要用于短期的jobs
-
Exporters: 用于暴露已有的第三方服务的metrics给Prometheus
-
Alertmanager: 从Prometheus server端接收到alerts后,会进行
2.微服务监控系统promethues重要概念
-
Prometheus 中存储的数据为时间序列
-
格式上由metric的名字和一系列的标签(键值对)唯一标识组成
-
不同的标签则代表不同的时间序列
-
Counter 类型: - -种累加的指标,如:请求的个数,出现的错误数等
-
Gauge 类型:可以任意加减,如:温度,运行的goroutines的个数
-
Histogram 类型:可以对观察结果采样,分组及统计,如:柱状图
-
Summary 类型:提供观测值的count和sum功能,如:请求持续时间
-
instance : -个单独监控的目标,一般对应于一 个进程。
-
jobs:一组同种类型的instances (主要用于保证可扩展性和可靠性)
三 微服务监控系统grafana看板
-
拥有 丰富dashboard和图表编辑的指标分析平台
-
拥有自己的权限管理和用户管理系统
-
Grafana 更适合用于数据可视化展示
四 Prometheus监控 Grafana看板安装
1.安装Prometheus监控
- 拉取镜像:
docker pull bitnami/prometheus
- 运行:
docker run -d -p 9090:9090 bitnami/prometheus
- 查看是否运行:
docker ps
- 图形化界面:
- 浏览器访问 http://127.0.0.1:9090/
2.安装Grafana看板
- 拉取镜像:
docker pull grafana/grafana
- 运行:
docker run -d -p 3000:3000 grafana/grafana
- 查看是否运行:
docker ps
- 图形化界面:
- 浏览器访问 http://127.0.0.1:3000/
五 Prometheus监控使用
- 在micro目录下新建prometheus.go文件
go get github.com/prometheus/client_golang/prometheus/promhttp
- 编写以下代码:
package micro
import (
"github.com/prometheus/client_golang/prometheus/promhttp"
"log"
"net/http"
"strconv"
)
func PrometheusBoot(host string,port int){
http.Handle("/metrics",promhttp.Handler())
//启动web服务
go func() {
err := http.ListenAndServe(host ":" strconv.Itoa(port),nil)
if err!= nil{
log.Fatal(("监控启动失败"))
}
log.Fatal("监控启动,端口为: " strconv.Itoa(port))
}()
}
六 Prometheus监控注册服务
- 导包:
go get github.com/micro/go-plugins/wrapper/monitoring/prometheus/v2
- 在main.go文件中写入以下代码
// 7.暴露监控地址
micro2.PrometheusBoot(micro2.ConsulInfo.Prometheus.Host, int(micro2.ConsulInfo.Prometheus.Port))
-
注:传的参数是使用consul导入的,可以换成自定义的
-
注册服务
//添加监控
micro.WrapHandler(prometheus.NewHandlerWrapper()),
七 Prometheus监控图形化界面
- 运行项目
Prometheus原生看板
Grafana看板
- 首次登录,账号:admin;密码:admin
八 最后
-
至此,go-micro微服务Prometheus监控工作就正式完成。
-
接下来就开始微服务ELK介绍的代码编写了,希望大家关注博主和关注专栏,第一时间获取最新内容,每篇博客都干货满满。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfbief
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01