Prometheus_原理架构-安装部署

news/2024/5/19 1:32:44 标签: prometheus, 架构, 数据库

文章目录

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

prometheus_2">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.niftyadmin.cn/n/19582.html

相关文章

路由器的工作原理(计算机网络-网络层)

目录 路由器的构成 转发和路由选择的区别 典型的路由器结构 交换结构 输出端口 路由器与交换机的比较 两种基于存储转发的分组交换设备的比较 交换机和路由器各有的应用场合 三层交换机 三层交换机的应用 路由器的构成 路由器的任务 路由器是一种具有多个输入端口和多…

接口(interface) 和 抽象类(abstract class) 的使用区别

接口(interface) 和 抽象类(abstract class) 的使用区别 在实践中,可能不太清楚什么时候使用接口,什么时候使用抽象类。 一个最准确的比喻可能会有所帮助。 可以将 interface 想象为定义“can-do”或“is-a”关系,而abstract class 更应该…

【码极客精讲】二维数组

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

Dubbo 面试题及答案【三】

为什么需要服务治理?  过多的服务 URL 配置困难  负载均衡分配节点压力过大的情况下也需要部署集群  服务依赖混乱,启动顺序不清晰  过多服务导致性能指标分析难度较大,需要监控 Dubbo 的注册中心集群挂掉,发布者和订…

Python - fake_useragent使用

目录 前言 一、fake_agent是什么? 二、安装 1.安装 2.fake-useragent例子 2.1查看版本

水质检测中心实验室如何规划

TENAISU小编今天为大家介绍的是水质分析化验室,希望对有需要的客户提供指导帮助。 一般情况,地市级的供水水质检测中心,需要如下功能实验室及配套设施: 总建筑面积:2000-2500平方米,房屋最好是南北朝向、…

【C++】类和对象(C++门槛)

唯有奋力奔跑,才能方得始终。 文章目录一、struct > class(类 方法/成员函数 属性/成员变量)1.自定义类型 struct 和 class 的区别2.类放在内存中的什么存储区?3.类中函数的两种定义方式3.1 声明和定义分离(增强代码可读性,…

Fabric的证书相关处理流程

上次写完Fabric的证书过期问题之后,有朋友问相关节点的证书问题。正好我们写Fabric Runner的时候,学习过Fabric Test Sample的启动脚本,大致可以介绍一下启动Fabric网络大概在证书相关的部分经历了哪些操作。 1)准备Fabric-ca F…