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树被…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
莫兰迪高级灰总结计划简约商务通用PPT模版
莫兰迪高级灰总结计划简约商务通用PPT模版,莫兰迪调色板清新简约工作汇报PPT模版,莫兰迪时尚风极简设计PPT模版,大学生毕业论文答辩PPT模版,莫兰迪配色总结计划简约商务通用PPT模版,莫兰迪商务汇报PPT模版,…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

