监控相关
ZABBIX安装与使用
自动发现与自动注册
配置文件
分布式监控
zabbix_sender安装和使用
zabbix_get安装与使用
自定义监控
自动发现监控json
PERCONA插件
PERCONA多实例
日志监控
相关项目监控
监控MySQL
监控Haproxy
Fluentd日志监控
Grafana(可视化监控指标)
grafana地图插件
添加prometheus模板
开启HTTPS
添加zabbix插件
Grafana模板
正则表达式
Prometheus监控
安装与使用
Prometheus存储
服务发现
Prometheus标签
PromQL查询
PushGateway推送组件
AlertManager告警组件
告警规则rule
K8S监控(kube-state-metric/cadvisor)
探针监控(blackbox_exporter)
Node_export
Mysql_export
Redis-exporter
cloudeye-exporter【华为云监控】
RabbitMQ-exporter
K8S监控
本文档使用MrDoc发布
返回首页
-
+
Prometheus标签
2021年6月29日 11:15
admin
##常见的标签操作场景: ####1、重命名标签名 ####2、删除标签 ####3、过滤目标 --- ##只有两个阶段我们可以对标签进行操作: ####1、第一阶段是重新标记来自服务发现的目标。 relabel_configs ####2、第二阶段是在抓取之后且指标被保存于存储系统前 metric_relabel_configs ##注意: ####在抓取之前使用relabel_configs ####在抓取之后使用metric_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},…)替代 --- #relabel_configs对标签实例操作 ##1、给target增加标签 # vim prometheus.yml - job_name: 'prometheus' static_configs: - targets: [ 'localhost:9090'] labels: env: 'prod' __hostname__: 'localhost' ![](/media//202106/2021-06-30143532184000.png) ####注意:____这种开头的是不会写到metrics指标里面的,因为这属于系统内置标签。env这种没有__作为前缀的是可以写到metrics指标中的。 --- ##2、将target的初始标签里面的值替换到新的标签中 # vim prometheus.yml - job_name: 'prometheus' static_configs: - targets: [ 'localhost:9090'] relabel_configs: - source_labels: [ '__address__' ] target_label: 'addr' - source_labels: [ '__metrics_path__' ] target_label: 'path' ![](/media//202106/2021-06-30144726872597.png) ####例子:(重点) vim prometheus.yml #内容: - job_name: 'k8s-cadvisor' metrics_path: /metrics/cadvisor kubernetes_sd_configs: - api_server: 'http://172.16.16.168:8080' role: node relabel_configs: - source_labels: [__meta_kubernetes_node_name] target_label: __metrics_path__ replacement: /api/v1/nodes/${1}/proxy/metrics/cadvisor - source_labels: [__address__] regex: '(.*):10250' replacement: '172.16.16.168:8080' target_label: __address__ action: replace #action为replace时,可省略 ![](/media//202106/2021-06-30151422485497.png) --- ##3、不采集某些标签值 # vim prometheus.yml - job_name: 'prometheus' static_configs: - targets: [ 'localhost:9090'] relabel_configs: - source_labels: ['instance'] action: drop 这个drop是把匹配到的标签的target直接将这些数据丢弃掉了,也就是不采集数据了。特别注意当你设置了drop之后,那么这个target在drop期间是没数据,但是不要担心历史数据还是再的,只是你drop的这段时间没有数据了。 --- ##4、labelmap标签名替换 relabel_configs: - source_labels: [ '__metrics_path__' ] regex: __metrics_(.+)__ #这相当于将path截取出来作为新的标签名称 action: labelmap labelmap: 根据 regex 去匹配 Target 实例所有标签的名称(注意是名称),并且将捕获到的内容作为为新的标签名称,regex 匹配到标签的的值作为新标签的值.当然这个新的标签也会加到样本数据中。也就是你可以通过container_cpu_user_seconds_total{path="/metrics"} 进行查询 --- ##5、labeldrop使用 ####注意:此操作并不是修改metric中的标签操作 - regex: 'kernelVersion' # 正则匹配标签 action: labeldrop # 执行动作删除匹配的标签 ---- #metric_relabel_configs对拉取数据的操作 ##1、删除不需要的metric metric_relabel_configs: - source_labels: [ __name__ ] regex: 'container_cpu_cfs_.*' action: drop ####上面就是将container_cpu_cfs开头的metric全不采集了。 --- ##2、修改指标(metric) 中的标签(label) metric_relabel_configs: - source_labels: [ 'container_label_io_kubernetes_pod_name' ] regex: (.+) target_label: pod_name replacement: $1 action: replace --- ##3、删除标签 - regex: 'container_label_io_kubernetes_docker_type' action: labeldrop - regex: '(container_label_io_kubernetes_container_logpath|container_label_io_kubernetes_container_name)' action: labeldrop #参考资料 http://www.51niux.com/?id=254
分享到: