如果你想在 Prometheus 的 yml 配置文件中添加多个相同的配置,可以使用以下方式:
复制粘贴:直接复制相同的配置段落,并将其粘贴到文件的不同位置。这种方法简单易行,但当你需要修改某个配置时,可能需要修改所有复制的副本。
使用 YAML 锚点和引用:YAML 允许使用锚点(&)和引用(*)来标记一个对象,并在其他地方引用该对象。这样,如果你需要改变某个配置项,只需要修改一次即可生效。
例如,在下面的示例中,我们定义了一个名为 “server” 的锚点,然后在两个不同的 job 中引用了它:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
labels:
group: 'nodes'
- job_name: 'nginx'
static_configs:
- targets: ['localhost:9113']
labels:
group: 'nginx'
metrics_path: /nginx_status
params:
module: [http_stub_status_module]
- job_name: 'apache'
static_configs:
- targets: ['localhost:9114']
<< : *server
- job_name: 'tomcat'
static_configs:
- targets: ['localhost::9115']
<< : *server
server :
static_configs :
- targets : ['localhost:8080']
在上面的示例中,我们定义了一个名为 “server” 的锚点,在其中设置了一组 targets,然后在两个不同的 job 中通过 “<<” 引用了该锚点。这样就可以避免重复定义相同的配置项。
总之,以上两种方法都可以实现多次使用相同配置项的目的,具体使用哪种方法取决于你的具体需求和习惯。




