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

news2024/11/23 22:21:19

目录

  • 1.Prometheus
    • 1.1.什么是Prometheus
    • 1.2.Prometheus的工作流程
    • 1.3.Prometheus的组件有哪些
    • 1.4.Prometheus有什么特点
    • 1.5.Metric的几种类型?分别是什么?
    • 1.6.Prometheus的优点和缺点
    • 1.7.Prometheus怎么采集数据
    • 1.8.Prometheus怎么获取采集对象
    • 1.9.Prometheus的配置文件组成
    • 1.10.Prometheus有什么高可用方案
    • 1.11.Prometheus有哪几种服务发现
    • 1.12.Prometheus怎么监控k8s
  • 2.alertmanager
    • 2.1.alertmanager是什么
    • 2.2.alertmanager处理告警的流程
    • 2.3.alertmanager怎么实现高可用
  • 3.exporter
    • 3.1.exporter的类型
    • 3.2.什么是白盒监控
    • 3.3.什么是黑盒监控
  • 4.pushgateway
    • 4.1.pushgateway是什么
    • 4.2.pushgateway能做什么
    • 4.2.pushgateway有什么缺点

架构图:

在这里插入图片描述

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还是会获取到过期的历史监控数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/365691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

产业安全公开课:2023年DDoS攻击趋势研判与企业防护新思路

2023年,全球数字化正在加速发展,网络安全是数字化发展的重要保障。与此同时,网络威胁日益加剧。其中,DDoS攻击作为网络安全的主要威胁之一,呈现出连年增长的态势,给企业业务稳定带来巨大挑战。2月21日&…

【数据结构与算法】顺序表增删查改的实现(动态版本+文件操作)附源码

目录 一.前言 二.顺序表 1.概念及结构 2.顺序表结构体的定义 3.初始化顺序表,销毁顺序表和打印 3.接口 a.尾插 SepListpushback 头插 SepListpushfront b.尾删 SepListpopback 头删 SepListpopfront c.查询 SepListsearch d.修改 SepListmodify 三…

搜索引擎 Elasticsearch 的三大坑

搜索引擎的坑 ES 搜索引擎系列文章汇总: 一、别只会搜日志了,求你懂点原理吧 二、ES 终于可以搜到”悟空哥“了! 三、1W字|40 图|硬核 ES 实战 本文主要内容如下: 搜索引擎现在是用得越来越多了&#…

赛宁网安“网络安全卓越中心”:立足科技创新 推动网安产业高质量发展

​​2月22日上午,网络安全卓越中心CPCOE——圆桌论坛活动在南京召开。本次论坛由南京未来科技城主办,南京赛宁信息技术有限公司承办。论坛上,江苏省科协副主席、南京理工大学教授李千目,江苏省互联网协会副理事长兼秘书长刘湘生&a…

【Pytorch学习】获取当前的学习率Learning Rate(lr)

optimizer.state_dict()[param_groups][0][lr]from: https://blog.csdn.net/ftimes/article/details/120975402 PyTorch可视化动态调整学习率lr_scheduler:https://blog.csdn.net/ayiya_Oese/article/details/120704261 或者:scheduler.get_…

谷歌留痕代发技术指南_谷歌留痕怎么霸屏的?

本文主要分享谷歌留痕技术的一些常见问题,霸屏的原理是什么。 本文由光算创作,有可能会被修改和剽窃,我们佛系对待这种行为吧。 谷歌留痕也叫谷歌搜索留痕,那么谷歌搜索留痕的霸屏原理是什么? 答案是:利…

如何做好APP性能测试?

随着智能化生活的推进,我们生活中不可避免的要用到很多程序app。有的APP性能使用感很好,用户都愿意下载使用,而有的APP总是出现卡顿或网络延迟的情况,那必然就降低了用户的好感。所以APP性能测试对于软件开发方来说至关重要&#…

【Android视频号④ 问题总结】

这节坑比较多~ 差点没把我给整死!!! 环境介绍 首先我调试都是root过的真机,但是生产环境都是没有Root的云机,属于自己改的Rom框架也不是XP或LSP 是技术人员利用Xposed源码改的框架 问题&解决 模块源码更改 这…

Leetcode第235题二叉搜索树的最近公共祖先|C语言

