Prometheus部署Prometheus Server、Pushgateway、Node exporter、AlertManager

news2024/11/17 21:25:04

目录

  • 1. 安装Prometheus Server
    • 1.1 下载解压
    • 1.2 修改配置文件prometheus.yml
    • 1.3 启动Prometheus Server
  • 2. 安装Pushgateway
    • 2.1 下载解压
    • 2.2 启动Pushgateway
  • 3. 安装Node Exporter
    • 3.1 下载解压
    • 3.2 启动Node Exporter
  • 4. 安装Alertmanager
    • 4.1 下载解压
    • 4.2 启动Alertmanager

1. 安装Prometheus Server

1.1 下载解压

[root@bigdata001 opt]# wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz
[root@bigdata001 opt]# 
[root@bigdata001 opt]# tar -zxvf prometheus-2.36.1.linux-amd64.tar.gz
[root@bigdata001 opt]# 
[root@bigdata001 opt]# cd prometheus-2.36.1.linux-amd64
[root@bigdata001 prometheus-2.36.1.linux-amd64]#
[root@bigdata001 prometheus-2.36.1.linux-amd64]# cat prometheus.yml 
# my global config
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).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]
[root@bigdata001 prometheus-2.36.1.linux-amd64]#

1.2 修改配置文件prometheus.yml

修改scrape_configs配置项后的内容如下:

[root@bigdata001 prometheus-2.36.1.linux-amd64]# cat prometheus.yml 
# my global config
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).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["bigdata001:9090"]

  # 添加PushGateway监控配置
  - job_name: 'pushgateway'
    static_configs:
      - targets: ['bigdata001:9091']
        labels:
          instance: pushgateway

  # 添加Node Exporter监控配置
  - job_name: 'node exporter'
    static_configs:
      - targets: ['bigdata002:9100', 'bigdata003:9100']


[root@bigdata001 prometheus-2.36.1.linux-amd64]#

