本文按照官方文档的相关内容整理整理的配置语法以及实现功能
一个scrape_config 片段指定一组目标和参数, 目标就是实例,指定采集的端点, 参数描述如何采集这些实例, 配置文件格式如下
因为部署在kubernetes环境中所以我只在意基于kubernetes_sd_configs的服务发现和static_configs静态文件的发现
relable_configss是功能强大的工具,就是Relabel可以在Prometheus采集数据之前,通过Target实例的Metadata信息,动态重新写入Label的值。除此之外,我们还能根据Target实例的Metadata信息选择是否采集或者忽略该Target实例。
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分组引用( {2},…)替代
prometheus中的数值都是key:value格式, 其中replace、keep、drop都是对value的 *** 作, labelmap、labeldrop、labelkeep都是对key的 *** 作
replace是action的默认值, 通过regex匹配source_label的值,使用replacement来引用表达式匹配的分组
上面的列子中 address 的值为 $1:$2 , 其中 $1 是正则表达式 ([^:]+)(::\d+) 从 address 中获取, $2 是正则表达式 (\d+)从(\d+) 中获取, 最后的 address 的数值为19216811:9100
上面的例子只要匹配__meta_kubernetes_service_annotation_prometheus_io_probe=true数据就保留, 反正source_labels中的值没有匹配regex中的值就丢弃
drop 的使用和keep刚好相反, 还是使用keep的例子:
上面的例子只要__meta_kubernetes_service_annotation_prometheus_io_probe这个标签的值为true就丢弃, 反之如果__meta_kubernetes_service_annotation_prometheus_io_probe!=true的数据就保留
labelmap的用法和上面说到replace、keep、drop不同, labelmap匹配的是标签名称, 而replace、keep、drop匹配的是value
上面例子中只要匹配到正则表达式 __meta_kubernetes_service_label_(+) 的标签, 就将标签重写为 (+) 中的内容, 效果如下:
待续
使用labeldrop则可以对Target标签进行过滤,删除符合过滤条件的标签,例如:
该配置会使用regex匹配当前target中的所有标签, 删除符合规则的标签, 反之保留不符合规则的
使用labelkeep则可以对Target标签进行过滤,仅保留符合过滤条件的标签,例如:
该配置会使用regex匹配当前target中的所有标签, 保留符合规则的标签, 反之不符合的移除
上面我们说到relabel_config是获取metrics之前对标签的重写, 对应的metric_relabel_configs是对获取metrics之后对标签的 *** 作, metric_relabel_configs能够确定我们保存哪些指标,删除哪些指标,以及这些指标将是什么样子。
metric_relabel_configs的配置和relabel_config的配置基本相同, 如果需要配置相关参数请参考 2scrape_configs
主要用途为指定exporter获取metrics数据的目标, 可以指定prometheus、 mysql、 nginx等目标
此规则主要是用于抓取prometheus自己数据的配置, targets列表中的为prometheus 获取metrics的地址和端口, 因为没有指定metrics_path所以使用默认的/metrics中获取数据,
简单理解就是, prometheus访问 >
普罗米修斯(Prometheus)是一个开源的监控系统,可以用于监控各种应用和服务的性能和状态。
Prometheus 可以通过对应用程序或服务的监控指标进行采集,来监控应用程序或服务的性能和状态。这些监控指标可以是应用程序或服务的 CPU 利用率、内存使用情况、网络流量等。
因此,如果要监控 Redis 的耗时,可以使用 Prometheus 采集 Redis 的监控指标,包括 Redis 命令的执行时间、网络流量等。这样,就可以通过 Prometheus 监控 Redis 的性能和状态,并发现可能的性能瓶颈。
此外,Prometheus 还可以与其他监控工具集成,如 Grafana、Zabbix 等,以提供更为丰富的监控功能。
希望这些信息能帮助您了解 Prometheus 监控 Redis 的情况。
以上就是关于prometheus-client全部的内容,包括:prometheus-client、Prometheus学习系列(十三)之配置解析、prometheus配置详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)