
Prometheus监控系统零基础到进阶
文章平均质量分 97
以多年生产经验为根基,站在小白的立场来讲解Prometheus。从最基本的监控理论、以及Prometheus的时序数据、Prometheus的架构等维度。循序渐进讲解PromQL相关的各种知识、同时准备了大量的案例供大家理解。本专栏每个章节都精心设计了多个不同的实践案例,能更好的巩固所学知识内容。
景天科技苑
Python全栈技术专家,Golang全栈开发专家,Rust全栈资深工程师。华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者。Golang开发,Python全栈开发,tkinter,PyQt5桌面应用开发,微信小程序开发,人工智能,爬虫等领域多年深耕,深谙js逆向,网络系统安全等领域。积累了大量linux,shell脚本实战,云原生K8S,Prometheus系列监控系统,数据库,数据分析,Django,fastapi,flask,Sanic等框架实操经验。独学而无友,则孤陋而寡闻。与良师益友一起交流学习,进步更快!
展开
-
【Prometheus】prometheus标签替换label_replace,动态修改生成标签,增强查询的灵活性和表达能力
label_replace是 PromQL 中的一个函数,用于动态修改或生成标签。它允许用户通过正则表达式从现有标签中提取信息,并将其应用于新的或现有的标签。`label_replace` 在处理复杂的标签操作时非常有用,尤其是在需要动态生成标签或对标签进行格式转换时。原创 2025-03-20 07:15:00 · 46310 阅读 · 41 评论 -
【Prometheus】prometheus监控pod资源,ingress,service资源以及如何通过annotations实现自动化监控
所谓Pod资源,指的是,运行在 Pod 中的 "容器" 所使用的计算资源。这些计算资源指的是 CPU、内存、网络以及磁盘 IO等相关指标。之前我们监控容器的资源时,使用的是 cAdvisor 工具来监控。不过在 Kubernetes 中,Cadvisor工具已经被内置到了 kubelet 的组件中。因此,我们可以直接监控节点的kubelet,来收集相关Pod的指标数据。原创 2025-03-14 14:57:53 · 52314 阅读 · 66 评论 -
【Prometheus】prometheus结合kube-state-metrics监控k8s的node,pod,deployment,daemonset,statefulset,cronjob等资源
集群资源状态是指, Kubernetes 集群中所有资源对象、以及这些资源对象的当前状态信息。这些资源对象,包括Pod、Deployment、DaemonSet、StatefulSet、Job、CronJob 等 。而这些资源状态,则提供了这些资源的详细信息。。。原创 2025-03-12 07:15:00 · 52863 阅读 · 43 评论 -
【Prometheus】层层解析prometheus如何监控k8s核心组件
监控 Kubernetes 集群的控制平面,首先需要知道要监控哪些组件,然后了解它们是如何提供 Metrics 指标的,最后确定这些指标的监控方法,是通过手动配置还是自动发现。关键组件包括:APIServer、ControllerManager、Scheduler、etcd、CoreDNS、kubelet、kube-proxyMetrics 指标获取:这些控制平面组件都内建 Metrics 端点。但是某些组件可能默认只在本地接口(127.0.0.1)上暴露 Metrics原创 2025-03-11 07:15:00 · 53962 阅读 · 46 评论 -
【Prometheus】k8s集群内部署的prometheus如何监控kubernetes集群
在前面的章节中,我们已经介绍了 Prometheus 的核心功能,并展示了如何使用二进制部署的Prometheus来监控 Kubernetes 的 APIServer。但在实际的生产环境中,我们通常是将 Prometheus 部署在 Kubernetes 集群内部,来监控整个集群的资源及状态。原创 2025-03-06 07:15:00 · 58279 阅读 · 64 评论 -
【Prometheus】prometheus如何监控k8s集群
Prometheus可以直接通过 Kubernetes 的 API 来自动发现和监控集群中的关键资源。包括节点(Nodes)、服务(Services)、端点(Endpoints)、Pods 和 Ingress。每一种资源都会被Prometheus当作一个监控的目标,并时刻监视着它们的变化。而每种资源类型都对应有一个专门的服务发现组件,在Prometheus 中被称为“role”。原创 2025-03-03 09:12:01 · 61014 阅读 · 59 评论 -
【Prometheus】prometheus服务发现与relabel原理解析与应用实战
relabel它可以在抓取目标实例数据之前,可以对目标实例的标签进行“灵活的改写”。借助Relabel,用户就可以自行定义复杂的“标签选择逻辑”,从而精准的控制哪些实例应当被监控,哪些实例应当被排除。例如,我们可以设置规则,仅抓取带有env=prod标签的目标实例数据,而那些不含此标签的实例则忽略掉 。原创 2025-02-28 07:15:00 · 62669 阅读 · 57 评论 -
【Grafana】Prometheus指标可视化Grafana,手把手教你如何自定义图形
面板(Panel) 是 Grafana 中最基本的可视化单元,每一种类型的面板都提供了相应的查询编辑器(Query Editor),让用户可以从不同的数据源(如Prometheus)中查询出相应的监控数据,并且以可视化的方式展现,所以要在Grafana 上创建可视化的图表,面板是我们所需要掌握的;我们在grafana中,可以自己新建面板,也可以导入面板原创 2025-02-27 07:15:00 · 63566 阅读 · 44 评论 -
【Prometheus】prometheus服务发现的各种方式详细解析与应用实战
prometheus服务发现有很多种方式,最常用的有:1.静态服务配置。2.基于文件的服务发现。3.基于注册中心consul的服务发现。4.基于公有云API的发现机制。5.基于kubernetes的发现机制。原创 2025-02-26 08:45:04 · 64671 阅读 · 37 评论 -
【Alertmanager】Alertmanager告警路由,告警静默,告警抑制,高可用的实现
所谓的告警路由,就是将不同的告警消息转发给不同的接收人,以便故障能快速的被处理和解决。Alertmanager 的告警路由配置,使用的是树状结构来定义,以确保每条告警消息都能够按照定义好的路径进行处理。当一条告警消息进来后,会先进入根路由,然后逐级的去匹配每个子路由的规则,然后将消息通过媒介发送给对应的接收人。原创 2025-02-25 08:42:02 · 65100 阅读 · 37 评论 -
【Alertmanager】alertmanager告警多种通知方式--企业微信告警、钉钉告警、电话和短信告警
本章讲述alertmanager如何实现企业微信告警,钉钉告警,电话短信告警通知,每一步都清晰明了。非常适用于企业生产环境告警通知的实施。原创 2025-02-21 07:15:00 · 69100 阅读 · 61 评论 -
【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面
Alertmanager 是 Prometheus 生态中的一个组件,专门用于处理 Prometheus 发送的告警。由于Prometheus本身无法实现告警,因此需要借助AlertManager来实现告警的推送。Prometheus Server 会对已经设定好的“告警规则”进行定期评估,当检测到问题时,会生成相应的告警通知并发送给 AlertManager。原创 2025-02-20 07:15:00 · 69734 阅读 · 39 评论 -
【Prometheus】prometheus结合pushgateway实现脚本运行状态监控
Pushgateway 是 Prometheus 生态中一个重要工具,使用它的原因主要是:● Prometheus 采用 pull 模式,可能由于不在一个子网或者防火墙原因,导致 Prometheus 无法直接拉取各个 target 数据。● 在监控业务数据的时候,需要将不同数据汇总, 由 Prometheus 统一收集。● 当exporter不能满足需要时,也可以通过自定义(python、shell、java)监控我们想要的数据。原创 2025-02-18 08:41:10 · 72233 阅读 · 43 评论 -
【Prometheus】prometheus结合domain_exporter实现域名监控
domain_exporter 主要用来监控网站域名的过期时间。这对于企业和个人都是比较重要的,因为域名过期可能会导致网站无法访问,进而影响业务的正常运行。因此监控“域名的过期时间”就显得比较重要了。原创 2025-02-17 09:36:36 · 64361 阅读 · 35 评论 -
【Prometheus】prometheus黑盒监控blackbox全面解析与应用实战
Blackbox_exporter 是一个专门用于黑盒监控的工具,它支持多种网络协议对目标对象进行检测,比如 HTTP、HTTPS、TCP、DNS 和 ICMP。这意味着我们可以用它来监控网站响应状态和响应时间、以及通过端口来判断服务是否正常运行。此外用户还可以通过设置不同的检查模块来定制 blackbox_exporter,以便它能够适应不同的检测需求。原创 2025-02-14 08:53:32 · 67948 阅读 · 0 评论 -
【Prometheus】prometheus结合cAdvisor监控docker容器运行状态,并且实现实时告警通知
Docker的监控,可以使用Docker自带的stats命令来获取当前主机上运行中的容器的资源使用情况。例如:容器的CPU使用率、内存占用、网络IO以及磁盘IO等指标。原创 2025-02-13 09:25:58 · 68616 阅读 · 46 评论 -
【Prometheus】如何通过prometheus监控redis实时运行状态,并实现告警通知
在现代微服务架构中,Redis被广泛应用于缓存、消息队列及其他场景。为了确保Redis集群的高可用性和性能,我们需要实时监控其状态与指标。本文将全面讲解如何通过prometheus监控redis运行的各项指标,让数据实时可知。原创 2025-02-12 08:46:56 · 69463 阅读 · 40 评论 -
【Prometheus】MySQL主从搭建,以及如何通过prometheus监控MySQL运行状态
要使用Prometheus 监控 MySQL,则需要 MySQL 服务器上部署对应的mysqld_exporter。如果需要监控多个MySQL实例,则需要在每个MySQL实例上都部署一个mysqld_exporter,因为每个 mysqld_exporter 只能连接并抓取一个MySQL 的指标数据。原创 2025-02-11 07:15:00 · 71088 阅读 · 49 评论 -
【Prometheus】如何通过prometheus监控springboot程序运行状态,并实时告警通知
jmx_exporter 主要用于从 Java 应用程序中提取 JMX 指标,通常包括 JVM级别的信息,如内存使用情况、线程状态、垃圾回收次数等。对于传统的SpringBoot应用,由于它默认没有内置 Prometheus 监控的指标,因此使用 jmx_exporter来抓取基础的JVM相关指标。原创 2025-02-08 07:15:00 · 73840 阅读 · 55 评论 -
【Prometheus】如何通过prometheus监控Tomcat运行状态
Tomcat本身无法对外提供Prometheus所兼容的Metrics,因此需要借助第三方exporter来提供:tomcat-exporter原创 2025-02-07 09:03:48 · 73623 阅读 · 36 评论 -
【Prometheus】如何通过golang生成prometheus格式数据
要在Golang中生成Prometheus数据,你可以使用Prometheus的官方客户端库 `prometheus/client_golang`。这个库允许你定义和暴露自定义的指标,并通过HTTP端点将这些指标暴露给Prometheus服务器。原创 2025-02-06 08:55:37 · 74846 阅读 · 45 评论 -
【Prometheus】RabbitMQ安装部署,如何通过prometheus监控RabbitMQ
RabbitMQ是一个开源的消息代理和队列服务器,它使用Erlang语言编写并运行在多种操作系统上,如Linux、Windows等。RabbitMQ可以接收、存储和转发消息(也称为“事件”)到连接的客户端。它适用于多种场景,包括异步通信、流量削峰、应用解耦等。本文详述RabbitMQ的安装部署和通过prometheus监控RabbitMQ的方法原创 2025-01-24 09:02:42 · 81307 阅读 · 62 评论 -
【Prometheus】Prometheus如何监控Haproxy
从 HAProxy 2.0 版本开始,HAProxy 内置了对 Prometheus 的支持。这意味着 HAProxy 能够直接提供兼容Prometheus的指标格式,无需依赖任何额外的 exporter 。(安装Haproxy、然后修改stats,配置对外输出metrics接口)原创 2025-01-23 10:56:02 · 80229 阅读 · 45 评论 -
【Prometheus】PromQL进阶用法
在监控CPU、内存、磁盘和⽹络等系统资源时,使⽤USE的⽅法论是最为合适的,它要求我们针对每个资源(也就是CPU、内存 、⽹络等)分别检查三个关键方面:使用率、饱和度和错误。使用率:表示资源在占作时占用的平均时间,例如,CPU在过去的60秒内有30秒被用来执行指令,那么我们可以说这个CPU的使用率是50%。饱和度:指明资源已经到达或接近其处理能力极限的程度,表明无法再处理更多的工作量。这通常通过队列长度等指标来衡量。错误:记录了资源在运行过程中发生的错误事件的次数。网络监控用的比较多原创 2025-01-21 17:22:21 · 81576 阅读 · 48 评论 -
【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算
在PromQL中,向量匹配是一种重要的概念,它允许用户根据标签(label)对多个时间序列进行复杂的计算和比较。本文将结合实际案例,详细介绍PromQL中的向量匹配用法。原创 2024-09-09 15:17:43 · 45747 阅读 · 15 评论 -
【Prometheus】PromQL聚合函数详细用法与应用实战
在Prometheus中,聚合函数是非常重要的一部分,它们能够帮助用户从大量时间序列数据中提取出有价值的信息。本文将通过实际案例,详细介绍PromQL中聚合函数的使用方法和应用场景。原创 2024-09-09 09:15:28 · 46573 阅读 · 65 评论 -
【Prometheus】PromQL数据类型以及常用的计算函数用法详解
PromQL提供了对时间序列数据的查询、聚合、计算和过滤等功能。在Prometheus中,时间序列(Time Series)是基本的数据单位,每个时间序列由指标名(metric name)和一组键值对(key-value pairs,即标签labels)唯一标识。原创 2024-09-06 09:57:54 · 48665 阅读 · 86 评论 -
Prometheus中最核心知识PromQL语句原理释疑、查询应用实战
Prometheus 内置了⼀种强⼤的查询语⾔:PromQL,即 Prometheus Query Language。PromQL 允许用户实时查询监控数据,并对这些数据执行复杂的聚合和计算操作。原创 2024-09-05 14:14:38 · 32778 阅读 · 22 评论 -
Prometheus通过node_exporter监控Node节点,Node节点的详细指标解读
监控节点(如服务器或者虚拟机)通常涉及收集硬件和操作系统层⾯的指标,比如 CPU 使⽤率、内存占⽤、磁盘 I/O、⽹络流量等。但是这些指标并不能直接被Prometheus 抓取,因此我们需要借助Node exporter将对应的指标转为Prometheus能够兼容的指标格式,并对外提供HTTP接⼝暴露给Prometheus进⾏指标抓取。原创 2024-09-05 07:15:00 · 34046 阅读 · 69 评论 -
【Grafana】Prometheus结合Grafana打造智能监控可视化平台
Grafana是一款开源的数据可视化工具,广泛应用于监控和数据分析领域。它通过创建美观的仪表盘,帮助用户实时查看和分析系统运行状态和性能数据。Grafana从2.5.0版本开始,Grafana已经内置了对Prometheus的⽀持,可以直接将Prometheus作为数据源进⾏查询和展示。原创 2024-09-04 13:07:13 · 32979 阅读 · 5 评论 -
【Prometheus】Prometheus安装部署流程详解,配置参数webUI使用方法解析说明
Prometheus⽀持多种安装⽅式,为了便于理解,我们先使⽤⼆进制⽅式进⾏部署,后期我们再使⽤Kubernetes⽅式进⾏部署。原创 2024-09-04 07:15:00 · 41811 阅读 · 69 评论 -
【Prometheus】Prometheus的特点、数据采集方式、架构、数据模型详解
Prometheus 采⽤多维度的数据模型,可以对不同维度的数据进⾏监控和分析,同时PromQL可以对数据进⾏复杂的计算、过滤和查询等操作。当使⽤Prometheus 监控⼀个 Web 服务时,通常需要收集的数据包括:服务地址以及端⼝、请求uri、请求的⽅法、请求的次数、以及请求状态码等指标。原创 2024-09-03 07:15:00 · 38521 阅读 · 77 评论 -
【Prometheus】新时代的监控系统--prometheus快速入门
Prometheus是一个开源的系统监控和警报工具,特别适用于容器和微服务架构。自2012年在SoundCloud创立以来,Prometheus逐渐成长为云原生基金会(CNCF)的核心项目之一,并于2018年宣布为CNCF历史上第二个“毕业”项目。原创 2024-09-02 13:58:55 · 35027 阅读 · 46 评论