Linux之prometheus安装和使用简介(一)
一、prometheus简介
普罗米修斯Prometheus是一个开源系统监控和警报工具包,最初构建于SoundCloud。自2012年成立以来,许多公司和组织都采用了普罗米修斯,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立于任何公司进行维护。为了强调这一点,并澄清该项目的治理结构,普罗米修斯于2016年加入云原生计算基金会,成为继Kubernetes之后的第二个托管项目。以下是普罗米修斯的主要特点和优势:
- 强大的指标收集:Prometheus能够从各种目标系统中收集丰富的监控指标。
- 多维数据模型:它支持通过标签对数据进行灵活的分类和查询。
- 灵活的配置:可以方便地定义监控目标和采集规则。
- 实时查询:提供快速的实时数据查询功能。
- 社区活跃:拥有庞大且活跃的社区,不断推动其发展和完善。
- 与多种工具集成:能与许多其他系统和工具进行良好的集成。
- 可视化支持:常与Grafana等可视化工具搭配,实现直观的监控展示。
- 与Zabbix的区别:Prometheus采用多维数据模型,主要基于主动拉取数据,社区非常活跃,扩展性好,告警管理相对简洁,在云原生环境中广泛应用。相比之下,Zabbix使用传统的监控项和值的方式,支持主动和被动两种监控方式,也有活跃社区但Prometheus在云原生领域更流行,扩展性也不错但可能相对复杂一些,有较为完善的告警配置和管理体系,也在不断适应云原生场景但最初并非为云原生设计。
Prometheus的主要组件包括Prometheus Server、Exporters、Alertmanager和Pushgateway。这些组件共同构成了Prometheus的监控生态系统,使得用户可以方便地收集、存储、查询和处理各种监控数据。下面详细解释每个主要组件的作用和重要性:
- Prometheus Server:Prometheus Server是整个监控系统的核心,负责从各种监控目标(如Kubernetes集群、Docker容器、主机等)中定期拉取(pull)监控指标数据,并将其存储在本地的时间序列数据库中。它还提供了灵活的查询语言(PromQL),用于对存储的数据进行查询和分析。此外,Prometheus Server支持多种服务发现机制,如文件、DNS、Consul、Kubernetes等,能够动态管理监控目标。
- Exporters:Exporters是一组工具,用于将那些本身不支持直接暴露监控指标的应用程序或服务的指标数据转换为Prometheus可以抓取的格式。例如,Node Exporter用于收集服务器节点的物理指标状态数据(如CPU、内存、磁盘使用情况等),而MySQL Exporter则用于收集MySQL数据库的指标数据。其他常见的Exporter还包括Blackbox Exporter(用于网络探测)、Process Exporter(用于监控进程状态)等。
- Alertmanager:Alertmanager是Prometheus体系中处理报警的组件,它根据Prometheus Server中定义的警报规则接收警报通知,然后根据配置的处理流程将警报通知发送给指定的接收者(如邮件、Slack、企业微信、钉钉等)。Alertmanager支持告警的去重、分组和路由配置,以及告警的沉默和抑制功能,以减少不必要的告警噪音。
- Pushgateway:Pushgateway是一个可选的组件,主要用于接收由短期作业或批处理作业生成的指标数据,并允许Prometheus Server从Pushgateway中拉取这些数据。当某些作业或服务由于网络限制或其他原因无法直接被Prometheus Server访问时,可以使用Pushgateway作为中间缓存层来收集和转发这些指标数据。
- 除了上述核心组件外,Prometheus生态系统中还有一些其他的工具和集成选项,如Grafana(用于数据可视化和监控平台的开源工具,可与Prometheus无缝集成),以及各种客户端库(Client Libraries),它们为开发者提供了在应用程序中实现自定义指标的方式。
总的来说,Prometheus通过这些组件的协同工作,为用户提供了一个强大且灵活的监控和告警解决方案,特别适合于云原生环境,如Kubernetes集群的监控。了解这些组件的功能和工作原理对于有效使用Prometheus至关重要。
二、安装步骤
博文实验环境如下:
- 操作系统:centos7.6
- Prometheus版本:2.52.0
- node-exporter版本:1.8.1
1、创建部署目录
[root@s76 opt]# mkdir prometheus
2、官网下载prometheus最新安装包
博主安装部署时最新版本是2.52.0,发布日期是2024年5月7日,我们可以访问普罗米修斯官网下载最新版本。
[root@s76 prometheus]# wget https://github.com/prometheus/prometheus/releases/download/v2.52.0/prometheus-2.52.0.linux-amd64.tar.gz
3、解压安装包
[root@s76 prometheus]# tar -zxvf prometheus-2.52.0.linux-amd64.tar.gz
[root@s76 prometheus]# ln -s prometheus-2.52.0.linux-amd64/ prometheus
4、启动程序
[root@s76 prometheus]# ./prometheus --version
prometheus, version 2.52.0 (branch: HEAD, revision: 879d80922a227c37df502e7315fad8ceb10a986d)
build user: root@1b4f4c206e41
build date: 20240508-21:56:43
go version: go1.22.3
platform: linux/amd64
tags: netgo,builtinassets,stringlabels
[root@s76 prometheus]# ./prometheus
5、开通防火墙策略
[root@s76 prometheus]# firewall-cmd --zone=public --add-port=9090/tcp --permanent
[root@s76 prometheus]# firewall-cmd --reload
[root@s76 prometheus]# setenforce 0
6、访问Prometheus WEB页面

