Prometheus之修炼篇

2023-05-16

Prometheus之修炼篇

官方文档:https://prometheus.io

中文文档:

  • 非官方:https://songjiayang.gitbooks.io/prometheus/content/

一、入门

A、配置

新建配置文件prometheus.yml:

scrape_configs:
  - job_name: 'test'
    # 拉取时间间隔
    scrape_interval: 30s
    # 拉取超时时间
    # scrape_timeout: 60s
    static_configs:
    - targets:
      - '127.0.0.1:9090' 

B、部署

  • 源码包部署

    各自参考官网部署方式即可。

  • docker部署

    docker run -d \
               --name=prometheus \
               -p 9090:9090 \
               -v /root/monitor_home/prometheus.yml:/config/prometheus.yml \
               prom/prometheus --config.file=/config/prometheus.yml
    
  • docker部署(保存监控数据)

    docker run -d \
               --name=prometheus \
               -p 9090:9090 \
               -u $(id -u):$(id -g) \
               -v /root/monitor_home/prometheus.yml:/config/prometheus.yml \
               -v /root/monitor_home/data:/prometheus \
               prom/prometheus --config.file=/config/prometheus.yml
    
  • docker-compose部署

    version: "3"
    services: 
      # 监控
      prometheus:
        image: prom/prometheus
        ports:
          - "9090:9090"  
        restart: always 
        container_name: prometheus
        volumes:  
          - /root/monitor_home/prometheus.yml:/etc/prometheus/prometheus.yml
    
  • docker-compose部署(保存监控数据)

    version: "3"
    services: 
      # 监控
      prometheus:
        image: prom/prometheus
        ports:
          - "9090:9090"  
        restart: always 
        container_name: prometheus
        volumes:  
          - /root/prometheus.yml:/etc/prometheus/prometheus.yml
          - /root/monitor_home:/prometheus
        # 以root运行一个容器,不是一个好的解决方案      
        user: 'root'
    

二、使用

A、管理API

Prometheus提供了一组管理API,以简化自动化和集成。

注意:{ip:port} 是普罗米修斯所在的IP和端口

1、健康检查

GET {ip:port}/-/healthy

该端点始终返回200,应用于检查Prometheus的运行状况。

2、准备检查

GET {ip:port}/-/ready

当Prometheus准备服务流量(即响应查询)时,此端点返回200。

3、刷新

PUT  {ip:port}/-/reload
POST {ip:port}/-/reload

该端点触发Prometheus配置和规则文件的重新加载。默认情况下它是禁用的,可以通过该--web.enable-lifecycle标志启用。

  • docker,如下拼接命令接口
docker run -d \
          --name=prometheus \
          -p 9090:9090 \
          -v /root/monitor_home/prometheus.yml:/prometheus-config/prometheus.yml \
          prom/prometheus --web.enable-lifecycle \
          --config.file=/prometheus-config/prometheus.yml
  • docker-compose
services: 
 prometheus:
   image: prom/prometheus
   ports:
        - "9090:9090"
   container_name: prometheus
   volumes:
        - /root/monitor_home/prometheus.yml:/prometheus-config/prometheus.yml
   command:
      [ "--config.file=/prometheus-config/prometheus.yml",
        "--web.enable-lifecycle"
      ]

触发配置重新加载的另一种方法是将a发送SIGHUP给Prometheus进程。

4、放弃

PUT  {ip:port}/-/quit
POST {ip:port}/-/quit

该端点触发Prometheus的正常关闭。默认情况下它是禁用的,可以通过该--web.enable-lifecycle标志启用。

触发正常关闭的另一种方法是将a发送SIGTERM给Prometheus进程。

B、储存

以下是经常使用到的储存配置:

  • --storage.tsdb.path: Prometheus监控的数据存放点. 默认data/.
  • --storage.tsdb.retention.time: 数据保存最长时间. 默认 15d. 此配置会覆盖掉storage.tsdb.retention(storage.tsdb.retention是过时配置) .
  • --storage.tsdb.retention.size: [EXPERIMENTAL] This determines the maximum number of bytes that storage blocks can use (note that this does not include the WAL size, which can be substantial). The oldest data will be removed first. Defaults to 0 or disabled. This flag is experimental and can be changed in future releases. Units supported: KB, MB, GB, PB. Ex: “512MB”
  • --storage.tsdb.wal-compression: 配置是否打开WAL的压缩功能。你可以期望WAL的大小减少一半,而只增加很少的cpu负载。请注意,如果您启用了这个标记,并随后将Prometheus降级到2.11.0以下的版本,您将需要删除WAL,因为它将无法读取。.

N、附件

global:
  # 默认情况下抓取目标的频率.
  [ scrape_interval: <duration> | default = 1m ]

  # 抓取超时时间.
  [ scrape_timeout: <duration> | default = 10s ]

  # 评估规则的频率.
  [ evaluation_interval: <duration> | default = 1m ]

  # 与外部系统通信时添加到任何时间序列或警报的标签
  #(联合,远程存储,Alertma# nager).
  external_labels:
    [ <labelname>: <labelvalue> ... ]

# 规则文件指定了一个globs列表. 
# 从所有匹配的文件中读取规则和警报.
rule_files:
  [ - <filepath_glob> ... ]

# 抓取配置列表.
scrape_configs:
  [ - <scrape_config> ... ]

# 警报指定与Alertmanager相关的设置.
alerting:
  alert_relabel_configs:
    [ - <relabel_config> ... ]
  alertmanagers:
    [ - <alertmanager_config> ... ]

# 与远程写入功能相关的设置.
remote_write:
  [ - <remote_write> ... ]

