Prometheus安装部署

news2025/1/15 13:12:53

1 常见部署方式

  • 包安装

RHEL系统: https://packagecloud.io/app/prometheus-rpm/release/search

  • 二进制安装

https://prometheus.io/download/

  • 基于 Docker 运行

https://prometheus.io/docs/prometheus/latest/installation/

1.1 Docker 镜像直接启动

[root@120 ~]# docker run -d --name prometheus -p 9000:9090 prom/prometheus

#浏览器访问:http://prometheus服务器:9000/

1.2二进制安装

1.2.1下载二进制包并安装
[root@prometheus local]#pwd
/usr/local/
[root@prometheus local]#wget 
https://github.com/prometheus/prometheus/releases/download/v2.19.2/prometheus-
2.19.2.linux-amd64.tar.gz
[root@prometheus local]#tar zxvf prometheus-2.19.2.linux-amd64.tar.gz
[root@prometheus local]#mv prometheus-2.19.2.linux-amd64 prometheus
[root@prometheus local]#cd prometheus/
[root@prometheus prometheus]#mkdir bin conf data 
[root@prometheus prometheus]#mv prometheus promtool bin/ 
[root@prometheus prometheus]#mv prometheus.yml conf/
[root@prometheus prometheus]#useradd -r -s /sbin/nologin prometheus
[root@prometheus prometheus]#chown -R prometheus.prometheus 
/usr/local/prometheus/

#查看配置文件,默认可不修改
[root@prometheus ~]#grep -Ev "^ *#|^$" /usr/local/prometheus/conf/prometheus.yml
global:
 scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is 
every 1 minute.
 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is 
every 1 minute.
alerting:
 alertmanagers:
    - static_configs:
        - targets:
rule_files:
scrape_configs:
  - job_name: "prometheus"
   static_configs:
      - targets: ["localhost:9090"]
#属性解析:主要是global和 scrape_configs 两部分的配置,在这里目前我们保持默认即可

#检查配置文件是否正确
[root@prometheus ~]#promtool check config /usr/local/prometheus/conf/prometheus.yml
Checking /usr/local/prometheus/conf/prometheus.yml
 SUCCESS: 0 rule files found
1.2.2 创建 service 文件
[root@prometheus ~]#vim /lib/systemd/system/prometheus.service
[root@prometheus ~]#cat /lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target
[Service]
Restart=on-failure
User=prometheus
Group=prometheus
WorkingDirectory=/usr/local/prometheus/
ExecStart=/usr/local/prometheus/bin/prometheus --
config.file=/usr/local/prometheus/conf/prometheus.yml
ExecReload=/bin/kill -HUP $MAINPID
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target

[root@prometheus ~]#systemctl daemon-reload
[root@prometheus ~]#systemctl enable --now prometheus.service 
[root@prometheus ~]#ss -tnlp |grep prometheus
LISTEN   0         128                       *:9090                   *:*       
users:(("prometheus",pid=84755,fd=10)) 
#结果显示:可以看到当前主机上可以看到一个端口9090,可通过本机ip+9090看到prometheus的服务页面

1.2.3 Dashboard 菜单说明
#一级目录解析
Alerts  #Prometheus的告警信息菜单
Graph   #Prometheus的图形展示界面,这是prometheus默认访问的界面
Status  #Prometheus的状态数据界面
Help    #Prometheus的帮助信息界面

#Status子菜单,在Status菜单下存在很多的子选项,其名称和功能效果如下:
Runtime & Build Information 服务主机的运行状态信息及内部的监控项基本信息
Command-Line Flags 启动时候从配置文件中加载的属性信息
Configuration 配置文件的具体内容(yaml格式)
Rules 查询、告警、可视化等数据分析动作的规则记录
Targets 监控的目标对象,包括主机、服务等以endpoint形式存在
Service Discovery 自动发现的各种Targets对象列表

2. Prometheus 配置

2.1.配置文件说明

默认情况下,Prometheus 的配置文件有四部分组成,效果如下:

