prometheus配置文件 解析
各个大配置段的含义
# 全局配置段
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: 10s
# 查询日志,包含各阶段耗时统计
query_log_file: /opt/logs/prometheus_query_log
# 全局标签组
# 通过本实例采集的数据都会叠加下面的标签
external_labels:
account: 'huawei-main'
region: 'beijng-01'
# Alertmanager信息段
alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- "localhost:9093"
# 告警、预聚合配置文件段
rule_files:
- /etc/prometheus/rules/record.yml
- /etc/prometheus/rules/alert.yml
# 采集配置段
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'prometheus'
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
static_configs:
- targets: ['localhost:9090']
# 远程查询段
remote_read:
# prometheus
- url: http://prometheus/v1/read
read_recent: true
# m3db
- url: "http://m3coordinator-read:7201/api/v1/prom/remote/read"
read_recent: true
# 远程写入段
remote_write:
- url: "http://m3coordinator-write:7201/api/v1/prom/remote/write"
queue_config:
capacity: 10000
max_samples_per_send: 60000
write_relabel_configs:
- source_labels: [__name__]
separator: ;
# 标签key前缀匹配到的drop
regex: '(kubelet_|apiserver_|container_fs_).*'
replacement: $1
action: drop
- 所以prometheus实例可以用来做下列用途
对应的配置段 |
用途 |
采集配置段 |
做采集器,数据保存在本地 |
采集配置段 + 远程写入段 |
做采集器+传输器,数据保存在本地+远端存储 |
远程查询段 |
做查询器,查询远端存储数据 |
采集配置段 + 远程查询段 |
做采集器+查询器,查询本地数据+远端存储数据 |
采集配置段 + Alertmanager信息段 + 告警配置文件段 |
做采集器+告警触发器,查询本地数据生成报警发往Alertmanager |
远程查询段 + Alertmanager信息段 + 告警配置文件段 |
做远程告警触发器,查询远端数据生成报警发往Alertmanager |
远程查询段+远程写入段 + 预聚合配置文件段 |
做预聚合指标,生成的结果集指标写入远端存储 |
- 优秀的开源项目大多是模块化的,根据配置来决定开启哪些配置
本节重点总结 :
- prometheus配置文件各个大配置段
- scrape_configs 采集配置段 做采集器
- rule_files 告警、预聚合配置文件段
- remote_read 远程查询段
- remote_write 远程写入段
- alerting: Alertmanager信息段
- 了解prometheus 根据不同配置可以充当不同的角色/模块