Prometheus可以在运行时动态加载配置的。启动时需要添加:--web.enable-lifecycle。配置说明:

  • global:控制Prometheus Server的全局配置

    • scrape_interval:配置Retrieval拉取数据的时间间隔,默认为1分钟
    • evaluation_interval:规则验证(生成 alert)的时间间隔,默认为1分钟
  • rule_files:规则配置文件

  • scrape_configs:配置采集目标相关。Prometheus可以通过HTTP(http://bigdata001:9090/metrics)采集自身的运行信息进行监控

    • job_name:监控作业的名称
    • static_configs:配置从某个target拉取数据
      • targets:指定从哪儿拉取数据进行监控

1.3 启动Prometheus Server

[root@bigdata001 prometheus-2.36.1.linux-amd64]# nohup /opt/prometheus-2.36.1.linux-amd64/prometheus --config.file=/opt/prometheus-2.36.1.linux-amd64/prometheus.yml > /opt/prometheus-2.36.1.linux-amd64/prometheus.log 2>&1 &
[1] 30125
[root@bigdata001 prometheus-2.36.1.linux-amd64]#

启动时可以添加--web.listen-address="0.0.0.0:9090"参数,修改Prometheus的端口

等启动Pushgateway、Node Exporter、AlertManager后,查看http://bigdata001:9090/targets,可以看到各个组件的状态都是正常的
Prometheus Server

2. 安装Pushgateway

对于监控生命周期较短的作业,需要PushGateway中转组件。通过配置生命周期较短的作业将metric推到PushGateway,Prometheus再从PushGateway拉取监控数据

2.1 下载解压

[root@bigdata001 opt]# wget https://github.com/prometheus/pushgateway/releases/download/v1.4.3/pushgateway-1.4.3.linux-amd64.tar.gz
[root@bigdata001 opt]#
[root@bigdata001 opt]# tar -zxvf pushgateway-1.4.3.linux-amd64.tar.gz
[root@bigdata001 opt]#
[root@bigdata001 opt]# cd pushgateway-1.4.3.linux-amd64
[root@bigdata001 pushgateway-1.4.3.linux-amd64]#

2.2 启动Pushgateway

[root@bigdata001 pushgateway-1.4.3.linux-amd64]# nohup /opt/pushgateway-1.4.3.linux-amd64/pushgateway --web.listen-address :9091 > /opt/pushgateway-1.4.3.linux-amd64/pushgateway.log 2>&1 &
[2] 30159
[root@bigdata001 pushgateway-1.4.3.linux-amd64]# 

3. 安装Node Exporter

Exporter负责实际的监控样本数据收集。而Node Exporter可以对服务器的CPU、内存、磁盘等使用数据进行收集。Prometheus周期性的从Exporter暴露的HTTP服务地址/metrics拉取监控数据

分别在bigdata002和bigdata003两台服务器安装Node Exporter

3.1 下载解压

[root@bigdata002 opt]# wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
[root@bigdata002 opt]#
[root@bigdata002 opt]# tar -zxvf node_exporter-1.3.1.linux-amd64.tar.gz
[root@bigdata002 opt]#
[root@bigdata002 opt]# cd node_exporter-1.3.1.linux-amd64
[root@bigdata002 node_exporter-1.3.1.linux-amd64]#

3.2 启动Node Exporter

编写systemd服务管理文件node-exporter.service,内容如下:

[root@bigdata002 opt]# cat /etc/systemd/system/node-exporter.service 

[Unit]
Description=node-exportor
Documentation=https://github.com/prometheus/node_exporter
After=network.service

[Service]
Type=simple
ExecStart=/opt/node_exporter-1.3.1.linux-amd64/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target

[root@bigdata002 opt]# 

然后启动node-exporter,并设置开机启动

[root@bigdata002 opt]# systemctl enable node-exporter --now
Created symlink from /etc/systemd/system/multi-user.target.wants/node-exporter.service to /etc/systemd/system/node-exporter.service.
[root@bigdata002 opt]# 

访问http://bigdata002:9100/metrics,可以看到bigdata002上的node exporter获取
到的bigdata002服务器的所有监控数据

node expoter

4. 安装Alertmanager

4.1 下载解压

[root@bigdata001 opt]# wget https://github.com/prometheus/alertmanager/releases/download/v0.24.0/alertmanager-0.24.0.linux-amd64.tar.gz
[root@bigdata001 opt]#
[root@bigdata001 opt]# tar -zxvf alertmanager-0.24.0.linux-amd64.tar.gz 
[root@bigdata001 opt]#
[root@bigdata001 opt]# cd alertmanager-0.24.0.linux-amd64
[root@bigdata001 alertmanager-0.24.0.linux-amd64]#

4.2 启动Alertmanager

[root@bigdata001 alertmanager-0.24.0.linux-amd64]# nohup /opt/alertmanager-0.24.0.linux-amd64/alertmanager --config.file=/opt/alertmanager-0.24.0.linux-amd64/alertmanager.yml > /opt/alertmanager-0.24.0.linux-amd64/alertmanager.log 2>&1 &
[3] 30199
[root@bigdata001 alertmanager-0.24.0.linux-amd64]#

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

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

相关文章

CS5518 MIPI转LVDS转换方案芯片|DSI转LVDS转换方案芯片

CS5518 是一款MIPI DSI 至 LVDS 转换器方案芯片。 Capstone CS5518是一款MIPI DSI输入、LVDS输出转换芯片。MIPI DSI 支持多达4个局域网&#xff0c;每条通道以最大 1Gbps 的速度运行。LVDS支持18位或24位像素&#xff0c;25Mhz至154Mhz&#xff0c;采用VESA或JEIDA格式。它只…

CMake中target_sources的使用

CMake中的target_sources命令用于将源添加到target&#xff0c;其格式如下&#xff1a; target_sources(<target><INTERFACE|PUBLIC|PRIVATE> [items1...][<INTERFACE|PUBLIC|PRIVATE> [items2...] ...]) # general formtarget_sources(<target>[<…

网络安全之反序列化漏洞分析

简介 FastJson是alibaba的一款开源JSON解析库&#xff0c;可用于将Java对象转换为其JSON表示形式&#xff0c;也可以用于将JSON字符串转换为等效的Java对象分别通过toJSONString和parseObject/parse来实现序列化和反序列化。 使用 对于序列化的方法toJSONString()有多个重载…

LSTM反向传播原理——LSTM从零实现系列(2)

一、LSTM反向传播介绍 LSTM的反向传播过程相对复杂&#xff0c;主要因为其对应的控制门较多&#xff0c;而对于每一个控制门我们都需要求导&#xff0c;所以工作量较大。 首先我们根据LSTM结构图分析一下每个控制门的求导过程。在讲解反向传播之前&#xff0c;先了解一些要用到…

web课程设计网页规划与设计:鲜花网站设计——基于HTML+CSS+JavaScript制作网上鲜花网页设计(5页)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

redis的热key、大key

目录 1.概述 2.查找方法 2.1.知道具体哪个key有问题 2.2.不知道具体哪个key有问题 3.处理方法 3.1.大key的处理方法 3.2.热key的处理方法 1.概述 大key&#xff1a; 含有较大数据或含有大量成员的Key称之为大Key&#xff0c;常见的大key如&#xff1a; String类型的Ke…

用友降运维成本实践:OceanBase替换MySQL,实现高可用

导语&#xff1a;随着业务模型的不断变化使运维难度越来越大&#xff0c;用友IT内部采用任务调度中心XXL-JOB和配置管理中心Nacos来实现公司IT分布式任务调度和微服务开发。但XXL-JOB和Nacos集群数量的增多又使其支撑系统MySQL难以招架。 为了寻找一款既能提供高可用又能统一管…

git常用命令(linux和windows通用)

本文的命令已可满足日常需求 配置用户信息 git config --global user.name “github用户名” git config --global user.email “github绑定邮箱"查看配置信息 git config --global user.name git config --global user.email~/.bashrc文件介绍 ~指当前用户的根目录&…

负载分担方式的双链路热备份配置

** 负载分担方式的双链路热备份配置 ** 实验要求和拓扑 负载分担方式的优点和主备方式的不同 负载分担可以每个ac都管理ap这样就避免了资源浪费&#xff0c;然后又作到了备份 主备方式则是&#xff0c;ap都交给一个ac&#xff0c;另一个ac只作为备份 实验拓扑 实验要求 配置…

全面上新!阿里 2023 版(Java 岗)面试突击手册,Github 已标星 37K

程序员面试背八股&#xff0c;几乎已经是互联网不可逆的一个形式了。自从面试**八股文火了之后&#xff0c;网上出现了不少 Java 相关的面试题&#xff0c;很多朋友盲目收集背诵&#xff0c;**但网上大部分的面试题&#xff0c;大多存在这几个问题&#xff1a;第一&#xff0c;…

剑指 Offer 53 - II. 0~n-1中缺失的数字

摘要 剑指 Offer 53 - II. 0&#xff5e;n-1中缺失的数字 一、二分法 1.1 二分法分析 排序数组中的搜索问题&#xff0c;首先想到 二分法 解决。 根据题意&#xff0c;数组可以按照以下规则划分为两部分。 左子数组&#xff1a; nums[i]i&#xff1b;右子数组&#xff1a;…

Eolink 11月企业与产品动态速览!

本月&#xff0c;Eolink IDEA 插件 “Eolink ApiKit” 最新版本 1.1.3 发布&#xff0c;可进行方法 API 解析的插件&#xff0c;可自动生成注释&#xff0c;可分析方法出入参等。 此外&#xff0c;Eolink 再获多项荣誉与认证&#xff0c;持续行业领先&#xff01;一起来看看 11…

我今天吃了SHI,请对下联

1. 跨平台终端 Tabby(前身是 Terminus) 是一个可高度配置的终端模拟器和 SSH 或串口客户端&#xff0c;支持 Windows&#xff0c;macOS 和 Linux。 还有一些功能比较常见和易于使用的&#xff1a; 集成了 SSH&#xff0c;Telnet 客户端和连接管理器&#xff0c;可以在 SSH 会…

JAVA SCRIPT设计模式--行为型--设计模式之Mediator中介者模式(17)

JAVA SCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVA SCRIPT语言来实现主体功能&#xff0c;所以不可能像C&#xff0c;JAVA等面向对象语言一样严谨&#xff0c;大部分程序都附上了JAVA SCRIPT代码&#xff0c;代码只是实现了设计模式的主体功能&#xff0c;不代…

图的初体验

最近周赛有两个差不多的题目&#xff0c;都是关于图的&#xff0c;之前也没有怎么练过关于图的题目&#xff0c;来记录一下。 T1 力扣T320周赛&#xff1a;T3&#xff1a;到达首都的最少油耗 class Solution {//结果long result ;public long minimumFuelCost(int[][] roads…

【推免攻略】四.2021年北交计算机学院夏令营、预推免保研经验

欢迎订阅本专栏&#xff1a;《北交计算机保研经验》 订阅地址&#xff1a;https://blog.csdn.net/m0_38068876/category_10779337.html 【推免攻略】一.北交计算机学院夏令营、预推免攻略【推免攻略】二.联系导师的前期准备及注意事项【推免攻略】三.2020年北交计算机学院夏令营…

如何能成为测试老大?先搞懂项目中的敏捷开发模式

1 什么是敏捷开发&#xff1f; 1、敏捷开发是以用户的需求进化为核心&#xff0c;采取迭代、循序渐进的方式来 进行软件项目的开发。 2、即将项目切分为多个子项目&#xff0c;每个子项目单独发布&#xff0c;保证软件较早可用。 3、及时收集用户反馈&#xff0c;调整未发布…

线性回归线性关系、非线性关系、常见函数导数、损失函数与优化算法、正规方程与单变量函数梯度下降、多变量函数梯度下降

一、线性回归概述 线性回归(Linear regression)&#xff1a;是利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式 特点&#xff1a;只有一个自变量的情况称为单变量回归&#xff0c;多于一个自变量情况的叫做多元回归 特征值与目…

机器学习笔记之受限玻尔兹曼机(五)基于含隐变量能量模型的对数似然梯度

机器学习笔记之受限玻尔兹曼机——基于含隐变量能量模型的对数似然梯度引言回顾&#xff1a;包含配分函数的概率分布受限玻尔兹曼机——场景构建对比散度基于含隐变量能量模型的对数似然梯度引言 上一节介绍了对比散度(Constractive Divergence)思想&#xff0c;本节将介绍基于…

制造型企业如何进行多项目管理?这篇文章说清楚了

受经济全球化与科技迅速发展的影响&#xff0c;我国很多企业早已进入了多项目管理模式。多项目管理是从企业整体出发&#xff0c;动态选择不具有类似性的项目&#xff0c;对企业所拥有的或可获得的生产要素和资源进行优化组合&#xff0c;有效、最优地分配企业资源&#xff0c;…