监控 Prometheus源码安装实战和动态更新 Centos7

安装go环境

下载go安装包

#创建文件夹
mkdir /usr/local/software
#进入文件夹
cd /usr/local/software
#下载安装包
wget https://dl.google.com/go/go1.17.6.linux-amd64.tar.gz

配置go环境变量

#解压
tar -zxvf go1.17.6.linux-amd64.tar.gz#配置环境变量 
echo "export PATH=$PATH:/usr/local/software/go/bin" >> /etc/profile #刷新配置
source /etc/profile#测试 go是否安装成功
go version

在这里插入图片描述

安装Prometheus

下载源代码

注意:下载有点慢,可以通过其它方式下载后,上传到路径/usr/local/software

wget https://github.com/prometheus/prometheus/releases/download/v2.45.6/prometheus-2.45.6.linux-amd64.tar.gz

解压并安装Prometheus

#解压
tar -zxvf prometheus-2.45.6.linux-amd64.tar.gz#重名名
mv prometheus-2.45.6.linux-amd64 prometheus#进入目录
cd ./prometheus/#启动
./prometheus --config.file=./prometheus.yml

查看是否启动成功

注意:命令(./prometheus --config.file=./prometheus.yml)非守护进程方式启动,验证时原窗口不要关闭,新开一个窗口连接到服务器
在这里插入图片描述

#查看是否启动成功,默认端口9090
lsof -i:9090

在这里插入图片描述

访问 prometheus

注意:安全组需要开放端口

  #指标数据http://x.x.x.x:9090/metrics#图界面http://x.x.x.x:9090/

在这里插入图片描述
在这里插入图片描述

使用技巧

  • prometheus里面经常需要修改配置,可以利用动态更新
  • 启动时在参数中加入--web.enable-lifecycle (该参数默认关闭,生产环境不建议开启)
#启动, &表示需要守护进程方式运行,不然退出终端则进程消失
./prometheus --config.file=./prometheus.yml --web.enable-lifecycle &#动态更新配置
curl -X POST http://localhost:9090/-/reload

拓展

  • Prometheus的目录结构
    • console_libraries:用于存储用于在Prometheus控制台上显示的JavaScript库。
    • consoles:用于存储用于在Prometheus控制台上显示的控制台文件,其中包括查询和图形定义。
    • data:用于存储Prometheus的磁盘持久化数据。
    • LICENSE:Prometheus的许可证文件。
    • NOTICE:版权声明文件。
    • prometheus:存储Prometheus二进制文件及其相关文件的目录。
    • prometheus.yml:Prometheus的配置文件。
    • promtool:Prometheus的命令行工具,用于检查配置文件是否正确以及生成表达式的值。

Prometheus操作面板和常见配置讲解

操作面板介绍

在这里插入图片描述

配置文件介绍

#全局配置,默认,可以被覆盖
global:scrape_interval: 15s  #全局的抓取间隔scrape_timeout: 10s  #抓取超时时间evaluation_interval: 15s  #评估间隔#告警配置
alerting:alertmanagers: #告警管理器- follow_redirects: true #是否启用重定向enable_http2: true #是否启用HTTP2scheme: httptimeout: 10sapi_version: v2 #指定Alertmanager的API版本,此处为v2static_configs: #告诉Prometheus哪些目标是静态的(即不会更改),如果有多个目标,则可以在targets中指定多个地址。- targets: []#抓取配置
scrape_configs:
- job_name: prometheus #任务名称honor_timestamps: true #指标的时间戳应该由服务器提供,而不是客户端在发送指标时提供的时间戳scrape_interval: 15s #抓取任务的时间间隔,即每15秒抓取一次。scrape_timeout: 10s  #抓取任务的超时时间,单位为秒,即每个目标最多等待10秒钟metrics_path: /metrics  #抓取指标的路径scheme: http #指定抓取时使用的协议,默认为httpfollow_redirects: true  #是否启用重定向。在此处启用enable_http2: true  #是否启用HTTP2static_configs:- targets:- 120.24.7.58:9090 #目标配置,告诉Prometheus哪些目标需要抓取,如果有多个目标,则可以在targets中指定多个地址#此处抓取了一个名为prometheus的任务,每隔15秒抓取一次localhost:9090上的/metrics路径,超时时间为10秒

Prometheus组件Node-Exporter配置实战

