|NO.Z.00301|——————————|CloudNative|——|KuberNetes&运维.V22|——|监控.v01|PrometheusMetrics架构图|
一、Prometheus概述:PrometheusMetrics架构图

二、PrometheusMetrics架构说明
### --- PrometheusMetrics架构说明
~~~ 主要核心是Prometheus server:prometheus-k8s-0
~~~ 直接使用node节点存储的,查询速度非常快,没有网络带宽上的消耗。
~~~ 若是部署了多个prometheus-server,就会存储多份数据,多份数据可能不一致,
~~~ 时间延迟或者网络的问题可能导致数据不一致。差别不是很大。
~~~ 若是对数据要求非常高的话,可以使用TSDB:时间序列数据库;
~~~ 多个server连接同一个时间序列数据库,数据的一致性比较高,查询效率也是比较高的。
~~~ # Pushgateway:
~~~ 用于聚合很多数据;Short-lived Jobs和Prometheus server是不通的,
~~~ 可以使用Pushgateway作为一个中继,可以先把short-lived jobs不通的数据先push到PugshGateway中,
~~~ 然后Prometheus server再使用pull的方式再去拉它的metrics;metrics:就是数据
~~~ # Prometheus server端
~~~ 就是以Pull的形式拉取它的数据,暴露一个metrics接口,
~~~ 通过httpd 的协议把这个数据拉下来,存储在内存中,内存数据定期的存储到磁盘中。
~~~ # Service discovery:
~~~ 服务发现机制
### --- Metrics类型:
~~~ Counter:只增不减的计数器:http_requests_total node_cpu
~~~ Guage:可憎可减:主机的CPU、内存、磁盘使用率、当前并发量
~~~ Histogram:用于统计和分析样本的分析情况
~~~ Summary:
### --- metrics的summary类型数据收集:
~~~ 基于云原生开发的程序,默认是暴露了这个接口10.96.222.222:9090/metrics
~~~ 若是监控主机的信息:主机的信息是没有暴露这个接口的:如何获取数据:
~~~ 就会使用一系列的exporter,
~~~ 通过一系列的exporter的接口这个规则去采集宿主机的数据然后转换成metrics类型的数据
~~~ 然后通过metrics接口暴露出来,供Prometheus去采集
~~~ 自己自带的exporter模板比我们自己写的或者zabbix自带的要详细的多。
~~~ 若是这个程序自己暴露了metrics接口,可以直接通过metrics URL地址+端口就可以直接访问到
~~~ 若是这个程序没有自己暴露metrics接口,我们需要使用exporter去采集数据,
~~~ 比如mysql、redis是没有这样的接口,所以需要通过exporter去采集里面的数据,
~~~ 转换成metrics的时间序列数据。Prometheus再存储到本地。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了