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

【Promethus(普罗米修斯)介绍安装及使用】

一、系统介绍

1、什么是Prometheus?

Prometheus:不仅是一款时间序列数据库,在整个生态上还是一套完整的监控系统。同时,还涉及许多以“explore”命名的客户端数据采集工具以及pushgateway网关。

官网:https://prometheus.io/ 文献:https://prometheus.io/docs/introduction/overview/

中文文档:https://www.prometheus.wang/quickstart/

2、监控的作用

① 实时收集数据:监控工具能够实时收集关于系统、应用、网络等各方面的数据,包括性能指标、错误日志、用户行为等。

② 及时发现问题:通过实时数据收集和分析,监控系统能够在问题发生时迅速识别异常。

③ 及时处理:一旦监控系统发现问题,它可以触发报警机制,通知管理员或相关团队。

④ 为优化提供依据:监控数据不仅可以帮助发现问题,还可以为系统优化提供依据。

3、特性

由 metric 名称和 K/V 键值对标识的时间序列的多维数据模型

简单的查询语言 PromQL(TSDB数据库的查询语言)

不依赖分布式存储,单个服务节点自动治理

通过 http 的 pull 模型获取数据的时序集合

支持通过网关 push 时序数据

通过服务发现或者静态配置发现目标

支持多种图表和仪表盘模式

export : 是用来为被监控服务器开放一个数据采集端口的软件,安装在被监控主机上后会启动一个服务,允许Prometheus server端通过该端口拉取数据。

Prometheus具有自动加载配置文件的功能,无需重启整个服务程序。

二、架构及组件介绍

1、架构图

在这里插入图片描述
在这里插入图片描述

2、组件及功能说明

a、Prometheus Server

功能:数据抓取、存储、处理查询和触发告警。

子模块:

Retrieval(抓取模块):根据配置定期从监控目标(如 Exporters、应用程序)拉取指标数据。

Time Series Database(TSDB):高效存储时间序列数据(默认本地存储,支持远程写入)。

HTTP Server:提供 API 和 Web UI 用于查询(PromQL)和管理。

b、监控目标(Targets)

Exporters:将第三方系统(如 Node、MySQL、Redis)的指标转换为 Prometheus 可读格式。

示例:Node Exporter(主机监控)、cAdvisor(容器监控)。

Instrumented Applications:应用程序直接通过客户端库(如 Go、Java、Python)暴露指标。

暴露端点:http://:/metrics。

Pushgateway:处理短暂任务(如批处理作业)的指标推送。

任务将指标推送到 Pushgateway,Prometheus 再从 Pushgateway 拉取。

c、Alertmanager

Alertmanager是独立于Prometheus的一个告警组件,需要单独安装部署。Prometheus可以将多个Alertmanager配置为一个集群,通过服务发现动态发现告警集群中节点的上下线从而避免单点问题,Alertmanager也支持集群内多个实例之间的通信。

功能:接收 Prometheus Server 生成的告警,进行去重、分组、静默,并通过渠道(邮件、Slack 等)通知。

流程:

Prometheus Server 根据告警规则(alerting_rules.yml)触发告警。

告警发送至 Alertmanager。

Alertmanager 按配置的路由策略分发告警。

在这里插入图片描述

d、服务发现(Service Discovery)

作用:动态发现监控目标(如 Kubernetes Pods、云服务实例)。

支持的发现机制:

Kubernetes:自动发现集群内的 Pods、Services、Endpoints。

Consul/Etcd:基于服务注册中心发现目标。

文件发现:Prometheus会周期性地从文件中读取最新的target信息。通过 JSON/YAML 文件静态配置目标列表。

Prometheus可以使用Kubernetes的API获取容器信息的变化(如容器的创建和删除)来动态更新监控对象。

e、数据存储与远程集成

本地存储:会直接保留到本地磁盘,性能上建议使用SSD且不要保存超过一个月的数据。

远程存储:通过 remote_write 和 remote_read 集成外部存储(如 Thanos、Cortex、InfluxDB),解决长期存储和高可用问题。

3、工作流程

a、配置:定义抓取目标(scrape_configs)和告警规则(alerting_rules.yml)。

b、服务发现:动态识别需要监控的端点(如 Kubernetes Pod IP)。

c、数据抓取:Prometheus Server 定期(如 15s)从目标拉取指标(HTTP 请求 /metrics)。

d、存储:抓取的指标存储于本地 TSDB,支持压缩和分块管理。

e、查询与告警:

用户通过 PromQL 查询数据(如 rate(http_requests_total[5m]))。

触发告警规则时,发送告警至 Alertmanager。

f、告警处理:Alertmanager 过滤、分组并通知用户。

g、可视化:通过 Grafana 或 Prometheus Web UI 展示监控仪表盘。

4、局限及解决方案

在这里插入图片描述

三、安装

1、解压

Prometheus 官方提供了预编译的二进制版本,不需要进行编译,解压后就可以使用。

tar xf prometheus-2.5.0.linuxamd64.
http://www.xdnf.cn/news/1562.html

相关文章:

  • Python----深度学习(基于深度学习Pytroch线性回归和曲线回归)
  • 【Nginx】Nginx 最新稳定版本(1.28.0)发布
  • ASP.NET MVC​ 入门指南
  • 数据结构【树和二叉树】
  • 无过拟合的记忆:分析大语言模型的训练动态
  • 2025 年“泰迪杯”数据挖掘挑战赛B题——基于穿戴装备的身体活动监测问题分析
  • 高性能服务器配置经验指南3——安装服务器可能遇到的问题及解决方法
  • 编译型语言、解释型语言与混合型语言:原理、区别与应用场景详解
  • w~视觉~合集3
  • 【go语言】window环境从源码编译go
  • 强化学习核心原理及数学框架
  • 【C++ 类和数据抽象】static 类成员
  • Ubuntu 24.04 安装流水账
  • Pgvector+R2R搭建RAG知识库
  • 审计效率升级!快速匹配Excel报表项目对应的Word附注序号
  • 文字均分的css
  • 【多源01BFS】Codeforce:Three States
  • pnpm install报错:此系统上禁止运行脚本
  • 12N60-ASEMI无人机专用功率器件12N60
  • 【mdlib】0 全面介绍 mdlib - Rust 实现的 Markdown 工具集
  • CVE-2024-23897-Jenkins 2.441之前版本存在任意文件读取漏洞
  • Pikachu靶场-File Inclusion
  • 雪花算法生成int64,在前端js的精度问题
  • 【产品经理从0到1】原型及Axure介绍
  • Python协程详解:从基础到实战
  • Kafka消息可视化工具Offset Explorer
  • 云原生之认识DDD
  • 新型恶意软件采用独特混淆技术劫持Docker镜像
  • win11什么都不动之后一段时间黑屏桌面无法显示,但鼠标仍可移动,得要熄屏之后才能进入的四种解决方法
  • Kotlin基础知识全面解析(下)