三、使用简介(添加node节点监控目标)
1、修改配置文件prometheus.yml
[root@s76 prometheus]# vim prometheus.yml
2、重新启动程序
[root@s76 prometheus]# ./prometheus
3、查看targets

4、被监控节点下载node-exporter
如下第4、5、6步是在被监控主机上执行。
[root@mytool opt ]# wget https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz
5、解压软件包并启动
[root@mytool opt]# tar -zxvf node_exporter-1.8.1.linux-amd64.tar.gz
[root@mytool opt]# ln -s node_exporter-1.8.1.linux-amd64 node_exporter
[root@mytool opt]# cd node_exporter
[root@mytool node_exporter]# ./node_exporter
6、查看监听端口服务

7、再次查看targets
再次登录Prometheus服务器WEB控制台查看监控目标状态,发现mytool监控节点status变为绿色up状态。

四、开机自启动配置
1、创建软链接
[root@s76 prometheus]# ln -s /opt/prometheus/prometheus-2.52.0.linux-amd64 /usr/local/prometheus
2、添加Prometheus用户并授权
[root@s76 prometheus]# groupadd prometheus
[root@s76 prometheus]# useradd -g prometheus -s /sbin/nologin prometheus
[root@s76 prometheus]# chown -R prometheus:prometheus /usr/local/prometheus/
3、设置开机启动参数
参照如下配置文件,创建开机自启动服务配置文件。
[root@s76 prometheus]# touch /usr/lib/systemd/system/prometheus.service
[root@s76 prometheus]# chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service
[root@s76 prometheus]# vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target[Service]
# Type设置为notify时,服务会不断重启
Type=simple
User=prometheus
# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data
Restart=on-failure[Install]
WantedBy=multi-user.target
4、启动Prometheus服务
[root@s76 prometheus]# systemctl start prometheus
5、查看Prometheus服务状态
[root@s76 prometheus]# netstat -tnpl |grep 9090
tcp6 0 0 :::9090 ::😗 LISTEN 47654/prometheus
6、Prometheus管理
配置了开机启动服务配置文件后,我们就可以通过systemctl命令进行管理Prometheus服务的启动、停止和状态查看啦。
相关文章:
Linux之prometheus安装和使用简介(一)
一、prometheus简介 普罗米修斯Prometheus是一个开源系统监控和警报工具包,最初构建于SoundCloud。自2012年成立以来,许多公司和组织都采用了普罗米修斯,该项目拥有非常活跃的开发人员和用户社区。它现在是一个独立的开源项目,独立…...
orcle数据表空间操作sql
orcle数据表空间操作sql 1.查询表空间路径: select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts#t2.ts#2.删除表空间和空间里的表: drop tablespace LTSYSDATA01 including contents and datafiles;1、表空间的路径、名称查询&…...
【Unity Android】Unity链接安卓手机调试
一、物理连接手机 1.USB数据线链接 2.打开开发者模式 大部分手机在手机设置->系统管理->关于手机->软件版本型号中,点击7次以上,来开启系统管理中的开发者模式选项。 3.打开USB调试 打开开发者模式后,开启USB调试 二、Unity中…...
数据结构与算法笔记:高级篇 - 概率统计:如何利用朴素贝叶斯算法过滤垃圾短信?
概述 上篇文章我们讲到,如何用位图、布隆过滤器,来过滤重复数据。本章,我们再讲一个跟过滤相关的问题,如果过滤垃圾短信? 垃圾短信和骚扰电话,我想每个人都收到过吧?买房、贷款、投资理财、开…...
vue3中通过vditor插件实现自定义上传图片、录入echarts、脑图、markdown语法的编辑器
1、下载Vditor插件 npm i vditor 我的vditor版本是3.10.2,大家可以自行选择下载最新版本 官网:Vditor 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏 …...
揭示数据库内核的奥秘--手写数据库toadb开源项目
揭示数据库内核的奥秘–手写数据库toadb 数据为王的时代 在信息化时代,数据已成为企业和应用不可或缺的核心,而数据库不仅是数据的仓库,更是支撑业务决策、系统运行的基石。对于求职者而言,掌握数据库知识已成为求职市场上的必考…...
Grafana调整等待时间,避免Gateway timeout报错
使用Grafana的HTTP时,有些即时数据需要运算量与时间,而grafana的默认timeout是30秒,因此需要通过修改配置文件,避免grafana提前中断连接 修改原始配置文件: 删除;调整timeout30为timeout60 # This setting also applies to cor…...
MetaGPT全面指南:多代理协作框架的深入解析与应用
文章目录 理解MetaGPT1.1 MetaGPT的基础1.2 MetaGPT的独特之处1.3 MetaGPT在AI领域的应用 MetaGPT的工作原理2.1 训练2.2 微调2.3 推理2.4 多代理协作的概念2.5 如何分配角色给GPTs2.6 复杂任务的完成过程 实际应用3.1 客户支持3.2 内容创作3.3 教育3.4 医疗保健3.5 在企业中的…...
图的关键路径算法
关键路径算法(Critical Path Method, CPM)是一种用于项目管理和调度的技术,通过分析项目任务的最早开始时间、最晚完成时间和总时差,找出项目中关键的任务路径。这条关键路径决定了项目的最短完成时间,因为关键路径上的…...
模型情景制作-冰镇啤酒
夏日炎炎,当我们在真实世界中开一瓶冰镇啤酒的时候,我们也可以为模型世界中的人物添加一些冰镇啤酒。 下面介绍一种快速酒瓶制造方法,您只需要很少工具: 截取尽量直的流道(传说中的板件零件架),将其夹在您的…...
网页实现黑暗模式的几种方式
## 实现暗黑模式的最佳方式 在现代网页设计中,暗黑模式已成为提高用户体验的重要功能。实现暗黑模式不仅可以减少用户眼睛的疲劳,还能在某些情况下节省设备电量。本文将介绍实现暗黑模式的几种最佳方式。 ### 使用 CSS 变量 (CSS Custom Properties) …...
VMware Workstation环境下,邮件(E-Mail)服务的安装配置,并用Windows7来验证测试
需求说明: 某企业信息中心计划使用IP地址17216.11.0用于虚拟网络测试,注册域名为xyz.net.cn.并将172.16.11.2作为主域名的服务器(DNS服务器)的IP地址,将172.16.11.3分配给虚拟网络测试的DHCP服务器,将172.16.11.4分配给虚拟网络测试的web服务器,将172.16.11.5分配给FTP服务器…...
《信号与系统》复试建议
目录 第一章 绪论 第二章 连续时间系统的时域分析 第三章 傅立叶变换(重点) 第四章 拉普拉斯变换(重点) 第五章 傅立叶变换在通信系统中的应用 第六章 信号的矢量空间分析 第七章 离散时间系统的时域分析 第八章 Z变换与离…...
代码随想录训练营Day45
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、打家劫舍二、打家劫舍2三、打家劫舍3 前言 提示:这里可以添加本文要记录的大概内容: 今天是跟着代码随想录刷题的第45天ÿ…...
NAT和内网穿透
NAT(Network Address Translation,网络地址转换)是一种广泛应用于计算机网络的技术,其主要目的是为了解决IPv4地址空间的短缺问题,并且增强网络安全。NAT技术允许一个私有网络内的多个设备共享一个或几个全局唯一的公共…...
android | 声明式编程!(笔记)
https://www.jianshu.com/p/c133cb7cac21 讲的不错 命令式UI (how to do) 声明式UI (what to do) what to do 也许有人会说Data Binding不是可以让XML自己"动"起来吗?没有错,Data Binding其实就是Compose诞生之前的一种声明式U方案,谷歌曾…...
友力科技IDC机房搬迁方案流程分享
机房搬迁流程 系统搬迁实施流程包括:准备、拆卸、装运、安装、调试等五个流程,具体如下: 准备:包括相关人员和设备准备、新机房环境准备、网络环境、备份、现场所有设备打标签、模块、设备准备等准备工作。拆卸:主要只核心设备下…...
仿迪恩城市门户分类信息网discuz模板
Discuz x3.3模板 仿迪恩城市门户分类信息网 (GBK) Discuz模板 仿迪恩城市门户分类信息网(GBK)...
Windows 注册表是什么?如何备份注册表?
Windows注册表(Windows Registry)是微软Windows操作系统中的一个重要组件,用于存储系统和应用程序的配置信息和选项。下面就给大家详细讲解一下什么是注册表。 注册表的概念 Windows 注册表是一个集中管理的数据库,存储了系统、…...
B+树与索引解析
文章目录 B树与索引简介几个关键点应用案例场景描述索引创建查询操作更新操作并发处理 Python代码示例 B树与索引简介 B树是一种在计算机科学中广泛使用的自平衡的树数据结构,它能保持数据排序,并且搜索、插入和删除操作的时间复杂度都是O(log n)。B树被…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
页面渲染流程与性能优化
页面渲染流程与性能优化详解(完整版) 一、现代浏览器渲染流程(详细说明) 1. 构建DOM树 浏览器接收到HTML文档后,会逐步解析并构建DOM(Document Object Model)树。具体过程如下: (…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

