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.
I have the same question before. Here is my solution:
- use job_name as the group label
- 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'
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
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
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.
You can use File Based ServiceDiscovery to achieve this. See this Blog Post for more details.