【2023】Prometheus-相关知识点(面试点)

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
可观测监控 Prometheus 版,每月50GB免费额度
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 【2023】Prometheus-相关知识点(面试点)

架构图

image.png

1.Prometheus

1.1.什么是Prometheus

Prometheus是一款开源的监控系统,由SoundCloud开发,用于收集、存储和查询时间序列数据,其数据模型是基于键-值对的时序数据

1.2.Prometheus的工作流程

  • Prometheus server 定期从配置的targets中拉取metrics数据,并存储在本地的时间序列数据库中。
  • Prometheus会根据用户定义的规则对这些时间序列进行计算、聚合,并触发警报通知用户。
  • Prometheus收集的数据回在其内置的web UI中或grafana中提供可视化功能。

1.3.Prometheus的组件有哪些

  • Prometheus Server:Prometheus服务器
  • Client Libraries:检测应用程序代码的客户端库
  • Push Gateway:用于支持短期临时或批量计划任务工作的数据汇聚节点
  • Alertmanager:用于告警
  • Exporter:收集监控样本数据

1.4.Prometheus有什么特点

  • 通过PromQL实现多维度数据模型的灵活查询。
  • 定义了开放指标数据的标准,自定义探针(如Exporter等),编写简单方便。
  • PushGateway组件让这款监控系统可以接收监控数据。
  • 提供了VM和容器化的版本。

1.5.Metric的几种类型?分别是什么?

有四种

  • counter:其值从0开始只能增加,不会减少;重启进程后,会被重置;适用于跟踪事件的数量或大小,可以用来记录服务的请求次数、任务完成数、错误发生次数。
  • gauge:是一种常规指标,反映系统当前状态的快照,是对一个值的瞬时测量。
  • histogram:用于表示在一段时间范围内对数据进行采样,对指定区间以及总数进行分组统计。
  • summary:常用于跟踪与时间相关的数据。

1.6.Prometheus的优点和缺点

  • 优点:支持多语言客户端;支持本地和第三方远程存储,单机性能强劲;高效存储,平均一个采样数据占用3.5B左右;可扩展性强;精确告警;支持静态文件配置和动态发现等自动发现机制等
  • 缺点:不适合存储事件或者日志;不会针对大量的历史数据进行存储等

1.7.Prometheus怎么采集数据

Prometheus调用HTTP GET请求或metrics数据接口获取数据。

1.8.Prometheus怎么获取采集对象

通过静态和动态两种方式;静态配置是一种传统的服务发现方式,适用于固定的监控环境、IP地址和统一服务接口场景;动态发现方式适用于云环境使用。

1.9.Prometheus的配置文件组成

Prometheus配置文件由以下几部分组成:

  • global:用于定义全局变量和设置相关参数
  • rule:用于定义报警规则和报警条件
  • alertmanager:用于定义报警器的配置信息
  • scrape:用于定义收集数据的配置信息

1.10.Prometheus有什么高可用方案

  • 多实例Prometheus:相同的配置,共同接收处理数据,可搭配负载均衡使用
  • 多实例+远程存储:解决了上条架构存在的数据一致性、持久化、迁移性、扩展性等问题
  • 联邦集群:可以将监控采集任务以分治法的形式划分给不同的Prometheus实例分别进行处理,以实现功能分区,这种架构有利于水平扩展
  • thanos集群:Thanos和 Prometheus无缝集成,并为 Prometheus带来了全局视图和不受限制的历史数据存储能力

1.11.Prometheus有哪几种服务发现

  • 基于文件服务发现
  • 基于consul服务发现
  • 基于DNS的服务发现

1.12.Prometheus怎么监控k8s

通过kubernetes API来监控k8s集群,可以监控k8s组件和应用程序运行状态,收集k8s集群指标存储在prometheus服务器中。

2.alertmanager

2.1.alertmanager是什么

alertmanager是一款开源的告警管理工具,可以聚合来自Prometheus服务器的告警,并将其发送到用户指定的接收者。

2.2.alertmanager处理告警的流程

从源接收告警然后将其聚合为单个通知,接着对告警进行路由,将其发送到配置的通知目标,还可以对告警进行处理,例如抑制和延迟。

2.3.alertmanager怎么实现高可用

通过Gssip机制为多个alertmanager之间提供了信息传递的机制,确保及时在多个Alertmanager分别接收到相同告警信息的情况下,也只有一个告警通知被发送给Receiver。

实现方式是通过配置启动参数。

3.exporter

