第四章、Prometheus配置文件与核心功能

1、 配置文件核心功能

a)	全局配置文件
b)	scrape_configs
c)	relabel_configs
d)	基于文件的服务发现

全局配置文件:

Prometheus官网配置文件解释

global:														# 全局
  [ scrape_interval: <duration> | default = 1m ]			# 采集周期—默认1分钟采集一次
  [ scrape_timeout: <duration> | default = 10s ]			# 采集超时时间
  [ evaluation_interval: <duration> | default = 1m ]		# 告警周期,默认1分钟
  external_labels: 											# Web标签、不常用
    [ <labelname>: <labelvalue> ... ]						
rule_files:													# 指定告警规则,比如CPU超过多少告警
  [ - <filepath_glob> ... ]
scrape_configs:												# 被监控端
  [ - <scrape_config> ... ]
alerting:													# 配置告警部分
  alert_relabel_configs:									# 告警标签
    [ - <relabel_config> ... ]
  alertmanagers:											# 告警地址
    [ - <alertmanager_config> ... ]
remote_write:												# 远程存储,默认存储周期时间15天不适合存储长期数据,所以在这我们就需要用到这个选项吧数据存储到远程数据库当中。
  [ - <remote_write> ... ]
remote_read:												# 同上
  [ - <remote_read> ... ]
scrape_configs: # 当前Job的全局配置,一个Prometheus可以有多个Job
job_name: <job_name>
[ scrape_interval: <duration> | default = <global_config.scrape_interval> ]		# 采集时间间隔
[ scrape_timeout: <duration> | default = <global_config.scrape_timeout> ]
[ metrics_path: <path> | default = /metrics ]				# metrics路径,默认接口
[ honor_labels: <boolean> | default = false ]				# 标签动作

[ scheme: <scheme> | default = http ]						# 采集目标使用的方式、例如:http、https
params:												 		# 访问http的时候是否需要携带什么参数
  [ <string>: [<string>, ...] ]
basic_auth:													# 配置http的认证方式
  [ username: <string> ]
  [ password: <secret> ]
  [ password_file: <string> ]
[ bearer_token: <secret> ]
[ bearer_token_file: <filename> ]
tls_config:
  [ <tls_config> ]
[ proxy_url: <string> ]										# 用代理的形式访问

consul_sd_configs:											# 服务发现,动态配置
  [ - <consul_sd_config> ... ]
dns_sd_configs:												# DNS服务发现
  [ - <dns_sd_config> ... ]
file_sd_configs:											# 文件的方式发现
  [ - <file_sd_config> ... ]
kubernetes_sd_configs:										# Kubernetes方式发现
  [ - <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: 允许在采集之前对任何目标及其他标签进行修改。

重新标签的意义:
	重命名标签名
	删除标签
	过滤目标

relabel_configs:
   # 源标签
[ source_labels: '[' <labelname> [, ...] ']' ]
# 多个源标签时连接的分隔符
[ separator: <string> | default = ; ]
   # 重新标记的标签
[ target_label: <labelname> ]
   # 正则表达式匹配源标签的值
[ regex: <regex> | default = (.*) ]
   # 匹配源标签的值默认匹配所有*
[ modulus: <int> ]
   # 替换正则表达式匹配的分区,分组引用$1,$2,$3
[ replacement: <string> | default = $1 ]
   # 基于正则表达式 匹配执行的操作
[ action: <relabel_action> | default = replace ]
# 对上面匹配的标签做什么动作,默认replace(替换)

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分组引用(${2},${2},…)代替

添加新的标签:

[root@k8smaster prometheus]# vim prometheus.yml

在这里插入图片描述

[root@k8smaster prometheus]# ps -ef | grep Prometheus
root       380     1  0 10:42 ?        00:00:04 /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml
[root@k8smaster prometheus]#  kill -hup 380			# 热更新,不停服务更新Prometheus配置文件使Prometheus生效
[root@k8smaster prometheus]# ./promtool check config prometheus.yml		# 类似于nginx –t选项,检测修改的配置文件是否有问题

在这里插入图片描述

将已有的标签重命名一个新的标签名:

在这里插入图片描述

[root@k8smaster prometheus]# vim prometheus.yml

在这里插入图片描述
[root@k8smaster prometheus]# kill -hup 380

在这里插入图片描述

relab重命名:

[root@k8smaster prometheus]# vim prometheus.yml

在这里插入图片描述

[root@k8smaster prometheus]# kill -hup 380

在这里插入图片描述

注:在这里需要注意一下,因为我们没有删除默认的标签,所以他会生成一个新的并且保留原来的

删除job所匹配的所有标签:

[root@k8smaster prometheus]# vim prometheus.yml	

在这里插入图片描述

[root@k8smaster prometheus]# kill -hup 380

在这里插入图片描述

注:在这可以看到已经查看不到数据了

删除除了job不匹配的标签

[root@k8smaster prometheus]# vim prometheus.yml

在这里插入图片描述

[root@k8smaster prometheus]# kill -hup 380

在这里插入图片描述

注:可以看到数据又回来了

删除job

[root@k8smaster prometheus]# vim prometheus.yml

在这里插入图片描述

[root@k8smaster prometheus]# kill -hup 380

在这里插入图片描述

基于文件的服务发现:

在这里插入图片描述

[root@k8smaster prometheus]# mkdir /usr/local/prometheus/sd_config
[root@k8smaster prometheus]# vim prometheus.yml			# 将前面所改的内容全部删除并恢复源来的内容

在这里插入图片描述

[root@k8smaster prometheus]# kill -hup 380

在这里插入图片描述

注:通过上面的图片可以看到我们的机器是没有了,然后我们通过文件发现的方式给展现出来

[root@k8smaster prometheus]# vim prometheus.yml			# 将前面所改的内容全部删除并恢复源来的内容
	28     file_sd_configs:					# 设置动态服务发现、文件发现
 	29      - files: ['/usr/local/prometheus/sd_config/*.yml']		# 文件路径
 	30        refresh_interval: 5s			# 多少秒查看一下这个文件并更新,主要就是看你有没有修改这个文件

[root@k8smaster prometheus]# kill -hup 380
[root@k8smaster sd_config]# vim test.yml

在这里插入图片描述
访问一下验证效果:
在这里插入图片描述

注:在这可以看见服务发现这里发现一个机器

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维生涯记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值