Prometheus支持多种方式的自动发现目标(targets),以下是一些常见的自动发现方式:
-
静态配置:您可以在Prometheus配置文件中直接列出要监测的目标。这种方式适用于目标相对稳定的情况下,例如固定的服务器或设备列表。
-
服务发现:Prometheus支持通过服务发现机制来自动发现目标。它可以与各种服务发现工具集成,如Kubernetes、Consul、Eureka和Zookeeper等。通过与这些工具的集成,Prometheus可以动态发现新的目标,以及监测服务的动态变化。
-
文件发现:您可以在文件中定义目标列表,并告知Prometheus读取该文件以自动发现目标。这种方式适用于您有一个更新频率较低的目标列表文件,并且不依赖于其他服务发现机制。
-
DNS发现:Prometheus支持通过DNS来自动发现目标。您可以配置Prometheus使用特定的DNS名称模式,例如基于子域名或标签,以自动解析目标。
-
EC2、GCP、Azure等云平台集成:如果您在云平台上托管您的目标(例如EC2实例、GCE实例或Azure虚拟机),Prometheus可以通过与这些云平台的API集成,自动发现和监测这些目标。
标签从写
- job_name: "grafana"static_configs:- targets: ["localhost:3000"]relabel_configs:- source_labels:- __scheme__- __metrics_path__- __address__regex: "(http|https)(.*)"separator: ""target_label: "endpoint"replacement: "${1}://${2}"action: replace
Prometheus会将目标的新标签"endpoint"设置为以"http://"或"https://"开头的值,例如:http://localhost:3000
。
- job_name: "node"metrics_path: '/metrics'scheme: "http"consul_sd_configs:- server: "192.168.1.50:8500"tags:# - "node_exporter"- "node_export"refresh_interval: 1mrelabel_configs:- regex: "(job|app|__scheme__)"replacement: ${1}_nameaction: labelmapmetric_relabel_configs:- source_labels:- __name__regex: "go_info.*" #删除go_info开头的指标action: drop
删除前
删除后