|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

 

 

posted on 2022-03-31 13:49  yanqi_vip  阅读(44)  评论(0)    收藏  举报

导航