Prometheus_原理架构-安装部署

news2025/1/11 8:42:29

文章目录

  • 1、prometheus简介
    • 常见监控软件
    • 优势
  • 2、组成图讲解
  • 3、安装和配置
    • 3.1 容器安装
    • 3.2 二进制安装
    • 3.3 配置热加载

1、prometheus简介

是一个监控软件–》监控容器非常好,也可以监控其他的非容器的机器的业务,例如:MySQL,nginx,redis,系统等。
目前属于CNCF(云原生基金会)的一个项目。

常见监控软件

1、cacti 仙人掌:出图比较好
2、nagios 监控脚本特别多
3、zabbix 集合cacti + nagios 的优点,企业里面用的很多
4、openfalcon 小米公司开源的监控软件
5、prometheus:开源的监控软件

优势

zabbix可以监控的prometheus都可以监控。
zabbix监控的服务器多了会跟不上的,但是prometheus是可以的。
prometheus的时序数据库是非常快的,支持很大的并发,监控更多的节点。

2、组成图讲解

在这里插入图片描述

promQL 是prometheus 里的SQL语句–》可以实现增删改查等操作 ;
jobs --》作业,任务–》一个运行的程序对应进程 --》长作业:长时间的工作
short-lived jobs 短作业:短时间的工作 --》进程
长作业:长时间的工作
prometheus targets 被监控的目标–》被监控的服务器
exporter : 是prometheus的agent(代理),负责收集工作的指标(数据)给prometheus server
exporter 是一个一直在被监控主机里运行的一个进程(jobs)

prometheus是一个监控软件,可以监控容器。也可以监控其他的服务器。它由prometheus server、exporter 、Pushgateway、Altermanager、prometheus web UI等五大块组成。

  • prometheus server(存储数据)
    核心组件。里面有一个时序数据库(TSDB)、web服务(HTTP server,提供接口方便外面的人拿数据展示)
    时序数据库(time series database: 按照事情发生的时间记录数据的数据库 )
  • exporter(采集数据模块)
    装在被监控的服务器上面。主要是长作业的任务需要用到exporter。
  • Pushgateway(中间件)
    短作业的任务借助中间件Pushgateway收集存储起来。server去Pushgateway里面拉取数据,推到Altermanager上
  • Altermanager (告警模块)
    实现告警
    -prometheus web UI (展示模块)
    客户端获取数据用到的是promQL,通过访问接口获取数据。

3、安装和配置

3.1 容器安装

# 使用容器安装prometheus
docker run  -d -p 9090:9090 --name sc-prometheus-1    prom/prometheus
# 此时监控的是本机 
http://192.168.2.150:9090/graph  --》访问图形界面的API接口
http://192.168.2.150:9090/metrics  -->prometheus提供的数据的API

grafana 就是访问prometheus的http://192.168.2.150:9090/metrics 接口获取数据,然后出图展示;
grafana 就是出图工具,数据显示的工具;
grafana比prometheus自带的web界面出图工具要漂亮

3.2 二进制安装

[root@lb1 prom]# mkdir /prom  专门新建一个目录存放
[root@lb1 prom]# cd /prom
[root@lb1 prom]# wget https://github.com/prometheus/prometheus/releases/download/v2.29.1/prometheus-2.29.1.linux-amd64.tar.gz

[root@lb1 prom]# tar xf prometheus-2.29.1.linux-amd64.tar.gz 
[root@lb1 prom]# cd prometheus-2.29.1.linux-amd64
[root@lb1 prometheus-2.29.1.linux-amd64]# ls
console_libraries  consoles  LICENSE  NOTICE  prometheus  prometheus.yml  promtool

[root@lb1 prom]# mv prometheus-2.29.1.linux-amd64/* .
[root@lb1 prom]# PATH=/prom:$PATH  修改环境变量
[root@lb1 prom]# which prometheus
/prom/prometheus
 #在后台启动prometheus
[root@lb1 prom]# nohup prometheus --config.file=/prom/prometheus.yml  &
[1] 23051
[root@lb1 prom]# nohup: 忽略输入并把输出追加到"nohup.out"

[root@lb1 prom]# netstat -anputl|grep prom
tcp6       0      0 :::9090                 :::*                    LISTEN      23051/prometheus    
tcp6       0      0 ::1:9090                ::1:55398               ESTABLISHED 23051/prometheus    
tcp6       0      0 ::1:55398               ::1:9090                ESTABLISHED 23051/prometheus 
[root@lb1 prom]# vim prometheus.yml  # 是prometheus的配置文件

scrape_configs:
  - job_name: "prometheus"  #监控的一个任务
    static_configs:
      - targets: ["localhost:9090"]  #具体被监控的服务器的访问接口

安装好了后,打开浏览器去访问
http://192.168.2.130:9090
在这里插入图片描述

3.3 配置热加载

Promtheus的时序 数据库 在存储了大量的数据后,每次重启Prometheus进程的时间会越来越慢。 而在日常运维工作中会经常调整Prometheus的配置信息,实际上Prometheus提供了在运行时热加载配置信息的功能。

  • 热加载方式
    发送一个POST请求到/-/reload,需要在启动prometheus时加上 --web.enable-lifecycle 选项
  • 热加载命令
    curl -XPOST http://localhost:9090/-/reload

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

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

相关文章

locksupport的park和unpark

locksupport是什么 LockSupport是一个线程阻塞工具类,所有的方法都是静态方法,可以让线程在任意位置阻塞,当然阻塞之后肯定得有唤醒的方法。 有什么用 接下面我来看看LockSupport有哪些常用的方法。主要有两类方法:park和unpar…

