当前位置: 首页 > news >正文

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

目录

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

相关文章:

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

目录1.Prometheus1.1.什么是Prometheus1.2.Prometheus的工作流程1.3.Prometheus的组件有哪些1.4.Prometheus有什么特点1.5.Metric的几种类型?分别是什么?1.6.Prometheus的优点和缺点1.7.Prometheus怎么采集数据1.8.Prometheus怎么获取采集对象1.9.Promet…...

英语二-电子邮件邀请短文写作

1. 邮件模板 Dear 邀请人, Hope you have a great day. I am writing this email to invite you to attend 主题. Please kindly find the following information for your reference: Time: 时间 Address: 地点 We hope that nothing will prevent you from coming, as…...

如何快速一次性通过pmp考试?

我们就从三个方向进行了解 1.PMP考试难不难? 2.PMP如何备考? 3.考试过程中需要注意什么? 一,PMP考试难不难? 首先关注的问题是,PMP考试难吗?我想全球55%的通过率和学会这边93.9%的通过率&a…...

1-Linux 保存kernel panic信息到flash

在系统运行过程中,如果内核发生了panic,那么开发人员需要通过内核报错日志来进行定位问题。但是很多时候出现问题的时候没有接调试串口,而报错日志是在内存里面的,重启后就丢失了。所以需要一种方法,可以在系统发生crash时&#x…...

linux基本功系列-top命令实战

文章目录一. top命令介绍二. 语法格式及常用选项三. 参考案例3.1 显示进程信息3.2 显示完整的进程命令3.3 以批处理的形式展示3.4 设置信息更新频次3.5 显示指定进程号的信息3.6 top面板中常用参数3.7 其他用法四. top的相关说明4.1 交互命令介绍4.2 top面板每行信息的含义4.2.…...

6.5 拓展:如何实现 Web API 版本控制,同时兼容无版本控制的原始接口?

第6章 构建 RESTful 服务 6.1 RESTful 简介 6.2 构建 RESTful 应用接口 6.3 使用 Swagger 生成 Web API 文档 6.4 实战:实现 Web API 版本控制 6.5 拓展:如何实现 Web API 版本控制,同时兼容无版本控制的原始接口? 6.5 拓展&#…...

Springboot依赖注入Bean的三种方式,final+构造器注入Bean

