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服务的启动、停止和状态查看啦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/36418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】实践方法论

李宏毅深度学习笔记 优化问题 训练数据的损失不够低的时候,到底是模型偏差,还是优化的问题? 判断方法是通过比较不同的模型来判断模型现在到底够不够大 看到一个从来没有做过的问题,可以先跑一些比较小的、比较浅的网络&#x…

如何使用Hugging Face Transformers为情绪分析微调BERT?

情绪分析指用于判断文本中表达的情绪的自然语言处理(NLP)技术,它是客户反馈评估、社交媒体情绪跟踪和市场研究等现代应用背后的一项重要技术。情绪可以帮助企业及其他组织评估公众意见、提供改进的客户服务,并丰富产品或服务。 BERT的全称是来自Transfo…

编译VTK静态库

编译VTK静态库遇到问题 vtkCommonCore-9.3d.lib(vtkSMPToolsAPI.obj) : error LNK2019: unresolved external symbol "public: bool __cdecl vtk::detail::smp::vtkSMPToolsImpl<1>::IsParallelScope(void)" (?IsParallelScope?$vtkSMPToolsImpl$00smpdetai…

网信办算法备案详细解读——中国人工智能监管新规

中国出台新规旨在防范人工智能的相关风险&#xff0c;且规定了从事人工智能相关业务的实体的合规义务。 要点&#xff1a; • 中华人民共和国&#xff08;中国&#xff09; 通过推出并实施如下一系列法规&#xff0c;在人工智能监管方面领先于其他司法管辖 区&#xff1a…

Linux源码阅读笔记07-进程管理4大常用API函数

find_get_pid find_get_pid(...)函数功能&#xff1a;根据进程编号获取对应的进程描述符&#xff0c;具体Linux内核源码对应函数设计如下&#xff1a; 获取进程描述符&#xff0c;且描述符的count1&#xff0c;表示进程多一个用户 pid_task pid_task(...)函数功能&#xff1…

vue2中的组件自定义事件

1.绑定事件: <组件 :自定义名称"方法" /> 2.调用 this.$emit(方法,参数) 3.关闭 this.$off(方法) 案例: 1.提前准备好组件 Student组件 <template><div class"student"><h1>学校名称:{{ st…

惠普笔记本双指触摸不滚屏

查看笔记本型号 一般在笔记本背面很小的字那里 进入惠普官网 笔记本、台式机、打印机、墨盒与硒鼓 | 中国惠普 (hp.com) 选择“支持”>“解决问题”>“软件与驱动程序” 选择笔记本 输入型号&#xff0c;选择操作系统 下载驱动进行完整 重启之后进行测试

Studying-代码随想录训练营day22| 回溯理论基础、77.组合、216.组合总和II、17.电话号码的字母组合

第22天&#xff0c;回溯章节开始&#xff01;一大算法难点&#xff0c;加油加油&#xff01; 回溯理论基础组合问题的剪枝操作 文档讲解&#xff1a;代码随想录回溯理论基础 视频讲解&#xff1a;回溯理论基础 回溯法也叫回溯搜索法&#xff0c;它是一种搜索&#xff0c;遍历的…

Arathi Basin (AB) PVP15

Arathi Basin &#xff08;AB&#xff09; PVP15 阿拉希盆地&#xff0c;PVP&#xff0c;15人战场

放大招了|十亿参数大模型LLMs运行功耗仅需13W,内存使用量减少90%!

矩阵乘法&#xff08;MatMul&#xff09;历来是大型语言模型&#xff08;LLMs&#xff09;总体计算成本的主导因素&#xff0c;尤其在模型向更大维度嵌入和上下文长度发展时&#xff0c;这一成本呈指数级增长。 近期有一篇刚刚发表的论文中提出的方法完全去除了矩阵乘法操作&am…

Oracle ACE夜话--和首席-总监一起跟大家谈一谈分布式数据库发展

前言 在昨日的Oracle ACE夜话中&#xff0c;和薛首席、尹总监一起聊了下当前分布式数据库的内容&#xff0c;现将分享内容又进行了相应整理&#xff0c;分享给大家&#xff0c;也希望大家多多指正。 一、自我介绍 尚雷&#xff0c;公众号【尚雷的驿站】&#xff0c;PG ACE&a…

C++项目实践学习笔记---DLL

linux守护进程 守护进程或精灵进程&#xff08;Daemon&#xff09;&#xff1a;以后台服务方式运行的进程&#xff0c;它们不占用终端&#xff08;Shell&#xff09;&#xff0c;因此不会受终端输入或其他信号&#xff08;如中断信号&#xff09;的干扰守护进程有如下特点。 &…

高性能并行计算课程论文:并行网络爬虫的设计与实现

目录 1.绪论 1.1 研究背景 1.2 研究意义 ​​​​​​​1.3 文章结构 2. 网络爬虫相关理论 ​​​​​​​2.1 URL地址格式 ​​​​​​​2.2 网页爬取策略 2.2.1 深度优先策略 2.2.2 广度优先策略 2.2.3 最佳优先策略 ​​​​​​​2.3 网页分析算法 ​​​​​​​2.3.1 正…

微软发布Phi-3系列语言模型:手机端的强大AI助手

大模型&#xff08;LLMs&#xff09;在处理复杂任务时展现出的巨大潜力&#xff0c;但却需要庞大的计算资源和存储空间&#xff0c;限制了它们在移动设备等资源受限环境中的应用。微软公司最新发布的Phi-3系列语言模型&#xff0c;以其卓越的性能和小巧的体积&#xff0c;打破了…

c++习题01-ljc的暑期兼职

目录 一&#xff0c;题目描述 二&#xff0c;思路 三&#xff0c;伪代码 四&#xff0c;流程图 五&#xff0c;代码 一&#xff0c;题目描述 二&#xff0c;思路 1&#xff0c;根据题目要求需要声明4个变量&#xff1a;a,b,c,d ;牛奶价格a&#xff0c;活动要求b&…

柯桥商务英语培训under是“在下面”,dog是“狗”,那underdog是什么意思?

英语中有很多单词 拆开看都认识 但合在一起意思就变了 就比如这个表达&#xff1a;underdog 大家都知道&#xff1a;under是下面&#xff0c;dog是狗 那么underdog是啥意思呢&#xff1f; 在小狗下面&#xff1f; 还是活得连狗都不如&#xff1f; 当然没有那么简单 但我…

flask 接收vuejs element el-upload传来的多个文件

el-upload通过action指定后端接口,并通过name指定传输的文件包裹在什么变量名中 <el-uploadclass="upload-demo"dragaction="https://ai.zscampus.com/toy/upload"multiplename="fileList":limit="10"accept=

Linux-笔记 使用SCP命令传输文件报错 :IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

前言 使用scp命令向开发板传输文件发生报错&#xff0c;报错见下图; 解决 rm -rf /home/<用户名>/.ssh/known_hosts 此方法同样适用于使用ssh命令连接开发板报错的情况。 参考 https://blog.csdn.net/westsource/article/details/6636096

【Java Web】Axios实现前后端数据异步交互

目录 一、Promise概述 二、Promise基本用法 三、async和await关键字 四、Axios介绍 4.1 Axios基本用法 4.2 Axios简化用法之get和post方法 五、Axios拦截器 六、跨域问题处理 一、Promise概述 axios是代替原生的ajax实现前后端数据交互的一套新解决方案&#xff0c;而axios使用…

Geotools系列说明之入门介绍与坐标系转换说明

Geotools介绍 借用官网的介绍 GeoTools is an open source Java library that provides tools for geospatial data 就是提供java处理地理空间的工具详细内容请参考官网 Geotools环境搭建 我们这里只讨论Geotools在Maven中和Idea的项目实战&#xff0c;至于Geotools的服务端…