深入学习Prometheus! 一款开源的监控和警报工具!
深入学习Prometheus! 一款开源的监控和警报工具!
Prometheus是一个开源的监控和警报工具,它广泛用于记录和收集各种指标(如硬件资源使用情况、应用性能等),并提供强大的查询语言以帮助用户分析和查看这些数据。本文将详细介绍Prometheus的基本概念、安装、配置和使用,以及如何通过Prometheus API和查询语言来提取有用信息。
一、Prometheus基本概念
指标(Metrics):Prometheus的核心是指标,它们是用于表示系统或应用程序状态的数值数据点。指标通常有两个维度:名称和标签。例如,http_requests_total 是一个常见的指标名称,而 method 和 code 可能是标签。
时间序列(Time Series):每个指标的所有数据点组成一个时间序列。在Prometheus中,时间序列由唯一的指标名称和一组键值对(即标签)标识。
服务发现(Service Discovery):Prometheus支持服务发现功能,可以自动发现集群中的服务并开始收集它们的指标。
二、Prometheus的安装
使用官方提供的二进制文件进行安装:
wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xzf prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64
./prometheus --config.file=prometheus.yml
使用Docker进行安装:
docker run -p 9090:9090 -v $PWD/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
三、Prometheus的配置
Prometheus的配置文件通常是prometheus.yml,以下是一个简单的配置文件示例:
global:scrape_interval: 15sscrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']
四、添加数据源
在Prometheus中,数据源是指要监控的服务或应用。你可以通过修改prometheus.yml文件来添加新的数据源。例如,如果你想监控一个运行在localhost:8080上的服务,你可以添加以下配置:
scrape_configs:- job_name: 'my_service'static_configs:- targets: ['localhost:8080']
五、Prometheus查询语言(PromQL)
Prometheus提供了一种强大的查询语言——PromQL,用于查询和分析指标数据。以下是一些常用的PromQL操作:
选择指标:
http_requests_total{job="myjob"}
聚合操作:
sum(rate(http_requests_total[5m])) by (instance)
过滤操作:
http_requests_total{status_code=~"2.."}
六、Prometheus API
Prometheus提供了RESTful API,你可以通过API来获取指标数据、查询告警等。以下是一些常用的API操作:
获取指标数据:
curl "http://localhost:9090/api/v1/query?query=http_requests_total"
查询告警:
curl "http://localhost:9090/api/v1/alerts"
七、总结
Prometheus是一个功能强大的监控和警报工具,通过本文的介绍,你应该已经掌握了Prometheus的基本使用方法。接下来,你可以根据实际需求,深入学习Prometheus的各种功能,打造属于自己的监控系统。
点赞关注转发感谢!
相关文章:
深入学习Prometheus! 一款开源的监控和警报工具!
深入学习Prometheus! 一款开源的监控和警报工具! Prometheus是一个开源的监控和警报工具,它广泛用于记录和收集各种指标(如硬件资源使用情况、应用性能等),并提供强大的查询语言以帮助用户分析和查看这些数据。本文将…...
【webrtc】跟webrtc学list遍历
m98 代码:RTT G:\CDN\rtcCli\m98\src\video\call_stats.cc遍历list 进行删除 :remove_if void RemoveOldReports(int64_t now, std::list<CallStats::RttTime>* reports) {static constexpr const <...

网络安全产品之准入控制系统
文章目录 一、什么是准入控制系统二、准入控制系统的主要功能1. 接入设备的身份认证2. 接入设备的安全性检查 三、准入控制系统的工作原理四、准入控制系统的特点五、准入控制系统的部署方式1. 网关模式2. 控制旁路模式 六、准入控制系统的应用场景七、企业如何利用准入控制系统…...
为什么免费ip代理不适用于分布式爬虫?
费IP代理通常是一些公开免费提供的IP地址和端口,供用户免费使用。然而,这些免费IP代理并不适用于分布式爬虫的使用,原因如下: 1. 不稳定性 免费IP代理通常是由个人或组织提供的,没有稳定的维护和管理机制。因此&…...

【HTML 基础】元数据 meta 标签
文章目录 1. 设置字符集2. 描述网页内容3. 设置关键词4. 网页重定向5. 移动端优化注意事项结语 在网页开发中,<meta> 标签是一种十分重要的 HTML 元数据标签。通过巧妙使用 <meta> 标签,我们能够设置各种元数据,从而影响网页在浏…...

考研中常见的算法-逆置
元素逆置 概述:其实就是将 第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,依次到中间位置。用途:可用于数组的移动,字符串反转,链表反转操作,栈和队列反转等操作。 逆置图解 …...

docker exec命令流程
背景 在使用docker时,我们经常会使用docker的很多命令,比如docker exec等创建容器并执行命令,那么你知道这条命令背后的原理吗,本文就来解析下这条命令大致的执行流程图 docker exec命令 首先我们按照启动docker之后࿰…...
游戏中好胜心的强化作用及其影响
在虚拟与现实交织的数字时代,电子游戏已经发展成为全球数以亿计玩家的日常娱乐和社交活动之一。其中,游戏体验往往激发并放大了参与者的好胜心理,这种现象不仅显著增强了游戏的吸引力,也在一定程度上塑造了玩家的行为模式和性格特…...

备战蓝桥杯---搜索(应用入门)
话不多说,直接看题: 显然,我们可以用BFS,其中,对于判重操作,我们可以把这矩阵化成字符串的形式再用map去存,用a数组去重现字符串(相当于map映射的反向操作)。移动空格先找…...
自学PyQt6杂记索引
文章目录 📖 介绍 📖🏡 安装 🏡📒 使用 📒📝 QtCore📝 QtGui📝 QtWidgets📝 QToolTip📝 信号和槽📝 QtDBus📝 QtNetwork📝 QtHelp📝 QtXml📝 QtSvg...

【Docker】Docker Registry(镜像仓库)
文章目录 一、什么是 Docker Registry二、镜像仓库分类三、镜像仓库工作机制四、常用的镜像仓库五、常用命令镜像仓库命令镜像命令(部分)容器命令(部分) 六、docker镜像仓库实战综合实战一:搭建一个 nginx 服务综合实战二:Docker hub上创建自己私有仓库综…...
TensorFlow2实战-系列教程14:Resnet实战2
🧡💛💚TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 Resnet实战1 Resnet实战2 Resnet实战3 4、训练脚本train.py解读------创建模型 def …...
编程笔记 html5cssjs 069 JavaScript Undefined数据类型
编程笔记 html5&css&js 069 JavaScript Undefined数据类型 一、undefined数据类型二、类型运算小结 在JavaScript中,undefined 是一种基本数据类型,它表示一个变量已经声明但未定义(即没有赋值)或者一个对象属性不存在。 …...

《区块链简易速速上手小册》第6章:区块链在金融服务领域的应用(2024 最新版)
文章目录 6.1 金融服务中的区块链6.1.1 金融服务中区块链的基础6.1.2 主要案例:跨境支付6.1.3 拓展案例 1:去中心化金融(DeFi)6.1.4 拓展案例 2:代币化资产 6.2 区块链在支付系统中的作用6.2.1 支付系统中区块链的基础…...

【消息队列】kafka整理
kafka整理 整理kafka基本知识供回顾。...
python--杂识--16--代理密码中包含特殊字符
1 安装nginx 2 centos环境安装 yum install httpd-tools3 nginx.conf /etc/nginx/conf/nginx.conf #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;e…...

【Git】05 分离头指针
文章目录 一、分离头指针二、创建分支三、比较commit内容四、总结 一、分离头指针 正常情况下,在通过git checkout命令切换分支时,在命令后面跟着的是分支名(例如master、temp等)或分支名对应commit的哈希值。 非正常情况下&…...

【Tomcat与网络9】提高Tomcat启动速度的八大措施
本文我们来看一下如何对Tomcat进行调优,我们对于Tomcat的调优主要集中在三个方面:提高启动速度、提高系统稳定性和提高并发能力,后两者很多时候是相辅相成的,我们放在一起看。 Tomcat现在一般都嵌入在SpringBoot里,因…...

蓝桥杯嵌入式第七届真题(完成) STM32G431
蓝桥杯嵌入式第七届真题(完成) STM32G431 题目 相关文件 main.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body**********************…...
如何降低视频RTSP解码延迟
降低RTSP(Real-Time Streaming Protocol)视频流的解码延迟涉及到网络传输和解码处理的优化。以下是一些常见的方法: 选择低延迟的解码器:使用专为低延迟优化的解码器,例如一些定制的H.264或H.265解码器。 优化解码器设…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...