prometheus-client

prometheus-client,第1张

本文按照官方文档的相关内容整理整理的配置语法以及实现功能

一个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配置详解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10112522.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存