目录
前面花了十多篇介绍了k8s,那么大名鼎鼎的配合k8s的监控工具prometheus(简称prom)肯定是要用的。所以让我们开始prometheus之旅吧
推荐书籍《Prometheus监控技术与实践》我已经上专到csdn中可以点击下载,感觉比较适合入门,挻不错的
一、 prometheus介绍
Prometheus(普罗米修斯,有时简称Prom)是一个开源的容器和微服务监测和预警工具集。Prometheus是为提供丰富度量指标、又不影响目标系统性能而设计的、高度可定制的云原生监控系统。Prometheus已经成为主流开源的监测工具,受到了广大用户的欢迎,对于那些严重依赖容器和微服务的人来说,Prometheus是他们最佳的选择。Prometheus适用于各种规模、各个行业。Prometheus已经具备完整的生态,包括与监控密切关联的报警系统,也非常方便与第三方的监控系统集成,成为监控报警平台。Prometheus为现代DevOps工作流提供了关键组件,监视云原生应用程序和基础设施,并与CNCF另一个流行的项目Kubernetes完美协同。
Prometheus是由SoundCloud开发的开源监控报警系统和时序数据库(Time Series Database,TSDB)。Prometheus受Google的Brogmon监控系统的启发(Kubernetes是从Google的Brog系统演变而来的),从2012年开始由前Google工程师在SoundCloud以开源软件的形式进行研发,并且于2015年初对外发布早期版本。2016年5月继Kubernetes之后成为第二个正式加入CNCF基金会的项目,同年6月正式发布1.0版本。2017年底发布了基于全新存储层的2.0版本,能更好地与容器平台、云平台配合。2018年8月,Prometheus已成为CNCF历史上第二个“毕业”的项目。
二、Prom组件
Prometheus生态系统包含多个组件,其中许多是可选的:
- Prometheus server :Prometheus主服务器,它会抓取并存储时间序列数据
- client libraries:客户端库,用于检测应用程序代码
- push gateway:一个支持短期工作short-lived 的推送网关
- exporters导出器:诸如HAProxy,StatsD,Graphite等服务的专用导出器
- alertmanager:警报经理以处理警报
- 各种支持工具
更详细说明 见附录一
三、Prom的架构
学习一个软件,看一下框架是很重要的,这样你就能知道它的组成,工作流程等
根据 Prometheus 官网Architecture ,目前最新版本为2.20,构架如下:

3.1 框架图简单说明
上图中,中间部分是最重要的,也是核心部分,即prometheus server
既然是监控软件,肯定涉及到数据采集、展示、报警三大功能,你图左边为数据采集、图右上为警告处理、图右下为数据展示
3.2 prometheus服务器
prometheus 服务器,如中图中:

这个是最核心部分,prometheus是使用Go语言编写的,使用是非源码安装,所以已经把相关依赖都弄进去了,基本上不需要安装任何依赖。
用于收集和存储时间序列数据。Prometheus Server是P

本文深入探讨了Prometheus监控系统,介绍了其架构、组件及工作流程。Prometheus是一款开源的容器和微服务监控工具,拥有丰富的度量指标,对目标系统性能影响小,适用于云原生环境。文章详解了Prometheus的架构,包括Prometheus服务器、ClientLibrary、Exporter、Pushgateway、Alertmanager等核心组件,以及数据采集、报警和展示功能。
最低0.47元/天 解锁文章
902

被折叠的 条评论
为什么被折叠?