文章目录Springboot依赖注入Bean的方式一、Field 注入/属性注入二、set注入三、构造器注入Springboot依赖注入Bean的方式 一、Field 注入/属性注入 Autowired注解的一大使用场景就是Field Injection。 Controller public class UserController {Autowiredprivate UserServic…...

【java】Spring Cloud --Spring Cloud Alibaba 微服务解决方案

文章目录1、Spring Cloud Alibaba 是什么先说说 Spring CloudSpring Cloud Alibaba和Spring Cloud 的区别和联系Spring Cloud Alibaba2、Spring Cloud Alibaba 包含组件阿里开源组件阿里商业化组件集成 Spring Cloud 组件3、Spring Cloud Alibaba 功能服务注册与发现支持多协议…...

CSS 6种选择器(超详细)

CSS6大种选择器(超详细) 一、常用的css基本选择器(4种) 1、标签选择器 结构: 标签名{css属性名:属性值} 作用:通过标签名,找到页面中所有的这类标签,设置样式 注意:1.标签选择器选择的是一类标签&#…...

mysql8.0.32-手动配置安装-具体流程步骤

文章目录1.下载mysql压缩编译版2.修改配置文件3.数据库初始化,安装windows服务,启动服务4.修改root密码5.作者答疑1.下载mysql压缩编译版 作者从官方下载:https://download.csdn.net/download/m0_67316550/87485720 2.修改配置文件 修改my…...

【项目】Vue3+TS 退出登录 menu header搭建

💭💭 ✨:【项目】Vue3TS 退出登录 menu header搭建   💟:东非不开森的主页   💜: 今天永远比昨天更好💜💜   🌸: 如有错误或不足之处,希望可以指正&#x…...

LoRaWAN模块在车辆跟踪定位中的应用

目前 GPS已经在资产的管理中得到了越来越多的运用,如车辆跟踪、车队跟踪、资产监控等;人员跟踪,宠物跟踪,等等。在所有追踪装置中,最重要的是它的电池期望和监视距离。鉴于 LoRaWAN的功率消耗很小,而且能在…...

软件测试分类

软件测试分类 从上图我们发现软件测试根据不同的分类条件会有不同的结果. 1. 按照阶段进行划分 1.1 单元测试(Unit Testing) 单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。 测试阶段&#x…...

外置的媒体查询,对性能又一次的优化提升

通常情况下我们写媒体查询都是写在一个样式文件中,对于浏览器加载的时候,会解析到最后一行样式时才会渲染页面,这样就会造成页面的白屏时间过长。 但是通常情况下大量的媒体查询样式都是无用的,现在浏览器允许我们在引用样式文件…...

【Galois工具开发之路】关于IDEA的gradle工程执行两次premain的bug~

文章目录关于premain方法问题记录解决方式关于premain方法 是Java Agent技术的一种,通过 -javaagent: 的方式,添加外部代理,代理入口方法为 premain 。另一种Java Agent技术则是动态attach到java进程的方式,这种方式则是使用 age…...

云计算 概念与技术

如果我倡导的计算机在未来得到使用,那么有一天,计算也可能像电话一样成为共用设施。计算机应用将成为一全新的、重要的产业的基础。 ——John McCarthy 云计算的概念 定义 Garther公司的定义 一种计算方式,能通过Internet技术将可扩展的和…...

基于追踪标记的WAF设计思路

一 相关背景 目前,市面上的WAF产品通常采用”发现即阻断“的策略,以防护针对业务系统的Web攻击行为。虽然该策略可及时阻断攻击,但形式上过于简单,并不能有效掌握攻击者进一步的攻击意图,也不能有效提高攻击者的成本投…...

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

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

数据结构—堆(完全解析)

数据结构—堆(完全解析) 数据结构——堆(Heap)大根堆、小根堆 详解数据结构——堆 堆的基本存储 【从堆的定义到优先队列、堆排序】 10分钟看懂必考的数据结构——堆 【堆/排序】堆排序的两种建堆方法 【算法】排序算法之堆排序 C…...

深度卷积对抗神经网络 进阶 第三部分 GANs Unpaired Translation with Cycle GAN 模型

非配对的图像转换应用 Unpaired Image-to-Image Translation Unpaired image-to-image translation 主要用于学习两组图像之间的对应关系,检查和寻找两堆数据中的共同内容(content)以及每堆独有的特点(style)。而这个…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案

在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。​ 一、系统核心功能架构&…...

密码学基础——SM4算法

博客主页:christine-rr-CSDN博客 ​​​​专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...

Linux中INADDR_ANY详解

在Linux网络编程中&#xff0c;INADDR_ANY 是一个特殊的IPv4地址常量&#xff08;定义在 <netinet/in.h> 头文件中&#xff09;&#xff0c;用于表示绑定到所有可用网络接口的地址。它是服务器程序中的常见用法&#xff0c;允许套接字监听所有本地IP地址上的连接请求。 关…...

【Zephyr 系列 16】构建 BLE + LoRa 协同通信系统:网关转发与混合调度实战

🧠关键词:Zephyr、BLE、LoRa、混合通信、事件驱动、网关中继、低功耗调度 📌面向读者:希望将 BLE 和 LoRa 结合应用于资产追踪、环境监测、远程数据采集等场景的开发者 📊篇幅预计:5300+ 字 🧭 背景与需求 在许多 IoT 项目中,单一通信方式往往难以兼顾近场数据采集…...

运动控制--BLDC电机

一、电机的分类 按照供电电源 1.直流电机 1.1 有刷直流电机(BDC) 通过电刷与换向器实现电流方向切换&#xff0c;典型应用于电动工具、玩具等 1.2 无刷直流电机&#xff08;BLDC&#xff09; 电子换向替代机械电刷&#xff0c;具有高可靠性&#xff0c;常用于无人机、高端家电…...