Prometheus部署Prometheus Server、Pushgateway、Node exporter、AlertManager
创始人
2024-03-27 10:52:00
0

目录

  • 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=` 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=` 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]#

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...