Exporter介绍

  • 向Prometheus提供监控样本数据的程序都可以被称为一个Exporter
  • 是一种用于将不同数据源的指标提供给Prometheus进行收集和监控的工具。
  • 运行在应用程序、计算机、网络设备或者其他系统上的代码,它可以将系统的指标信息以一种标准格式公开
  • 将指标数据公开为HTTP端点或者指定的格式(如Redis、JMX等),Prometheus然后可以通过轮询或指定的抓取器
  • 总结
    • Exporter是Prometheus的指标数据收集组件,负责从目标Jobs收集数据
    • 并把收集到的数据转换为Prometheus支持的时序数据格式
    • 只负责收集,并不向Server端发送数据,而是等待Prometheus Server 主动抓取
  • Prometheus社区以及其他团队开发了大量的Exporter,覆盖了许多不同类型的系统和服务
    • Node Exporter、MySQL Exporter、Redis Exporter、MongoDB Exporter、Nginx Exporter…
  • 使用方式
    • 在主机上安装了一个 Exporter程序,该程序对外暴露了一个用于获取当前监控样本数据的HTTP访问地址
    • Prometheus通过轮询的方式定时从这些Target中获取监控数据样本,并且存储在数据库当中
  • 所有的Exporter程序都需要按照Prometheus的规范,返回监控的样本数据
    • 比如接下去的Node Exporter为例,当访问/metrics地址时会返回内容和本身Prometheus协议保持一致即可
    • 主要由三个部分组成,Prometheus会对Exporter响应的内容逐行解析
      • 样本的一般注释信息(HELP)
      • 样本的类型注释信息(TYPE)
      • 样本

案例实战 node_exporter

node_exporter 用于采集类UNIX内核的硬件以及系统指标,包括CPU、内存和磁盘

下载exporter

# 下载
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz# 下载完成后 解压
tar -zxvf node_exporter-1.7.0.linux-amd64.tar.gz# 重命名
mv node_exporter-1.7.0.linux-amd64 node_exporter# 进入目录
cd node_exporter/# 启动
nohup ./node_exporter &#确认端口
lsof -i:9100

通过浏览器访问 http://IP:9100/metrics可以查看到监控信息

在这里插入图片描述

Prometheus服务器中添加被监控机器的配置

# target的也可以写ip
vim  prometheus.yml
- job_name: 'agent-1'static_configs:- targets: ['x.x.x.x:9100']
  • 动态更新配置
curl -X POST http://localhost:9090/-/reload

在这里插入图片描述

在这里插入图片描述

  • 注意
    • 需要达到举一反三的思路,掌握常规exporter的配置和使用
    • 社区支持的exporter 很多,但使用方式都是一样的
    • 步骤
      • 对应的机器安装exporter
      • 启动exporter 并监听对应的程序
      • 访问对应的exporter的metric路径,看是否返回数据
      • Prometheus配置新的job
      • 访问Prometheus查看target和configuration是否有数据

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

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

相关文章

C++拷贝构造函数、运算符重载函数、赋值运算符重载函数、前置++和后置++重载等的介绍

文章目录 前言一、拷贝构造函数1. 概念2. 特征3. 编译器生成默认拷贝构造函数4. 拷贝构造函数典型使用场景 二、运算符重载函数三、赋值运算符重载函数1. 赋值运算符重载格式2. 赋值运算符只能重载成类的成员函数不能重载成全局函数3.编译器生成一个默认赋值运算符重载4. 运算符…

Android记录9--实现转盘效果

自定义View /2013.10.16_TurnPlate_Demo/src/com/wwj/turnplate/TurnPlateView.java package com.wwj.turnplate; import android.content.Context; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; im…

深入了解RTMP推流技术:视频汇聚EasyCVR低延迟与高稳定性分析

RTMP(Real Time Messaging Protocol)视频推流技术,作为音视频传输领域的关键技术之一,已经在直播、视频会议、在线教育等多个场景中得到了广泛应用。RTMP以其独特的优势,为实时音视频传输提供了高效、稳定的解决方案。…

ffmpeg音视频开发从入门到精通——ffmpeg实现音频抽取

文章目录 FFmpeg 实现音频流抽取1. 包含FFmpeg头文件与命名空间声明2. 主函数与参数处理3. 打开输入文件4. 获取文件信息5. 查找音频流6. 分配输出文件上下文7. 猜测输出文件格式8. 创建新的音频流9. 打开输出文件10. 写入文件头信息11. 读取并写入音频数据12. 写入文件尾部信息…

重磅!2024年最新影响因子(生态学/林学/土壤学/遥感/微生物/环境科学/植物科学) 收藏版!

2024年最新影响因子正式揭晓!2024年6月20日,Clarivate Analytics(科睿唯安)发布了各大SCI期刊的2023年影响因子。从最新结果看,今年的影响因子继续“普跌”,其中顶刊Nature和Science均有下降,分…

ubuntu永久换镜像源详细方法

1.查看ubuntu的版本,不同的版本对应的不同的镜像源(下面会讲到,先按步骤操作即可) cat /etc/issue 2.先备份一个,防止更改错误 cp /etc/apt/sources.list /etc/apt/sources.list.backup 3.备份好之后删除原有的sour…

Android图片圆角转换 RoundedImageView开源项目 小记(1)

android:background“#7f000000” android:paddingLeft“8dp” android:paddingRight“8dp” android:textAppearance“?android:attr/textAppearanceMediumInverse” /> <TextView android:id“id/textView1” android:layout_width“wrap_content” android:la…

【Gradio】从 BigQuery 数据创建实时仪表板

Google BigQuery 是一个基于云的服务&#xff0c;用于处理非常大的数据集。它是一个无服务器且高度可扩展的数据仓库解决方案&#xff0c;使用户能够使用类 SQL 查询分析数据。 在本教程中&#xff0c;我们将向您展示如何在 Python 中查询 BigQuery 数据集&#xff0c;并使用 g…