[root@prometheus ~]# egrep -v '^#| #|^$' prometheus.yml  
global:
 scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default 
is every 1 minute.
 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is 
every 1 minute.
  # scrape_timeout is set to the global default (10s).
  
alerting:
 alertmanagers:
  - static_configs:
    - targets:
rule_files:
scrape_configs:
  - job_name: 'prometheus'
   static_configs:
    - targets: ['localhost:9090']

配置解析:

#核心配置:

global #全局配置内容

alerting #触发告警相关的配置,主要是与Alertmanager相关的设置。

rule_files #各种各样的外置规则文件配置,包含了各种告警表达式、数据查询表达式等

scrape_configs #监控项的配置列表,这是最核心的配置

#除了默认的四项配置之外,prometheus还有另外可选的其它配置如下

#扩展配置(8项)

tls_config、static_config、relabel_config、metric_relabel_configs、

alert_relabel_configs、alertmanager_config、remote_write、remote_read

#平台集成配置(12项)

azure_sd_config、consul_sd_config、dns_sd_config、ec2_sd_config、

openstack_sd_config、file_sd_config、gce_sd_config、kubernetes_sd_config、

marathon_sd_config、nerve_sd_config、serverset_sd_config、triton_sd_config

scrape_configs 管理

scrape_configs 是操作最多的一个配置段,它指定了一组监控目标及其细节配置参数,这些目标和参数

描述了如何获取指定主机上的时序数据。配置样例如下:

scrape_configs:

  - job_name: '<job_name>'

  static_configs:

    - targets: [ '<host_ip:host_port>', ... ]

      labels: { <labelname>: <labelvalue> ... }

#配置解析:

#在一般情况下,一个scrape_configs配置需要指定一个或者多个job,根据我们之前对基本概念的了解, 每一个job都是一系列的instance集合,借助job我们可以将目标主机进行分组管理。

#对于job内部的每一个instance的配置,都需要借助于static_configs参数获取目标列表,只要在该列表位置的目标,都可以被Prometheus动态服务自动发现。

#static_configs可以借助于 targets 以ip+port 方式发现目标,也可以使用labels以标签方式发现目标。

2.2.标签

标签功能: 用于对数据分组和分类,利用标签可以将数据进行过滤筛选

标签的常见场景:

  • 删除不必要的指标
  • 从指标中删除敏感或不需要的标签
  • 添加、编辑或修改指标的标签值或标签格式

标签分类:

  • 默认标签: Prometheus 自身内置
    • 形式: __keyname__
  • 应用标签: 应用本身内置
    • 形式: keyname
  • 自定义标签: 用户定义
    • 形式: keyname

范例: 添加主机节点

#编辑prometheus.yml配置文件
scrape_configs:
 ...
  - job_name: "prometheus"
   static_configs:
    - targets: ['10.0.0.101:9100']
  - job_name: 'node_exporter'
   static_configs:
    - targets: ['10.0.0.104:9100','10.0.0.105:9100','10.0.0.106:9100']
      #- '10.0.0.104:9100' #或者下面格式
      #- '10.0.0.105:9100'
      #- '10.0.0.106:9100'
#配置解析:static_configs 用于手工定制要监控的target
 
#重启服务        
systemctl restart prometheus.service   

#查看效果,可以看到如下的内置的标签

image.png

范例: 添加主机标签

#编辑prometheus.yml配置文件
[root@prometheus ~]#vim /usr/local/prometheus/conf/prometheus.yml
  - job_name: 'node_exporter'
   static_configs:
    - targets: ['10.0.0.104:9100','10.0.0.105:9100','10.0.0.106:9100']
     labels:
        node: "worker node"
       type: "test"
  - job_name: 'zookeeper'
   static_configs:
    - targets: ['10.0.0.105:7000','10.0.0.106:7000']
     labels: {app: 'zookeeper', type: 'dev'}
             #app: 'zookeeper' #或者这种格式也支持
              #type: 'dev'
#配置解析:labels: 的编写方法,在此处遵循 yaml的字典格式
 
