Gestión de etiquetas Prometheus (6)

Los cinco capítulos anteriores han explicado puntos de conocimiento relacionados con prometheus . Este capítulo complementa principalmente otro punto de conocimiento de prometheus.

Gestión de etiquetas Prometheus

En el sistema de monitoreo prometheus, la etiqueta etiqueta es un parámetro extremadamente importante. Para usar etiquetas de manera razonable, necesita usar etiquetas estándar para administrar y controlar todo el servicio, especialmente en entornos complejos.

1. Algunos casos de operación de etiquetas comunes

1、重命名标签名
2、删除标签
3、过滤目标

Se presta especial atención a las operaciones anteriores, solo hay dos etapas que podemos operar en la etiqueta:

La primera etapa es volver a marcar el destino desde el descubrimiento de servicios.
La información de la etiqueta de metadatos para el descubrimiento de servicios se refiere a la etiqueta de la métrica, que se realizará en el módulo relabel_configs.

La segunda etapa es después del raspado, pero antes de guardar en el sistema de almacenamiento.
Esto nos permite asegurarnos de haber guardado esas métricas, eliminado esas métricas y cómo se verán estas métricas, lo que se hará en el módulo metric_relabel_configs

De hecho: use relabel_configs antes de scrape y use metric_relabel_configs después de scape.

2, acción: volver a etiquetar la acción

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},…)替代

3. El formato de acción

relable_configs:
  # 源标签
  [ source_labels: '[' <labelname> [, ...] ']' ]
  
  # 多个源标签时连接的分隔符
  [ separator: <string> | default = ; ]
  
  # 重新标记的标签
  [ target_label: <labelname> ]
  
  # 整则表达式匹配源标签的值
  [ regex: <regex> | default = (.*) ]
  
  # 用的少,占时略
  [ modulus: <uint64> ]
  
  # 替换正则表达式匹配的分组,分组引用 $1,$2,$3,....
  [ replacement: <string> | default = $1 ]
  
  # 基于正则表达式匹配执行的操作
  [ action: <relabel_action> | default = replace ]

Caso de configuración

1. Agregar etiquetas

1) Agregar pares clave-valor de etiqueta

cat /home/monitor/prometheus/conf.d/es_cluster.json 
[
	{
    
    
		"labels": {
    
        #labels下的键值对都是标签,可以根据实际需要添加即可
			"desc": "es-21",
			"group": "es_cluster",
			"host_ip": "192.168.16.21",
			"hostname": "wg-16-21",
            "nodes": "es651"   #新增的标签键值对
		},
		"targets": [
			"192.168.16.21:4221"
		]
	}
]

2) Vista del servicio de inicio en caliente

curl -XPOST http://192.168.16.115:9090/-/reload   #重载服务

Vista de interfaz
Inserte la descripción de la imagen aquí

2 、 relabel_configs : acción 为 reemplazar

1) Redefinir una tarea de prometheus.yml

cat  /home/monitor/prometheus/prometheus.yml
...
...
...
  - job_name: 'es_cluster'  
    relabel_configs:     #添加relabel_configs配置,添加在job_name是es_cluster的下面
    - source_labels:  ["job"]   #匹配原labels名称,此处匹配是job
      regex: "(.*)"  #正则匹配所有
      action: replace  #动作是替换,除了替换别的动作
      replacement: $1  #替换第一个值
      target_label: "es651"  #新的label的key值

    scrape_interval: 1m
    static_configs:
    file_sd_configs:
      - files:
        - /home/monitor/prometheus/conf.d/es_cluster.json
    honor_labels: true
...
...
...

2) Vista del servicio de inicio en caliente

cd /home/monitor/prometheus && ./promtool check config prometheus.yml  #校验配置文件
curl -XPOST http://192.168.16.115:9090/-/reload   #重载服务

Vista de interfaz
Inserte la descripción de la imagen aquí

3. relabel_configs: la acción es la acción de soltar

1) Eliminar una tarea en prometheus.yml

cat  /home/monitor/prometheus/prometheus.yml
...
...
...
  - job_name: 'es_cluster'  
    relabel_configs:     #添加relabel_configs配置,添加在job_name是es_cluster的下面
    - source_labels:  ["job"]   #匹配原labels名称,此处匹配是job
      regex: "(.*)"  #正则匹配所有
      action: replace  #动作是替换,除了替换别的动作
      replacement: $1  #替换第一个值
      target_label: "es651"  #重新定义的job的label值
      
    - source_labels: ["job"]  #匹配原labels名称,此处匹配是job
      action: drop   #将原标签为job实例均删除,即不采集

    scrape_interval: 1m
    static_configs:
    file_sd_configs:
      - files:
        - /home/monitor/prometheus/conf.d/es_cluster.json
    honor_labels: true
...
...
...

2) Vista del servicio de inicio en caliente

Después de cargar, como se muestra en la siguiente figura, no data-nodata
Inserte la descripción de la imagen aquí

4 、 relabel_configs : acción 为 mantener

1) Reserva una tarea en prometheus.yml

cat  /home/monitor/prometheus/prometheus.yml
...
...
...
  - job_name: 'es_cluster'  
    relabel_configs:     #添加relabel_configs配置,添加在job_name是es_cluster的下面
    - source_labels:  ["job"]   #匹配原labels名称,此处匹配是job
      regex: "(.*)"  #正则匹配所有
      action: replace  #动作是替换,除了替换别的动作
      replacement: $1  #替换第一个值
      target_label: "es651"  #重新定义的job的label值
      
    - source_labels: ["job"]  #匹配原labels名称,此处匹配是job
      action: keep   #将原标签为job实例保留

    scrape_interval: 1m
    static_configs:
    file_sd_configs:
      - files:
        - /home/monitor/prometheus/conf.d/es_cluster.json
    honor_labels: true
...
...
...

2) Vista del servicio de inicio en caliente

Después de cargar, como se muestra a continuación
Inserte la descripción de la imagen aquí

5 、 relabel_configs : acción 为 labeldrop

1) Eliminar la etiqueta original de una tarea en prometheus.yml

cat  /home/monitor/prometheus/prometheus.yml
...
...
...
  - job_name: 'es_cluster'  
    relabel_configs:     #添加relabel_configs配置,添加在job_name是es_cluster的下面
    - source_labels:  ["job"]   #匹配原labels名称,此处匹配是job
      regex: "(.*)"  #正则匹配所有
      action: replace  #动作是替换,除了替换别的动作
      replacement: $1  #替换第一个值
      target_label: "es651"  #重新定义的job的label值
      
    - source_labels: ["job"]  #匹配原labels名称,此处匹配是job
      action: keep   #将原标签为job实例保留
      
    - action: labeldrop  #将原标签为job删除
      regex: "job"  #匹配名称为job的标签

    scrape_interval: 1m
    static_configs:
    file_sd_configs:
      - files:
        - /home/monitor/prometheus/conf.d/es_cluster.json
    honor_labels: true
...
...
...

2) Vista del servicio de inicio en caliente

Después de cargar, como se muestra a continuación
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_44729138/article/details/109776074
Recomendado
Clasificación