SpringBoot 快速入门(保姆级详细教程)

目录 一、Springboot简介 二、SpringBoot 优点&#xff1a; 三、快速入门 1、新建工程 方式2&#xff1a;使用Spring Initializr创建项目 写在前面&#xff1a; SpringBoot 是 Spring家族中的一个全新框架&#xff0c;用来简化spring程序的创建和开发过程。SpringBoot化繁…

Bootloader -- U-Boot 介绍

Bootloader -- U-Boot 介绍 1 介绍1.1 概述1.2 知名 BootloaderLILO (Linux Loader)GRUB (GNU GRand Unified Bootloader)LoadlinROLO (Rockbox Loader)EtherbootLinuxBIOS (现在叫 coreboot)BLOBU-BootRedBoot 1.3 BootLoader 和 Monitor 区别1.4 U-Boot 的源码结构1.5 U-Boot…

idea导入文件里面的子模块maven未识别处理解决办法

1、File → Project Structure → 点击“Modules” → 点击“” → “Import Model” 2、可以看到很多子模块&#xff0c;选择子模块下的 pom.xml 文件导入一个一个点累死了&#xff0c;父目录下也没有pom文件 解决办法&#xff1a;找到子模块中有一个pom.xml文件&#xff0c;…

colima配置docker镜像源

只在 colima ssh 环境下修改 docker 配置文件是无效的&#xff0c;我们需要修改 colima 配置文件才能使 docker 镜像源生效。 此时你需要进入到~/.colima/default目录下编辑colima.yaml文件。该文件是 colima 的配置文件。内容如下图所示&#xff0c;我这里配置了许多家的镜像源…

rockchip linux sdk指定编译配置文件

SDK&#xff1a;rk3568_linux4.19_V1.4.0 硬件平台&#xff1a;RK3566 一、指定板级配置文件 板级配置文件在<SDK>/device/rockchip/rk3566_rk3568目录下。 1、方法1 ./build.sh后⾯加上板级配置⽂件&#xff0c;例如&#xff1a; ./build.sh /device/rockchip/rk3…

vmware虚拟机安装ubuntu20.04

1.下载Ubuntu 20.04的ISO镜像 Index of /ubuntu-releases/ 2.安装VMware 3.创建新的虚拟机&#xff1a;打开VMware&#xff0c;选择“创建新的虚拟机”或通过文件菜单新建虚拟机。 4.选择典型&#xff0c;然点点击下一步&#xff1a; 5.选择稍后安装操作系统&#xff1a; 6.…

密码学及其应用 —— 密码学概述

1 安全属性和机制 1.1 基本概念 1.1.1 三个核心概念 在讨论信息安全时&#xff0c;我们通常会谈到三个核心概念&#xff1a;保密性、完整性和可用性。这三个概念共同构成了信息安全的基础。 保密性&#xff1a;指的是确保信息只能被授权的人员访问。这就意味着信息在存储、传…

【软件工程】【22.04】p1

关键字&#xff1a; 软件需求规约基本性质、数据字典构成、内聚程度最高功能内聚、公有属性、RUP实体类、评审、测试序列、软件确认过程、CMMI能力等级 软件需求分类、DFD数据流图组成&#xff08;实体&#xff09;、经典详细设计、数据耦合、关联多重性、状态图、黑盒测试、…

设计模式——设计模式原则

设计模式 设计模式示例代码库地址&#xff1a; https://gitee.com/Jasonpupil/designPatterns 设计模式原则 单一职责原则&#xff08;SPS&#xff09;&#xff1a; 又称单一功能原则&#xff0c;面向对象五个基本原则&#xff08;SOLID&#xff09;之一 原则定义&#xf…

方法区讲解

栈、堆、方法区三者之间的关系如上图所示&#xff0c; 第一个Student代表类型&#xff0c;存放在方法区中&#xff0c; student 变量是在虚拟机栈中&#xff0c;最后 new 出来的Student对象放在堆中。本篇主要讲一下有关方法区中的知识。 文章目录 概念方法区的内部结构方法区的…

6.25世界白癜风日·成都博润白癜风医院获评“成都市医学重点专科”

夏日热情如江潮&#xff0c;勇攀高峰正当时。为激发新质生产力&#xff0c;驱动学术研究引领医院发展&#xff0c;也为了迎接 6.25 世界白癜风日。 6月22日&#xff0c;成都博润白癜风医院隆重举行成都市医学重点专科授牌新闻发布会暨成都市市级继续医学教育项目《难治性白癜风…

【招聘贴】JAVA后端·唯品会·BASE新加坡

作者|老夏&#xff08;题图&#xff1a;公司业务介绍页&#xff09; “ 请注意&#xff0c;这两个岗是BASE新加坡的&#xff0c;欢迎推荐给身边需要的朋友&#xff08;特别是在新加坡的&#xff09;。” VIP海外业务-产品技术团队&#xff0c;这两个岗位属于后端工程组的岗&…