java:jackson 二:Custom Deserialization in Jackson

java:jackson 二:Custom Deserialization in Jackson 1 前言 jackson支持自定义反序列化器,参考文档地址如下: https://www.baeldung.com/jacksonhttps://www.baeldung.com/jackson-deserialization依赖如下(这里使…

基于FPGA的幅频均衡带通滤波器的设计

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 数字通信系统中,由于多径传输、信道衰落等影响,在接收端会产生严重的码间干扰,增大误码率。为了克服码间干扰,提高通信系统的性能,在接…

记录Android Jni编译过程

Gradle配置 我们主要看这个配置文件里面吧,这里面有关于ndk配置的选项。 大概介绍一下,这里面一些字段是干嘛的。 我们看,这里面有两个相仿的字段,都是externalNativeBuild字段,但是位于两个不同的位置,其…

小程序02/小程序 响应式单位rpx 、image组件概念说明 和 mode属性介绍

一. 响应式单位rpx rpx 说明 rpx: 规定不管屏幕为多少px , 100%的屏幕宽度就是750rpx 100% 屏幕的宽度 750rpx rpx响应单位 rpx是微信小程序独有的,解决屏幕自适应的尺寸单位 可以根据屏幕宽度进行自适应,不论大小屏幕,规定屏幕宽为750…

数据首发!空气悬挂前装搭载率破1%,明年冲刺70万套

新能源智能化的合力变革,带动汽车行业进入新的发展周期:如何进一步提升整车轻量化、驾驶和乘坐的安全和体验。这其中,乘用车悬挂系统也在发生新的变化。 此前,除了传统固定式金属螺旋弹簧悬挂,主动悬架系统的前装上车主…

学计算机网络太难?原来方法没用对...

计算机世界里的三座大山: 计算机网络,操作系统,算法与数据结构。跨过去的人都是神一样的存在了。 学计算机网络也要讲究学习方法 从实际案例出发(比如我们在浏览器输入一个网址到展示出内容中间发生了什么事情) 计算机网络出现的…

简单记录一下怎么看package.json文件

首先每个vue工程文件从仓库克隆代码下来的时候,一般都会包含这个文件,这个文件非常重要,package.json包含了关于项目重要信息,如下图所示 其中包含了name、version、description、author、scripts、dependencies、devDependencies…

Django基础

Django 1.项目的创建 创建项目: 删除一些内容: settings.py中: 2.默认项目文件的介绍 3.APP 创建APP: APP文件介绍: 4.快速上手 APP注册: 在app中找到apps.py: 在django的项目setti…

海量数据处理

1.给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址? 如何找到top K的IP? 思路:(哈希切割) 1.ip本身就是一个字符串,先把ip变成一个整数hash(ip) 2.文件的下标index…

用知识图谱打开梁山好汉一百单八将

说起《水浒传》大家一定不会陌生,《水浒传》是一部以描写古代农民起义为题材的长篇小说,全书描写北宋末年以宋江为首的108位好汉在梁山聚义,之后接受招安、四处征战的故事。它的一大看点便是其人物的描写,用金人瑞曾评的话说&…

算法之贪心算法

目录 前言: 如何理解贪心算法? 贪心算法的实战分析 分糖果 钱币找零 问题 总结: 参考资料 前言: 贪心算法有很多经典的应用,比如霍夫曼编码(Huffman Coding)、Prim 和 Kruskal 最小生成树…

Windows下Jenkins常见问题汇总

Jenkins运行时,场景遇到一些奇怪的问题,特别是在Powershell下能运行的命令,在Jenkins下运行就不行。 原因在于其特殊性:Jenkins执行脚本时,不是用当前Windows的登录账户执行的,所以当前登录账户的很多属性&…

数据库,计算机网络、操作系统刷题笔记16

数据库,计算机网络、操作系统刷题笔记16 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle…

【码极客精讲】二维数组

二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] a[j][i],对角矩阵:n阶方阵主对角线外都是…

Go语言web极速入门-(Gin+Mysql实现后端接口)

文章目录Gin框架github地址 ⬅️点击此处安装Gin及安装框架超时问题解决参考地址 ⬅️点击此处Mysql操作建表增加测试数据代码实现需要导的包数据库连接函数及常量、数据传输结构体业务代码:获取一条信息(GET请求)业务代码:获取多条信息(GET请求)业务代码:保存一条信息(POST请求…

指令重排现象,多线程情况下,你的代码执行顺序可能不是顺序执行,结果会不一致

一、思考多线程情况下,程序执行顺序是否是按顺序执行 首先定义x 0; y 0; a 0; b 0;然后思考a 1;x b;两行代码谁先执行问题? 二、实战测试 2.1 测试逻辑 首先默认为x 0; y 0; a 0; b 0;然后开启两个线程;线程1执行:a…

java 瑞吉外卖day6 移动端 套餐 菜品展示 购物车加减,清空,用户下单

导入用户地址簿相关功能代码 菜品展示 购物车模块 加入购物车: PostMapping("/add") public R add(RequestBody ShoppingCart shoppingCart){//获取当前线程用户的id并设置到shoppingCart中Long currentId BaseContext.getCurrentId();shoppingCart.set…

使用3种不同的算法从倾斜风速计中检索3个风分量(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

如何确保电子招标的透明度、公正性和及时性?

采购的主要目标是确保以竞争的方式及时获得货物、工程和服务,确保资金的最佳价值,同时保持透明度和公正性。特别是在公共或非盈利组织中,他们利用捐助者的资金来完成任务,必须强调透明度、公平性和及时性。因此,更需要…