# 与远程读取功能相关的设置.
remote_read:
  [ - <remote_read> ... ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Prometheus之修炼篇 的相关文章

随机推荐

  • ubuntu环境下使用mitmproxy代理服务器

    在网上看了很多参考 xff0c 介绍的很多都是废话 xff0c 很多答案都是一样的 我最近是在用selenium工具来爬取猫眼的电影数据 xff0c 因为猫眼有文字加密和美团验证 xff0c 一般的爬取可能容易被检测 所以我使用seleni
  • ubuntu c\c++环境中第三方依赖包的使用

    第三方依赖包的使用需要导入第三方依赖包中的include和lib文件 下面例子中以ffmpeg为例 据我成功尝试之后的有这两种 xff0c 其他的方法肯定还有 xff0c 比如直接导入目前的linux环境中 xff0c 改变量啥的 xff0
  • 解决sudo rosdep init ERROR: cannot download default sources list from问题,亲测可用

    解决sudo rosdep init ERROR cannot download default sources list from问题 xff0c 亲测可用 问题描述 按照 ros installation在ubuntu 16 04上安装
  • realsense d435i SDK及ROS Wrapper安装

    1 安装Realsense SDK git clone https span class token punctuation span span class token operator span github span class tok
  • 解决Git中下载assets文件列表转圈问题

    打开的Git项目 这里我以PcapPlusPlus为例 这里一直转圈打不开 xff0c 使用F12开发者工具 xff0c 用箭头选中这个转圈得到一个网站 通过这个网站可直接打开看见assets里面的全部内容
  • Ubuntu安装CMake

    cmake所做的事其实就是告诉编译器如何去编译链接源代码 你也许想问不是有makefile吗 xff0c 为什么还要它 xff1f 这里就牵涉到跨平台问题 而且其语法也简单 卸载已经安装的旧版的CMake 非必需 apt get autor
  • gPRC基本介绍

    1 说明 gRPC英文全名为Google Remote Procedure Call xff0c 即Google远程过程调用 xff0c 是Google发布的一个高性能 通用的开源RPC框架 xff0c 2 gRPC定义 gRPC是一个现代
  • STM32的引脚模式

    文章目录 51单片机引脚模式STM32单片机的引脚模式上拉输入 GPIO Mode IPU下拉输入 GPIO Mode IPD浮空输入 GPIO Mode IN FLOATING模拟输入 GPIO Mode AIN推挽输出 GPIO Mod
  • Qt QMessageBox使用详解

    本文详细的介绍了QMessageBox控件的各种操作 xff0c 例如 xff1a 消息提示框的使用 判断消息提示框的按钮 标准图标和自定义图标 定时关闭 自定义样式等操作 本文作者原创 xff0c 转载请附上文章出处与本文链接 Qt QM
  • SpringBoot_实现基本增删改查(前后端分离版)

    目录 自学自编实现一个简单的增删改查 xff08 前后端分离版本 xff09 与大家一起分享 xff0c 一起交流和学习 xff01 xff08 1 xff09 程序入口 xff08 2 xff09 建立数据库文件 xff08 3 xff0
  • 云服务器调出图形化界面

    如果需要在云服务器 xff08 centos xff09 上安装软件 xff0c 而且用图形化安装 xff0c 此方法可行以作记录 方法 span class token comment 命令行依次执行 span span class to
  • 超级产品:喜茶,凭什么能估值90亿

    疫情期间 xff0c 呆在家里的这些人 xff0c 最怀念的莫过于以前那一段靠奶茶续命的的日子了 肺炎快点结束吧 xff01 我想出门晒太阳 xff0c 吹海风 xff0c 我想念喜茶了 喜茶居然成为这些人的一个生活场景符号了 喜茶是一家什
  • linux应用编程和网络编程

    注 xff1a 本文是对朱老师linux应用编程和网络编程课程的备忘引导性笔记 xff0c 主要是为了能够在学完后快速回忆起相关内容 本文主要记录了一些关键易忘性知识点并包含少量理解性内容 xff0c 遵循尽量精简的原则 xff0c 以尽量
  • bsp_uart_fifo

    bsp uart fifo h 模块名称 串口中断 43 FIFO驱动模块 文件名称 bsp uart fifo h 说 明 头文件 ifndef BSP USART FIFO H define BSP USART FIFO H
  • 记一次自镜像Docker启动失败ubuntu 安装tini

    使用ubuntu18 04打包镜像启动失败报错信息 xff1a bin sh 1 tini not found 需要安装tini 而ubuntu本身软件源没有这个软件包 apt install y tini 报错 Unable to loc
  • Bluerov电池充电参数及过放补救方法

    Bluerov电池 1 Bluerov电池2 容量3 C rating xff08 放电倍率 xff09 4 充电电流5 充电注意事项及操作说明6 过放使用补救方法 xff08 但电池损耗已不可逆转 xff09 方法步骤 xff1a 1 B
  • Android Parcelable

    一 xff1a 是什么 xff1f Paracelable是android自己的实现序列化的接口 是anroid推荐使用的 那么什么事序列化呢 xff1f 简单来说就是将对象转换为可以传输的二进制流 二进制序列 的过程 这样我们就可以通过序
  • 字符串和字符串结束标志

    在C语言中 xff0c 是将字符串作为字符数组来处理的 例如 xff0c 如下程序 xff1a include lt stdio h gt int main char c 15 61 39 I 39 39 39 39 a 39 39 m 3
  • 单目相机标定方法总结

    单目相机标定的常用方法 xff0c 这里主要总结一下ROS和matlab标定工具箱 ROS相机标定 链接 xff1a https blog csdn net learning tortosie article details 7990125
  • Prometheus之修炼篇

    Prometheus之修炼篇 官方文档 xff1a https prometheus io 中文文档 xff1a 非官方 xff1a https songjiayang gitbooks io prometheus content 一 入门