(一) 概述(概念、组件、架构、适用场景) | 普罗米修斯(Prometheus)

2023-05-16

什么是普罗米修斯?

Prometheus是一个开源系统监控和警报工具包,最初在 SoundCloud构建。自 2012 年成立以来,许多公司和组织都采用了 Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何公司维护。为了强调这一点,并明确项目的治理结构,Prometheus 于 2016 年加入 云原生计算基金会,成为继Kubernetes之后的第二个托管项目。

Prometheus 将其指标收集并存储为时间序列数据,即指标信息与记录时的时间戳以及称为标签的可选键值对一起存储。

有关 Prometheus 的更详细概述,请参阅 媒体部分链接的资源。

特征

普罗米修斯的主要特点是:

  • 具有由度量名称和键/值对标识的时间序列数据的多维数据模型
  • PromQL,一种 利用这种维度的灵活查询语言
  • 不依赖分布式存储;单个服务器节点是自治的
  • 时间序列收集通过 HTTP 上的拉模型进行
  • 通过中间网关支持推送时间序列
  • 通过服务发现或静态配置发现目标
  • 多种图形模式和仪表板支持

什么是指标(metrics)?

用外行的话来说,指标是数字测量,时间序列意味着随着时间的推移记录变化。用户想要测量的内容因应用程序而异。对于 Web 服务器,它可能是请求时间,对于数据库,它可能是活动连接数或活动查询数等。

指标在理解为什么您的应用程序以某种方式工作方面起着重要作用。假设您正在运行一个 Web 应用程序并发现该应用程序很慢。您将需要一些信息来了解您的应用程序发生了什么。例如,当请求数量很高时,应用程序可能会变慢。如果您有请求计数指标,您可以找出原因并增加服务器数量来处理负载。

组件

Prometheus 生态系统由多个组件组成,其中许多是可选的:

  • 主要的Prometheus Server,用于抓取和存储时间序列数据
  •  Client libraries用于检测应用程序代码
  • 支持 short-lived job的Pushgateway 
  • HAProxy、StatsD、Graphite 等服务的专用导出器
  • 处理警报的Alertmanager
  • 各种支持工具

大多数 Prometheus 组件都是用Go编写的,这使得它们易于构建和部署为静态二进制文件。

架构

此图说明了 Prometheus 的架构及其一些生态系统组件:

Prometheus 从检测job中直接抓取指标,或通过中间Pushgateway从 short-lived job中抓取指标。它在本地存储所有抓取的样本,并对这些数据运行规则,以从现有数据聚合和记录新的时间序列或生成警报。Grafana或其他 API 使用者可用收集的数据进行图形化展示。

什么场景适用?

Prometheus 可以很好地记录任何纯数字时间序列。它既适合以机器为中心的监控,也适合监控高度动态的面向服务的架构。在微服务的世界中,它对多维数据收集和查询的支持是一个特殊的优势。

Prometheus 专为可靠性而设计,是您在中断期间可以使用的系统,可让您快速诊断问题。每个 Prometheus 服务器都是独立的,不依赖于网络存储或其他远程服务。当您的基础设施的其他部分损坏时,您仍可以信赖它,并且您无需设置大量基础设施即可使用它。

什么场景不适用?

Prometheus 重视可靠性。即使在故障情况下,您也可以随时查看有关系统的可用统计信息。如果您需要 100% 的准确性,例如按请求计费,Prometheus 不是一个好的选择,因为收集的数据可能不够详细和完整。在这种情况下,您最好使用其他系统来收集和分析数据以进行计费,并使用 Prometheus 进行其余的监控。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(一) 概述(概念、组件、架构、适用场景) | 普罗米修斯(Prometheus) 的相关文章

