Prometheus - add target specific label in static_c

2020-08-09 09:00发布

问题:

I have job definition as follows:

  - job_name: 'test-name'
    static_configs:
      - targets: [ '192.168.1.1:9100', '192.168.1.1:9101', '192.168.1.1:9102' ]
        labels:
          group: 'development'

Is there any way to annotate targets with labels? For instance, I would like to add 'service-1' label to '192.168.1.1:9100', 'service-2' to '192.168.1.1:9101' etc.

回答1:

I have the same question before. Here is my solution:

  1. use job_name as the group label
  2. add more target option to separate instance and add labels

For you the code may like this:

  - job_name: 'development'
      static_configs:
      - targets: [ '192.168.1.1:9100' ]
        labels:
          service: '1'
      - targets: [ '192.168.1.1:9101' ]
        labels:
          service: '2'


回答2:

Can be link this

  - job_name: 'node'
    static_configs:
    - targets: ['192.168.1.117:9100']
      labels:
        instance: 'linux-ina'
    - targets: ['192.168.1.138:9100']
      labels:
        instance: 'linux-inb'

Tag name can be replaced with instance



回答3:

You can find information in here - Prometheus Good Config

But I have used these and it worked


  - job_name:  'PostgreSQL-exporter'
    scrape_interval: 60s
    scrape_timeout: 60s
    static_configs:
      - targets: ['localhost:9187']
      - labels:
          name: value-for-the-name


回答4:

For different services you should usually vary the job label, so I would suggest duplicating the scrape config with a job_name of service1 for one and service2 for the other.



回答5:

You can use File Based ServiceDiscovery to achieve this. See this Blog Post for more details.



标签: prometheus