#重启服务        
[root@prometheus ~]#systemctl restart prometheus.service

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

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

相关文章

日志自动提取---七牛Logkit观星应急工具

目录 七牛Logkit (Windows&Linux&Mac 等) 下载: 文档: windows配置过程: 1-下载 2-修改logkit-community基本配置 3-启动! 4-浏览器访问 5-添加配置吧 观星应急工具 &#xff08;Windows 系统日志&#xff09; 七牛Logkit (Windows&Linux&Mac 等) -…

深度学习图像生成与分割模型详解:从StyleGAN到PSPNet

文章目录 Style GANDeeplab-v3FCNAdversarial AutoencodersHigh-Resolution Image Synthesis with Latent Diffusion ModelsNeRF: Representing Scenes as Neural Radiance Fields for View SynthesisPyramid Scene Parsing Network Style GAN 输入是一个潜在向量 (z)&#xff…

SPI四种模式--极性与相位

SPI的四种模式&#xff1a;相位和极性 极性 定义时钟空闲状态&#xff1a; CPOL0&#xff1a;时钟线在空闲状态为低电平 CPOL1&#xff1a;时钟线在空闲状态为高电平 这个设置决定了设备不进行通信时时钟线的状态。 兼容性&#xff1a; 不同的SPI设备可能需要不同的时钟极性…

Elasticsearch:Ingest architectures - 摄取架构

我们提供各种采集架构&#xff0c;以满足各种用例和网络配置的需求。 要将数据采集到 Elasticsearch&#xff0c;请使用最符合你的需求和用例的选项。对于许多用户和用例来说&#xff0c;最简单的方法是使用 Elastic Agent 采集数据并将其发送到 Elasticsearch。Elastic Agent…

Rhino 犀牛三维建模工具下载安装,Rhino 适用于机械设计广泛领域

Rhinoceros&#xff0c;这款软件小巧而强大&#xff0c;无论是机械设计、科学工业还是三维动画等多元化领域&#xff0c;它都能展现出其惊人的建模能力。 Rhinoceros所包含的NURBS建模功能&#xff0c;堪称业界翘楚。NURBS&#xff0c;即非均匀有理B样条&#xff0c;是计算机图…

PTrade量化软件常见问题整理系列2

一、研究界面使用get_fundamentals函数报错&#xff1a;error_info:获取token失败&#xff1f; 研究界面使用get_fundamentals函数报错&#xff1a;error_info:获取token失败&#xff1f; 1、测试版本202202.01.052&#xff0c;升级202202.01.051版本后&#xff0c;为了解决不…

卡尔曼滤波Q和R怎么调

卡尔曼滤波器是一种有效的估计算法&#xff0c;主要用于在存在噪声的环境中估计动态系统的状态。它通过结合预测模型&#xff08;系统动态&#xff09;和观测数据&#xff08;包括噪声&#xff09;来实现这一点。在卡尔曼滤波中&#xff0c;调整过程噪声协方差矩阵 ( Q ) 和测量…

idea删除分支并同步到gitLab以及gitLab上的分支删除

目录 idea删除分支并同步到gitLab 方法一&#xff08;推荐&#xff09; 方法二&#xff08;命令行&#xff09; gitLab上的分支删除 前言-与正文无关 ​ 生活远不止眼前的苦劳与奔波&#xff0c;它还充满了无数值得我们去体验和珍惜的美好事物。在这个快节奏的世界中&…

5.opencv深浅拷贝

图像处理的复制操作 深浅拷贝 图像复制分成两种&#xff0c;第一种假复制&#xff0c;从原图片选择一部分图片拿出来观察&#xff0c;此时新生成的图片和原图实际上是同一张图片&#xff0c;即浅拷贝 将图片的一部分复制下来&#xff0c;放到新的内存中&#xff0c;即两张完全…

ActiveAnno3D采用主动学习实现领域自适应,实现大规模数据集的快速标注(代码开源)

