Prometheus 配置文件与核心功能

Prometheus 配置文件与核心功能

#全局配置选项

global:

  # 采集被监控端的一个周期 默认一分钟采集一次

  [ scrape_interval: | default = 1m ]

  # 采集时的超时候就 请求接口10s里面没有响应就是失败的

  [ scrape_timeout: | default = 10s ]

  # 告警的评估周期 默认是一分钟

  [ evaluation_interval: | default = 1m ]

  #web标签

  external_labels:

    [ : ... ]


  [ query_log_file: ]

#指定规则监控告警规则

rule_files:

  [ - ... ]

# A list of scrape configurations.

#配置被监控指标

scrape_configs:

  [ - ... ]

#配置告警

alerting:

  alert_relabel_configs:

    [ - ... ]

#配置告警组件的连接地址 也可以对告警重新打标签

  alertmanagers:

    [ - ... ]

# 写

remote_write:

  [ - ... ]

# 读

remote_read:

  [ - ... ] 

relabel_configs

      static_configs:

    - targets: ['localhost:9090']

    relabel_configs: #配置规则

    - action: replace #重写

      source_labels: ['job'] #标签重新命名

      regex: (.*) #正则匹配

      replacement: $1 #使用正则匹配第一个变量

      target_label: idc #job修改成IDC



  统计机房cpu使用总和

    sum(process_cpu_seconds_total{job="bj"})


relabel_configs 动作

action:重新标签动作

• replace:默认,通过regex匹配source_label的值,使用replacement来引用表达式匹配的分组

• keep:删除regex与连接不匹配的目标 source_labels

• drop:删除regex与连接匹配的目标 source_labels

• labeldrop:删除regex匹配的标签

• labelkeep:删除regex不匹配的标签

• hashmod:设置target_label为modulus连接的哈希值source_labels

• labelmap:匹配regex所有标签名称。然后复制匹配标签的值进行分组,replacement分组引用(${1},${2},…)替代 

选择采集目标?(监控端)

drop 过滤不需要采集的目标

keep 过滤需要采集的目标

labeldrop 实例

  - action: labeldrop

      regex: job

删除job

=======================================================

#基于文件的服务发现

• azure_sd_configs

• consul_sd_configs

• dns_sd_configs

• ec2_sd_configs

• openstack_sd_configs

• file_sd_configs

• gce_sd_configs

• kubernetes_sd_configs

• marathon_sd_configs

• nerve_sd_configs

• serverset_sd_configs

• triton_sd_configs

=======================================================

文件服务发现

  file_sd_configs:

      - files: ['/usr/local/prometheus/sd_config/*.yml']

        #文件路径

        refresh_interval: 5s

        #服务发现时间

服务发现文件配置

  - targets: ['localhost:9090']

  labels:

    idc: CD

总结

  当你实例很多时 有很多动态缩容扩容这样非常适合 动态发现的

  Prometheus会定期去扫文件看有没有修改 有修改就添加新的实例进来

你可能感兴趣的:(Prometheus 配置文件与核心功能)