概述

Prometheus是一个开源的系统监控和警报工具包。它的配置文件通常命名为prometheus.yml,用于配置Prometheus服务器的行为。

其配置文件主要包含以下几个部分:

  1. global: 全局配置

  2. alerting: 警报配置

  3. rule_files: 规则文件配置

  4. scrape_configs: 抓取配置(用于配置监控目标)

  5. remote_write, remote_read: 远程读写配置(用于与远程存储集成)

global(全局配置)

定义整个 Prometheus 实例的默认行为

示例:

global:
# 设定 Prometheus 抓取目标实例指标数据的时间间隔,默认 1m ,可按需修改,如设为 15s 实现更频繁采集 。
scrape_interval: 15s
# Prometheus 评估告警规则的时间间隔,默认 1m ,即每 1 分钟检查告警规则是否触发。
evaluation_interval: 15s
# 一次抓取请求的超时时间,默认 10s ,超时则抓取失败
scrape_timeout: 10s
# 与外部系统(联邦、远程存储、Alertmanager 等 )通信时,添加到度量指标数据的标签,用于标识监控源等信息。
external_labels:
cluster: "prod"
region: "us-west"

rule_files(规则文件配置)

指定告警规则文件路径列表,支持通配符。Prometheus 从中读取告警规则

示例:

rule_files:
- "rules/alerts.yml" # 警报规则路径
- "rules/*.rules" # 支持通配符

规则文件示例 (rules/alerts.yml):

groups:
- name: example-alerts
rules:
- alert: HighCPU
expr: avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) < 0.2
for: 10m
labels:
severity: critical
annotations:
summary: "高CPU使用率 ({{ $labels.instance }})"

alerting(警报配置)

关联 Alertmanager 实例

alertmanagers:
- scheme: http
# 发送警报超时时间
timeout: 10s
# Alertmanager实例地址
static_configs:
- targets:
- "127.0.0.1:9093"

scrape_configs(抓取配置)

核心部分,用于定义监控目标及数据抓取方式。

scrape_configs:
# Job 名称(唯一标识)
- job_name: "prometheus"
# 静态目标列表
static_configs:
# 目标地址 (host:port)
- targets: ["localhost:9090"] - job_name: "node_exporter"
# 协议 (http/https, 默认http)
scheme: https
# 指标路径(默认为 /metrics)
metrics_path: /metrics
# 请求参数
params:
module: [net]
# 目标地址
static_configs:
- targets: ["10.0.0.1:9100", "10.0.0.2:9100"]
# 抓取前重写标签
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
# 抓取后重写指标标签
metric_relabel_configs:
- source_labels: [device]
regex: "^(/dev/sd.).*"
replacement: "$1"
action: replace

remote_write&remote_read(远程读写配置)

远程写入配置(remote_write)

配置将 Prometheus 采集数据远程写入其他存储系统的参数,如:

  • url:远程存储写入地址。
  • remote_timeout:远程写入请求超时时间,默认 30s 。
  • 还包括 tls_config(TLS 配置)、basic_auth(认证配置 )、write_relabel_configs(对要远程写入数据重新标记 )等配置项。

远程读取配置(remote_read)

配置从远程存储读取数据的相关参数,与 remote_write 类似 ,如 url(读取地址) 、read_recent(是否仅读取最近数据 )、required_matchers(读取数据必须匹配的标签条件 )等。

热加载配置文件

修改了配置文件之后,我们不想重启Prometheus,想让其进行热加载配置文件,应该怎么做呢?

前提条件,启动Prometheus时需要开启热加载,需要指定该参数:--web.enable-lifecycle

访问下面的接口即可

curl -X POST http://localhost:9090/-/reload

热加载之前可以使用promtool工具对你的配置文件修改进行检查

[root@lb ~/prometheus]# ./promtool check config prometheus.yml
Checking prometheus.yml
SUCCESS: prometheus.yml is valid prometheus config file syntax

