Prometheus file_sd_configs 模式下不同目标分配不同的 labels

1、目前在 grafana 看到的 nginx 状态图是这样的,无法很好的区分不同的 nginx 作用。只能根据 IP 再到 CMDB 搜索这个 IP 的用途。


Prometheus file_sd_configs 模式下不同目标分配不同的 labels_第1张图片

grafana 变量的配置的这样的


Prometheus file_sd_configs 模式下不同目标分配不同的 labels_第2张图片

2、目前 prometheus 这些 IP 都只定义了一个 nginx 的 labels
// prometheus.yml 文件 nginx 监控配置部分内容
   - file_sd_configs:
    - files:
      - 'configs/nginx.yml'
    job_name: Nginx Server
    metrics_path: /metrics
    relabel_configs:
    - source_labels: [__address__]
      regex: (.*)
      target_label: instance
      replacement: $1
    - source_labels: [__address__]
      regex: (.*)
      target_label: __address__
      replacement: $1:9913
// nginx.yml 配置内容
- labels:
    service: nginx
  targets:
  - 10.1.9.xxx
  - 10.1.11.xxx
  - 10.1.0.xxx
  - 10.1.3.xxx
  - 10.1.0.xxx
  - 10.1.3.xxx
  - 10.1.0.xxx
  - 10.1.3.xxx
  - 10.1.0.xxx
  - 10.1.3.xxx

Prometheus --> Status --> Targets 看到的目标


Prometheus file_sd_configs 模式下不同目标分配不同的 labels_第3张图片

3、修改 prometheus nginx.yml 配置,对不同的 IP 使用不同的分组和 labels

// nginx.yml 配置内容
- labels:
    service: aaa项目内联区Web入口
  targets:
  - 10.1.9.1xx
  - 10.1.11.2xx

- labels:
    service: bbb项目DMZ区Web入口
  targets:
  - 10.1.0.3xx
  - 10.1.3.4xx

- labels:
    service: xxx项目DMZ区App入口
  targets:
  - 10.1.0.5xx
  - 10.1.3.6xx

- labels:
    service: yyy项目DMZ区Web入口
  targets:
  - 10.1.0.7xx
  - 10.1.3.8xx

- labels:
    service: zzz项目DMZ区Web入口
  targets:
  - 10.1.0.9xx
  - 10.1.3.1xx

Prometheus --> Status --> Targets 看到的目标


Prometheus file_sd_configs 模式下不同目标分配不同的 labels_第4张图片

4、grafana 变量配置修改


Prometheus file_sd_configs 模式下不同目标分配不同的 labels_第5张图片

最后的实现效果
Prometheus file_sd_configs 模式下不同目标分配不同的 labels_第6张图片

Prometheus file_sd_configs 模式下不同目标分配不同的 labels_第7张图片

你可能感兴趣的:(Prometheus file_sd_configs 模式下不同目标分配不同的 labels)