Abstract 大规模数据集的策划仍然成本高昂且需要大量时间和资源。数据通常需要手动标注&#xff0c;创建高质量数据集的挑战依然存在。在这项工作中&#xff0c;我们使用主动学习填补了多模态3D目标检测研究的空白。我们提出了ActiveAnno3D&#xff0c;这是一种主动学习框架&a…

基于香橙派AIpro搭建的车牌识别系统

引言 本人正有学习嵌入式的想法&#xff0c;正好碰到机会让我搞了块OrangePi AIpro&#xff08;香橙派AIpro&#xff09;开发板&#xff0c;正合我意&#xff0c;直接上手进行体验&#xff0c;顺便给大家分享下我的实践过程。 开发板介绍与初次启动 OrangePiAIPro开发板是香…

7_1_SVPWM概述

1、SPWM 正弦脉宽调制法&#xff08;SPWM&#xff09;是将每一正弦周期内的多个脉冲作自然或规则的宽度调制&#xff0c;使其依次调制出相当于正弦函数值的相位角和面积等效于正弦波的脉冲序列&#xff0c;形成等幅不等宽的正弦化电流输出。 通过调整占空比使等效电流近似为正弦…

【BUUCTF-PWN】13-jarvisoj_level2_x64

参考&#xff1a;BUU pwn jarvisoj_level2_x64 64位函数调用栈 - Nemuzuki - 博客园 (cnblogs.com) 64位&#xff0c;开启了NX保护 执行效果如下&#xff1a; main函数&#xff1a; vulnerable_function函数 read函数存在栈溢出&#xff0c;溢出距离为0x808 查找后门…

YOLOv8改进 | 代码逐行解析(三) | YOLO中的Mosaic增强详解(带你分析你的数据集是如何输入给模型,mosaic)

一、本文介绍 本文给大家带来的是YOLOv8中的Mosaic增强代码的详解,可能有部分人对于这一部分比较陌生,有的读者可能知道Mosaic增强但是不知道其工作原理,具体来说Mosaic增强就是指我们的数据集中的图片在输入给模型之前的一个处理过程(我们的图片并不是直接就输入给模型了…

信号量——Linux并发之魂

欢迎来到 破晓的历程的 博客 引言 今天&#xff0c;我们继续学习Linux线程本分&#xff0c;在Linux条件变量中&#xff0c;我们对条件变量的做了详细的说明&#xff0c;今天我们要利用条件变量来引出我们的另一个话题——信号量内容的学习。 1.复习条件变量 在上一期博客中&…

音频流格式启用数据流

音频流格式启用数据流 音频流格式启用数据流使用 AudioStreamBasicDescription 结构在哪里以及如何设置流格式 音频流格式启用数据流 在单个样本帧级别处理音频数据时&#xff0c;就像使用音频单元一样&#xff0c;仅仅指定正确的数据类型来表示音频是不够的。单个音频样本值中…

【spring MVC的执行流程】

SpringMVC可以说是Servlet的封装&#xff0c;屏蔽了Servlet的很多细节&#xff0c;比如Servlet再获取参数的时候需要不停地getParameter,现在只要在SpringMVC方法定义对应的JavaBean&#xff0c;只要属性和参数名一致&#xff0c;SpringMVC就可以帮我们实现将参数封装到JavaBea…

android应用的持续构建CI(三)-- 手动签名

一、背景 关于android应用的签名及其原理&#xff0c;很多文章都有讲述&#xff0c;无意重复赘述。 本文紧接上文&#xff0c;站在运维的角度&#xff0c;对开发是透明的。 但是它又和gradle build 构建动作是紧密相关的。 第一步使用jdk的keytool生成证书文件&#xff0c;…

kubeadm快速部署k8s集群

Kubernetes简介 Kubernetes&#xff0c;简称k8s&#xff0c;容器编排引擎&#xff0c;以API编程的方式管理安排各个容器的引擎。 k8s会在多台node服务器上调度pod进行部署和扩缩容每个pod内部可以含&#xfeff;有多个container每个container本质上就是一个服务进程 1、k8s集…