Prometheus配置文件详解的更多相关文章

  1. Prometheus 配置文件详解

    Prometheus 配置文件详解 官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/ 指标说 ...

  2. quartz配置文件详解

    quartz配置文件详解(转载)     quartz学习总结: 一.关于job:    用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...

  3. WebConfig配置文件详解

    今天看到博客园一位朋友整理的一个WebConfig配置文件详解,觉得不错,转载一下: <?xml version="1.0"?> <!--注意: 除了手动编辑此文 ...

  4. tomcat配置文件详解

    Tomcat系列之服务器的安装与配置以及各组件详解   tomcat 配置文件详解

  5. ubuntu nginx 安装以及配置文件详解

    1.到nginx官网下载源码包.最好下载稳定版本,nginx官网http://www.nginx.org/ 2.安装nginx依赖包运行命令: sudo apt-get install libssl- ...

  6. Spring配置文件详解 – applicationContext.xml文件路径

    Spring配置文件详解 – applicationContext.xml文件路径 Java编程                 spring的配置文件applicationContext.xml的默 ...

  7. spring配置文件详解--真的蛮详细

    spring配置文件详解--真的蛮详细   转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...

  8. net-snmp配置文件详解

    net-snmp配置文件详解 net-snmp的配置文件是有一定的层次结构的,配置起来也很方便.网上找了很多资料,大概把这个配置文件的各个信息搞懂了一点.其实在net-snmp的EXAMPLE.con ...

  9. Rsyslog配置文件详解

    Rsyslog配置文件详解https://my.oschina.net/0757/blog/198329 # Save boot messages also to boot.log 启动的相关信息lo ...

  10. (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)

    LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...

随机推荐

  1. Golang 入门 : Go语言介绍

    简介 Go 语言又称 Golang,由 Google 公司于 2009 年发布,近几年伴随着云计算.微服务.分布式的发展而迅速崛起,跻身主流编程语言之列,和 Java 类似,它是一门静态的.强类型的. ...

  2. IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡

    日前,IvorySQL 4.0 重磅发布,全面支持 PostgreSQL 17,并且增强了对 Oracle 的兼容性.关于 IvorySQL 4.0 的介绍,各位小伙伴可以通过这篇文章回顾:Ivory ...

  3. Vmware ESXi 是免费吗?一文弄懂vSphere功能特性及ESXi与vSphere到底有什么区别和联系。

    目录 收起 一.对VMware vSphere及ESXi的相关疑问 1.Vmware vSphere 有些什么功能? 2.ESXi 是否真正免费? 3. ESXi 和 vSphere 到底有什么区别, ...

  4. BUUCTF---异性相吸(欠编码)

    1.题目 ܟࠄቕ̐员䭜塊噓䑒̈́ɘ䘆呇Ֆ䝗䐒嵊ᐛ asadsasdasdasdasdasdasdasdasdasdqwesqf 2.知识 3.解题 很奇怪,不知道什么加密,借鉴网上参考,得知需将其转化为 ...

  5. 正则表达式--java进阶day06

    1.正则表达式 2.正则表达式的规则.使用 3.字符类讲解 如图,单独一个a满足正则表达式的规则,所以返回true 当删去[]后,正则表达式中的规则就会变为必须是abc,否则不满足条件,即使有一个a ...

  6. Ubuntu下RabbitVCS的安装和简单使用

    最近需要在Ubuntu下玩一段时间,但是没找类似TortoiseSVN的熟悉点的Subversion工具,无意间发现了RabbitVCS,操作上非常nice,留爪. 下载 RabbitVCS Rabb ...

  7. FireDAC 下的批量 SQL 命令执行

    一.{逐条插入} procedure TForm1.Button1Click(Sender: TObject); const strInsert = 'INSERT INTO MyTable(Name ...

  8. 无需WebView,Vue也能开发跨平台桌面应用

    前言 一直以来,使用Vue开发桌面应用大部分都是使用基于webview的方案,如electron,tauri等.不依赖webview的,移动端倒有不少,如Weex,NativeScript等,桌面端寥 ...

  9. volatile修饰全局变量,可以保证线程并发安全吗?

    今天被人问到volatile能不能保证并发安全? 呵,这能难倒我? 直接上代码: public class ThreadTest { // 使用volatile修饰变量 private static ...

  10. Unity il2cpp GC

    截止2019版本,il2cpp使用的都是Boehm-Demers-Wiser