运维

promethues的初识

2020-04-02  本文已影响0人  麟之趾a

promethues的介绍

promethues的特点

promethues的数据模型

promethues将所有数据存储在时间序列数据库中,具有相同度量名称以及标签属于同一指标
每个指标的其度量名称和键值对(也称为标签)是其唯一的标识

promethues的指标类型

指标类型只发生在自己要写被监控端采集信息时,用到。于服务端没有关系

promethues的作业和实例

- job_name: 'nacos'
    metrics_path: '/nacos/actuator/prometheus' #nacos暴露的metrics的地址
    static_configs:
    - targets: ['172.19.15.121:8848']

promethues的配置文件介绍

全局配置文件

global
# 被监控端,监控数据采集的时间间隔
[scrape_interval: <duration>  | default= 1m]
# 被监控端,超时时间
[ scrape_timeout : <duration> | default = 10s ]
# 报警间隔的最小周期
[ evaluation_interval: <duration>  | default = 1m]
# 外部标签
external_lables:
  [ <lablename>: <lablevalue> ]
# 配置告警规则
rule_files:
  [ - <filepath_glob> ...]
# 配置被监控端监控指标
scrape_configs:
   [ - <scrape_config> ... ]
# 配置告警部分
## 对告警部分重新打标签
altering:
  alter_relablel_configs:
     [ - <relable_config> ...]
## 告警组件连接地址
altermanagers:
   [ - <altermanager_config> ...]
# 远程存储(时间序列数据库)
remote_write:
  [ - <remote_write> ...]
remove_read:
  [ - <reomte_read> ...]

被采集端配置

scrape_configs:
 job_name: <job_name>
# 被监控端采集数据的时间间隔
[scrape_interval: <duration> | defaule=<global_config.scrape_interval>]
# 连接被监控端的超时时间
[scrape_interval: <duration> | default=<global_config.scrape_timeout>]
# 被监控端采集数据的路径
[ metrics_path: <path> | default = /metrics]
# 是否覆盖自定义标签
[ honor_lables:  <boolean> | defaul=false]
# 采集方式默认http
[ shema: <schema> | default = http ]
# 参数
params:
  [<string> : <string>,...]
# basic 认证
basic_auth:
   [ username: <sting> ]
   [ password: <secret>]
   [ password_file: <sting>]
# 令牌认证
[ bearer_token:  <secret>]
[bearer_token_file: /path/to/bearer/token/file]
# ssh
tls_config:
  [<tls_config>]
# 代理
[proxy_url: <string> ]
# consul服务发现
consul_sd_configs:
 s [ - <cpmsul_sd_config> ]
# dns服务发现
dns_sd_configs:
  [ - <dns_sd_config>]
# 文件服务发现
file_sd_configs:
  [ - <file_sd_config> ...]
# k8s服务发现
kubernetes_sd_configs:
 [ -<kubernetes_sd_config>]
# 静态服务发现
static_configs:
  [ -<static_config>]
# 数据采集之前重新打标签
relabel_configs:
  [ -<relabel_config>]
# 数据采集后打标签
metric_relabel_configs:
  [ -<relabel_config>]
#采集样本的数量,如果超过了就失败了
[sample_limit: <int> | default = 0]

relabel_configs 重新打标签

重新打标签的意义

#重新打标签,允许对任何目标及标签进行修改
relabel_configs:
#源标签
  [source_labels: '['<labelname>'],[...]']
# 多个源标签连接时的分隔符
[ separator: <string> | default = ;]
# 重新标记的标签名
[ target_label: <labelname>]
# 正则表达式匹配的标签值
[regex: <regex> | default = (.*)]
[modules: <unit64>]
# 替换正则表达式的分组,分组引用$1 $2
[replacement: <string> | default =1]
# 基于正则表达式匹配执行的操作,默认替换动作
[action: <relabel_action> | default = replace]

action 动作

replace:默认,通过replace匹配source_label的值,使用replacement来引用表达式匹配的分组
keep: 删除regex与连接不匹配的source_labels。保留匹配的目标
drop: 删除regex于连接匹配的目标source_label。保留不匹配的目标
#keep 和 drop 根据匹配的source_label来决定采不采集信息
labeldrop: 删除regex匹配的标签
labelkeep:删除于regex不匹配的标签
# labeldrop和labelkeep于标签有关系
hashmod: 设置target_label为modules连接的哈希值source_labels
labelmap:匹配regex所有的标签名称,然后复制匹配标签的值进行分组,replacement分组来引用($1 ,$2 ,$3) 替代

支持服务发现

azure_sd_configs
dns_sd_configs
file_sd_configs
file_sd_configs
gce_sd_configs
kubernetes_sd_configs
上一篇 下一篇

猜你喜欢

热点阅读