• Prometheus-Prometheus安装及其配置


    Prometheus安装

    Prometheus的安装针对Linux的安装,其他的安装方式可以查看Prometheus官网

    下载

    sudo wget https://github.com/prometheus/prometheus/releases/download/v2.47
    .1/prometheus-2.47.1.linux-amd64.tar.gz
    
    • 1
    • 2

    解压

    sudo tar -zxvf prometheus-2.47.1.linux-amd64.tar.gz
    
    • 1

    解压之后的目录如下:
    在这里插入图片描述
    解压之后,我们可以将prometheus命令拷贝到/usr/local/bin下

    sudo cp prometheus-2.47.1.linux-amd64/prometheus /usr/local/bin/
    
    • 1

    查看是否安装成功:

    $ prometheus --version
    prometheus, version 2.47.1 (branch: HEAD, revision: c4d1a8beff37cc004f1dc4ab9d2e73193f51aaeb)
      build user:       root@4829330363be
      build date:       20231004-10:31:16
      go version:       go1.21.1
      platform:         linux/amd64
      tags:             netgo,builtinassets,stringlabels
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    输入版本信息,说明安装成功!

    配置

    在安装完prometheus之后,我们之前解压的目录中有一个prometheus.yaml文件,这个是prometheus的相关配置文件。Prometheus通过YAML文件来配置。Prometheus自带默认的配置文件prometheus.yml,内容如下:

    # 控制Prometheus服务器行为的全局配置
    global:
      scrape_interval: 15s # 指定应用程序或服务抓取数据的时间间隔(默认是15秒)。这个值是时间序列的颗粒度, 即该序列中每个数据点所覆盖的时间段。
      evaluation_interval: 15s # 指定Prometheus评估规则的频率。目前主要有两种规则: 记录规则(recording rule)和警报规则(alerting rule)
      # scrape_timeout is set to the global default (10s).
    
    # 用来设置Prometheus的警报
    alerting:
      alertmanagers:
        - static_configs: #表示要手动指定在targets数组中配置的Alertmanager
            - targets:
              # - alertmanager:9093
    
    # 指定包含记录规则或警报规则的文件列表
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    # 指定Prometheus抓取的所有目标
    scrape_configs:
      # 作业prometheus只有一个监控目标: Prometheus服务器自身。 它从本地的9090端口抓取数据并返回服务器的健康指标
      - job_name: "prometheus"
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
          - targets: ["localhost:9090"]
    
    • 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
    • 记录规则: 允许预先计算使用频繁且开销大的表达式, 并将结果保存为一个新的时间序列数据。
    • 警报规则: 允许定义警报条件
    • 警报是由名为Alertmanager的独立工具进行管理的。 Alertmanager是一个可以集群化的独立警报管理工具

    启动prometheus

    我们可以将默认的配置文件拷贝到/etc相关目录下进行统一管理

    $ sudo mkdir /etc/prometheus
    
    • 1
    /usr/local/prometheus/prometheus-2.47.1.linux-amd64$ sudo cp prometheus.yml /etc/prometheus/
    
    • 1

    我们启动的时候就可以通过–config.file选项进行指定对应的配置文件

    $ /usr/local/prometheus$ sudo prometheus --config.file "/etc/prometheus/prometheus.yml"
    
    • 1

    在这里插入图片描述
    我们可以访问http://localhost:9090/metrics进行查看
    在这里插入图片描述
    有上面的截图可用看到相关的指标信息
    go_gc_duration_seconds{quantile="0.5"} 0.000321623
    指标的名称是go_gc_duration_seconds, 里面有一个标签quantile="0.5", 表示这衡量的是第50 百分位数0.000321623是这个指标的值

    校验配置文件

    我们在解压文件中promtool工具,可以通过promtool进行检验配置文件是否正确

    $ sudo ./promtool check config prometheus.yml
    
    • 1

    在这里插入图片描述
    证明相关的配置文件是可用的。

    表达式浏览器

    prometheus默认给我提供了一个表达式地址,默认为http://localhost:9090/graph,访问如下:
    在这里插入图片描述
    可以通过Prometheus表达式浏览器和Web界面看到其他有用的信息, 例如目标的状态以及Prometheus服务器的规则和配置。
    我们可用搜索对应的指标,如下我们搜索go_gc_duration_seconds的指标
    在这里插入图片描述
    默认是Table的展示形式,我们展示图标的方式,就是Graph
    在这里插入图片描述
    go_gc_duration_seconds{instance="localhost:9090", job="prometheus", quantile="0.5"}
    第一个新标签instance是我们抓取指标的目标, 第二个标签job则是抓取指标的作业名称。 标签为指标提供了不同的维度, 允许我们查询或使用单个/多个指标。
    在进行查询的时候,prometheus也为我们提供了PromQL表达式语言进行查询相关指标。
    在这里插入图片描述
    PromQL查询语言中的表达式可以返回的四种数据类型

    • Instant vector - 一组时间序列,包含每个时间序列的单个样本,所有时间序列共享相同的时间戳
    • Range vector - 一组时间序列,其中包含每个时间序列随时间变化的数据点范围
    • Scalar - 一个简单的数字浮点值
    • String - 简单的字符串值;目前未使用
  • 相关阅读:
    Elasticsearch通过Http请求实现索引操作以及文档操作
    香橙派 c# iot .net 通过WiringOP库控制继电器吸合开关 代码实例
    LeetCode977.有序数组的平方(双指针法、暴力法、列表推导式)
    MyBatis一对多关联查询
    【Redis1】安装,操作,持久化,Jedis,数据库总结
    iNFTnews | DAO在NFT领域中的作用
    Latex在同一figure中排版多张图片的方法
    openGauss学习笔记-105 openGauss 数据库管理-管理用户及权限-默认权限机制
    现代化个人博客系统 ModStartBlog v5.5.0 附件归档优化,管理角色备注
    LeetCode每日一题——854. 相似度为 K 的字符串
  • 原文地址:https://blog.csdn.net/qian1314520hu/article/details/133793559