随机推荐

  • ROS2学习(1)ROS2简述

    文章目录 前言一 ROS1存在的问题二 什么是ROS21 ROS2的设计目标2 ROS2的系统架构3 ROS2的关键中间件 DDS4 ROS2中的通信模型5 ROS2的编译系统 前言 虽然众多开发者对ROS1进行了很多开发建设 xff0c
  • Qt之实现自定义控件的两种方式——提升法

    文章目录 前言一 需求二 实现1 新建项目2 自定义控件类3 提升4 效果 前言 可以通过Qt设计师拖拽原生控件进行界面开发 xff0c 但有时候原生控件不能满足项目需求 此时 xff0c 就需要实现自定义控件 Qt中实现自定义控件 xff
  • Qt之实现自定义控件的两种方式——插件法

    文章目录 前言一 需求二 实现1 新建项目2 自定义控件类3 编译插件4 拖拽使用 xff08 1 xff09 在designer exe中直接拖拽 xff08 2 xff09 在Qt Creator的设计师中直接拖拽 5 在项目中正常使用
  • Qt自定义控件——动态圆形进度条

    文章目录 前言一 需求二 实现1 自定义控件类2 提升3 效果 前言 本篇通过提升法实现一个动态圆形进度条 一 需求 自定义实现一个动态圆形进度条 xff0c 支持设置进度条颜色 目标值背景色 外边框背景色 中央圆环背景色 旋转角度及大小自
  • linux下可视化git工具git-cola安装与使用(SSH方式)

    一 git cola为何物 很多小伙伴 xff0c 特别喜欢使用TortoiseGit xff0c 该软件是做什么的 xff0c 就不用多说吧 奈何 xff0c TortoiseGit只有windows版 xff0c 这让在linux上开发
  • 智能优化算法:布谷鸟搜索算法-附代码

    智能优化算法 xff1a 布谷鸟搜索算法 附代码 文章目录 智能优化算法 xff1a 布谷鸟搜索算法 附代码1 算法原理2 算法结果3 参考文献4 Matlab代码 摘要 xff1a 谷鸟搜索算法 cuckoo search cs xff0
  • 基于布谷鸟优化的BP神经网络(预测应用) - 附代码

    基于布谷鸟优化的BP神经网络 xff08 预测应用 xff09 附代码 文章目录 基于布谷鸟优化的BP神经网络 xff08 预测应用 xff09 附代码1 数据介绍3 CS优化BP神经网络3 1 BP神经网络参数设置3 2 布谷鸟算法应用
  • 基于粒子群优化的BP神经网络(分类应用) - 附代码

    基于粒子群优化的BP神经网络 xff08 分类应用 xff09 附代码 文章目录 基于粒子群优化的BP神经网络 xff08 分类应用 xff09 附代码1 鸢尾花iris数据介绍2 数据集整理3 粒子群优化BP神经网络3 1 BP神经网络参
  • Arm Keil MDK v5.30版本官宣,快来下载!

    近日 xff0c Arm很高兴地宣布发布Arm Keil MDK v5 30 此版本新增了对Cortex M55处理器和CMSIS Build的支持 xff0c 更新包括Arm Compiler 6 14 xff0c CMSIS 5 7 0
  • ubuntu下访问串口

    前言 最近准备将windows上自动瞄准的程序移植到linux xff0c 第一步准备调试一下ubuntu下的串口 在网上搜到一个串口库 xff0c 于是就拿来调用 xff0c 最后调试成功 过程如下 xff1a 过程 1 下载Serial
  • 热备笔记实验

    早上突然断电 本来笔记本的插头就忘记插了 xff0c 电池没用多久就熄火 最纳闷的是接入电源后本机数据库竟然挂掉了 xff0c 嘿嘿 xff0c 正好试一试前几天应用的热备回复 以下是我的全程 C Documents and Setting
  • Android学习之AIDL添加Service权限

    参考 Android开发艺术探索 xff0c 书中提供了两种方法 第一种方法 xff1a 在onBind中验证 在服务端的AndroidManifest添加自定义权限 lt permission android name 61 span c
  • ADRC(自抗扰控制器)技术附Matlab代码框架

    自抗扰控制器 Auto Active Disturbances Rejec ion Controller ADRC 是韩京清学者提出的 xff0c 是一种继PID控制器后的一种新型的实用的控制技术 它不是一种独立的技术 xff0c 可以理解
  • git视频及对初学者的学习建议

    http herry2013git blog 163 com blog static 21956801120144810133569 http herry2013git blog 163 com blog static 2195680112
  • 迷你光流使用说明

    为了让你有兴趣往下学习 xff0c 先上个定点悬停效果视频给你欣赏一下吧 xff01 点击打开视频链接 首先 xff0c 简单介绍一下我使用的这款光流传感器 长宽高 xff1a 14x11x5mm xff0c 重量约0 6克 xff0c 工
  • Handler的使用方法(一)

    想花点时间谈谈Handler的使用方法 xff0c 是应为Handler的使用涉及到了线程类的使用 xff0c 也是在程序中用到了线程 xff0c 关于线程 xff0c 是个很重要的概念 xff0c 因为以后的嵌入式系统的应用开发往往在程序
  • STM32控制APM飞控(二)MAVLINK源码集成到stm32工程中

    MAVLINK协议源码集成到32工程中 一 MAVLINK代码转化为C语言源码文件 主要根据 http www cnblogs com lovechen p 5801679 html 作者 恒久力行 的方式 xff0c 我进行归纳简要说明
  • STM32控制APM飞控(三)MAVLINK整合并适配stm32串口的收发

    目录 stm32底层串口代码更改能收发MAVLINK协议包 一 在上一次移植好的工程基础上进行如下改动
  • STM32控制APM飞控(五)MAVLINK的C源码的解释及MAVLINK心跳包

    MAVLINK的C源码的解释及MAVLINK心跳包 一 MAVLINK转化成C源码后的文件及文件夹解释 用pathon2 7将从github官网下载下来的MAVLINK源码转换成c语言源码的文件夹如图 xff1a 解释 xff1a a xf
  • (一) 概述(概念、组件、架构、适用场景) | 普罗米修斯(Prometheus)

    什么是普罗米修斯 xff1f Prometheus是一个开源系统监控和警报工具包 xff0c 最初在 SoundCloud构建 自 2012 年成立以来 xff0c 许多公司和组织都采用了 Prometheus xff0c 该项目拥有非常活