3.1.exporter的类型

  • 直接采集型:这类Exporter直接内置了相应的应用程序,用于向Prometheus直接提供Target数据支持,例如cAdvisor、Kubernetes等
  • 间接采集型:原始监控目标并不直接支持Prometheus,需要我们使用Prometheus提供的Client Library编写该监控目标的监控采集程序,如:Node exporter

3.2.什么是白盒监控

需要把对应的Exporter程序安装到被监控的目标主机上,从而实现对主机各种资源及其状态的数据采集工作的方式叫做白盒监控。

3.3.什么是黑盒监控

无法直接通过安装exporter监控到目标,Blackbox Exporter无须安装在被监控的目标环境中,用户只需要将其安装在与Prometheus和被监控目标互通的环境中,通过HTTP、HTTPS、DNS、TCP、ICMP等方式对网络进行探测监控,还可以探测SSL证书过期时间。

4.pushgateway

4.1.pushgateway是什么

Pushgateway是一个独立的服务组件,可在HTTP REST API上接收Prometheus指标,位于发送指标的应用服务程序和Prometheus服务器之间。Pushgateway接收指标,然后将其作为目标进行抓取,以便将指标提供给Prometheus服务器。

4.2.pushgateway能做什么

用于处理Prometheus无法直接去拉取各个目标的监控数据,目标资源的生命周期太短,目标资源没有可以抓取的端点等情况

4.2.pushgateway有什么缺点

  • 单点故障,可能出现性能瓶颈
  • 会丧失Prometheus通过UP监控指标检查实例健康状况的功能
  • Pushgateway会对推送给它的所有监控数据进行持久化,即使被监控服务已经下线销毁了,Prometheus还是会获取到过期的历史监控数据
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
目录
相关文章
|
6天前
|
Web App开发 前端开发 Linux
「offer来了」浅谈前端面试中开发环境常考知识点
该文章归纳了前端开发环境中常见的面试知识点,特别是围绕Git的使用进行了详细介绍,包括Git的基本概念、常用命令以及在团队协作中的最佳实践,同时还涉及了Chrome调试工具和Linux命令行的基础操作。
「offer来了」浅谈前端面试中开发环境常考知识点
|
3月前
|
存储 算法 安全
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
Java面试题:Java内存模型及相关知识点深度解析,Java虚拟机的内存结构及各部分作用,详解Java的垃圾回收机制,谈谈你对Java内存溢出(OutOfMemoryError)的理解?
54 0
|
9天前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:
25 4
|
7天前
|
存储 移动开发 前端开发
「offer来了」面试中必考的15个html知识点
该文章汇总了前端面试中常见的15个HTML知识点,涵盖了从HTML文档的规范书写、doctype声明的作用到新兴的HTML5标签应用及移动端viewport设置等内容,旨在帮助求职者更好地准备相关技术面试。
「offer来了」面试中必考的15个html知识点
|
7天前
|
Web App开发 前端开发 JavaScript
「offer来了」1张思维导图,6大知识板块,带你梳理面试中CSS的知识点!
该文章通过一张思维导图和六大知识板块系统梳理了前端面试中涉及的CSS核心知识点,包括CSS框架、基础样式问题、布局技巧、动画处理、浏览器兼容性及性能优化等方面的内容。
|
5月前
|
Java 程序员
Java this关键字详解(3种用法),Java程序员面试必备的知识点
Java this关键字详解(3种用法),Java程序员面试必备的知识点
|
2月前
|
消息中间件 存储 Java
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
Android 消息处理机制估计都被写烂了,但是依然还是要写一下,因为Android应用程序是通过消息来驱动的,Android某种意义上也可以说成是一个以消息驱动的系统,UI、事件、生命周期都和消息处理机制息息相关,并且消息处理机制在整个Android知识体系中也是尤其重要,在太多的源码分析的文章讲得比较繁琐,很多人对整个消息处理机制依然是懵懵懂懂,这篇文章通过一些问答的模式结合Android主线程(UI线程)的工作原理来讲解,源码注释很全,还有结合流程图,如果你对Android 消息处理机制还不是很理解,我相信只要你静下心来耐心的看,肯定会有不少的收获的。
118 3
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
|
2月前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
110 9
|
2月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
View的绘制和事件处理是两个重要的主题,上一篇《图解 Android事件分发机制》已经把事件的分发机制讲得比较详细了,这一篇是针对View的绘制,View的绘制如果你有所了解,基本分为measure、layout、draw 过程,其中比较难理解就是measure过程,所以本篇文章大幅笔地分析measure过程,相对讲得比较详细,文章也比较长,如果你对View的绘制还不是很懂,对measure过程掌握得不是很深刻,那么耐心点,看完这篇文章,相信你会有所收获的。
80 2
下一篇
无影云桌面