struct TreeNode* lowestCommonAncestor(struct TreeNode* root, struct TreeNode* p, struct TreeNode* q) {if(root->val>p->val&&root->val<q->val)return root;//若p结点的值<q结点的值&#xff0c;而根节点的值位于两者之间&#xff0c;说明…

Java StringBuffer StringBuilder,超详细整理,适合新手入门

目录 一、StringBuffer和StringBuilder的区别是什么&#xff1f; 二、StringBuffer的示例 三、StringBuilder的示例 四、为什么StringBuffer和StringBuilder比String更适合在循环中使用&#xff1f; 五、如何将String对象转换为StringBuilder或StringBuffer对象&#xff1…

论文投稿指南——中文核心期刊推荐(综合性经济科学)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

常见的排序算法 | 直接插入排序 | 希尔排序 | 选择排序 | 堆排序 | 冒泡排序 | 快速排序 | 归并排序 |(详解,附动图,代码)

思维导图&#xff1a; 一.插入排序 1.直接插入排序&#xff08;InsertSort&#xff09; ①手机通讯录时时刻刻都是有序的&#xff0c;新增一个电话号码时&#xff0c;就是使用插入排序的方法将其插入原有的有序序列。 ②打扑克 步骤&#xff1a; ①如果一个序列只有一个数&am…

【Android视频号③ Xposed插件编写】

这节 就是将frida代码翻译为Xposed 然后利用Sekiro服务进行接口调用 Xposed环境 我的测试环境是 LSPosed 它是完全兼容XP模块的 &#xff08;免重启调试起来方便一点&#xff09;下载后用Magisk安装即可. 模块编写可以参考这篇文章 XPosed模块编写教程 翻译代码 首先需要拦…

Java数据结构与算法第十一课---反射、枚举以及lambda表达式

一 : 反射 1.定义 Java的反射&#xff08;reflection&#xff09;机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能够调用它的任意方法和属性&#xff0c;既然能拿到&#xff0c;那么…

k8s1.23.0+ubuntu20.04+docker23+hyperv

问题 k8s node节点加入到集群时卡住 “[preflight] Running pre-flight checks” # master节点重新生成加入命令 kubeadm token create --ttl 0 --print-join-command参考 注意 k8s1.24使用containerd而不再使用docker&#xff0c;因此使用k8s1.23版本 环境 k8s: 1.23.0 u…

【Python入门第十五天】Python字典

字典&#xff08;Dictionary&#xff09; 字典是一个无序、可变和有索引的集合。在 Python 中&#xff0c;字典用花括号编写&#xff0c;拥有键和值。 实例 创建并打印字典&#xff1a; thisdict {"brand": "Porsche","model": "911&q…

2023年湖北施工员怎么报考?甘建二告诉你

湖北施工员怎么报考&#xff1f;考施工员需要了解哪些知识呢&#xff1f;跟甘建二一起来看下 一、湖北施工员报名条件&#xff1a; 甘建二告诉你&#xff0c;施工员报名条件基本没有限制&#xff0c;年满18岁即可。个人名义都可以报考&#xff0c;限制不多&#xff0c;不是跟安…

20230223-EF6用原生的命令执行SQL命令

目录:一、环境说明二、背景三、示例代码四、思考总结一、环境说明本机环境&#xff1a;windows10 操作系统 使用工具&#xff1a;Visual Studio 2022 Net版本&#xff1a;Net6.0二、背景在使用winform EF 开发过程中&#xff0c;需要用到类似 QueryList QueryScalar 等功能的时…

MySQL中MVCC如何解决不可重复读以及幻读?

了解MVCC之前&#xff0c;我们首先需要了解以下两个概念&#xff1a;一致性非锁定读和锁定读&#xff0c;了解这两个概念之后我们在逐步分析MVCC。 一致性非锁定读和锁定读 一致性非锁定读(快照读) 对于 一致性非锁定读的实现&#xff0c;通常做法是加一个版本号或者时间戳字…

【12-JVM面试专题-垃圾回收器好坏评价的标准?吞吐量和响应时间?生产环境中,如何选择合适的垃圾收集器?如何判断是否使用G1垃圾收集器?】

垃圾回收器好坏评价的标准&#xff1f;吞吐量和响应时间&#xff1f;生产环境中&#xff0c;如何选择合适的垃圾收集器&#xff1f;如何判断是否使用G1垃圾收集器&#xff1f; 垃圾回收器好坏评价的标准&#xff1f;吞吐量和响应时间&#xff1f;生产环境中&#xff0c;如何选择…