ThankNeko's Blog ThankNeko's Blog
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)

Hoshinozora

尽人事,听天命。
首页
  • 操作系统

    • Linux基础
    • Linux服务
    • WindowsServer笔记
    • Ansible笔记
    • Shell笔记
  • 容器服务

    • Docker笔记
    • Kubernetes笔记
    • Git笔记
  • 数据库服务

    • MySQL笔记
    • ELK笔记
    • Redis笔记
  • 监控服务

    • Zabbix笔记
  • Web服务

    • Nginx笔记
    • Tomcat笔记
  • 数据处理

    • Kettle笔记
  • Python笔记
  • Bootstrap笔记
  • C笔记
  • C++笔记
  • Arduino笔记
  • 分类
  • 标签
  • 归档
  • 随笔
  • 关于
GitHub (opens new window)
  • 操作系统

  • 虚拟化服务

  • 数据库服务

  • 监控服务

    • Prometheus笔记

      • Prometheus介绍
      • Prometheus部署使用
        • Prometheus部署
          • 监控端(Prometheus)
          • 被监控端(Target)
          • 静态配置Target
        • Prometheus基本配置
        • Web页面
      • Prometheus查询
      • Prometheus生态组件
      • Prometheus告警
    • Zabbix笔记

  • Web服务

  • 数据处理

  • Ops
  • 监控服务
  • Prometheus笔记
Hoshinozora
2024-04-05
目录

Prometheus部署使用

# Prometheus部署

# 监控端(Prometheus)

# 下载Prometheus监控端程序,需要选择对应的操作系统和架构进行下载
# https://prometheus.io/download/

# 解压缩压缩包
mkdir -p /data/apps/prometheus/
tar -xvf ./prometheus*.tar.gz
mv prometheus-*/* /data/apps/prometheus/
rm -rf ./prometheus-*/

# 切换到程序目录
## 服务程序:prometheus
## 配置文件:prometheus.yml
cd /data/apps/prometheus/

# 启动服务
./prometheus --config.file=./prometheus.yml

# 访问Prometheus的Web界面:http://localhost:9090
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 被监控端(Target)

因为Prometheus是基于HTTP抓取指标数据的,所以需要使用Exporter来将被监控端的指标数据转化成兼容Prometheus的格式,并通过HTTP暴露出来。

此处以Node Exporter为例:

# 下载node_exporter节点暴露器,需要选择对应的操作系统和架构进行下载
# https://prometheus.io/download/

# 解压缩压缩包
mkdir -p /data/apps/node_exporter/
tar -xvf ./node_exporter*.tar.gz
mv ./node_exporter-*/* /data/apps/node_exporter/
rm -rf ./node_exporter-*/

# 切换到程序目录
## 服务程序:node_exporter
cd /data/apps/node_exporter/

# 启动node_exporter,可以通过--help查看帮助
# 需要指定端口可以使用--web.listen-address=:9100参数
nohup ./node_exporter &>app.log &

# 去监控端检查是否可以正常访问被监控端端口,默认监听端口为9100,指标的URI为/metrics
curl -s http://被监控端IP地址:9100/metrics | head -10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 静态配置Target

为了让Prometheus监控target的指标,我们可以在监控端的prometheus.yml配置文件中的scrape_configs参数下添加一个新的job指向target:

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['被监控端01的IP地址:9100', '被监控端02的IP地址:9100']
1
2
3
4

配置之前应当尝试使用curl命令访问被监控端暴露地址,以检查网络和防火墙是否通。

# Prometheus基本配置

Prmetheus的主配置文件为:prometheus.yaml,用于定义如何监控目标以及如何处理监控数据,它的基本配置如下:

# 全局配置,作用于整个Prometheus实例,如果局部没有相关配置就会使用全局配置
global:
  # 默认的抓取(scrape)间隔
  scrape_interval: 15s
  # 规则评估间隔,指定多久评估一次规则和告警条件是否触发
  evaluation_interval: 15s
  # 添加到所有指标上的额外标签,一般用于区分Prometheus集群中的各个实例
  external_labels:
    monitor: "prometheus-01"

# 定义Prometheus如何发现和抓取目标
scrape_configs:
  # 作业名称,用于逻辑上对目标进行分组
  - job_name: "prometheus"
    # (可选)指定该作业的抓取间隔,会覆盖全局的抓取间隔设置
    scrape_interval: 5s
    # (可选)抓取指标数据的HTTP路径,默认为/metrics
    metrics_path: "/metrics"
    # (可选)用于抓取的协议,http或https,默认为http
    scheme: "http"
    # 静态配置目标,直接列出要抓取目标地址和标签
    static_configs:
      # 要抓取的目标地址
      - targets: ["localhost:9090"]
      # 指定该job所有指标上的额外标签
        labels:
          env: "test"
          role: "monitoring"
  # 参考以上
  - job_name: "node_exporter"
    static_configs:
      - targets: ["192.168.10.31:9100", "192.168.10.32:9100"]
        labels:
          env: "test"
          role: "node"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

# Web页面

Prometheus的Web端口默认为9090,我们直接浏览器访问该端口即可。

Graph表达式浏览器(首页):http://localhost:9090/graph

表达式浏览器能让用户在Web页面直接执行PromQL进行查询,来查看实时或历史数据,并对数据进行简单的可视化展示。

它的查询结果格式为:值 @ 时间戳,其中值是float64格式的数据,时间戳为毫秒精度的时间戳。

Targets目标页面:http://localhost:9090/targets

Targets页面可以检查添加的target是否为UP状态。

Prometheus实例的指标页面:http://localhost:9090/metrics

用于暴露该Prometheus实例的一些指标数据。

#Linux#监控#Prometheus
Prometheus介绍
Prometheus查询

← Prometheus介绍 Prometheus查询→

最近更新
01
二〇二五年四月十七日随笔
04-17
02
二〇二五年四月十六日随笔
04-16
03
二〇二五年四月九日随笔
04-09
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Hoshinozora | MIT License
湘ICP备2022022820号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式