Depending on your use case, there is "external_labels" in global config 
options 
<https://prometheus.io/docs/prometheus/latest/configuration/configuration/#configuration-file>
:

global: # The labels to add to any time series or alerts when communicating 
with # external systems (federation, remote storage, Alertmanager). 
external_labels: [ <labelname>: <labelvalue> ... ]

But if you want the labels to be added to the data in the TSDB, and hence 
returned by a PromQL query, then AFAIK you need to duplicate those 
relabelling rules.  The whole config is just YAML, so you can pre-process 
it with a macro language of your choice.

On Monday, 7 March 2022 at 06:46:02 UTC Anoop wrote:

> Hi,
>
> Is it possible to have a common relabel_config configuration (may be under 
> global configuration) for all jobs instead of duplicating the same 
> relabel_config under each job?
>
> Thanks,
> Anoop
>
>
> On Thu, Mar 3, 2022 at 2:58 PM Anoop Mohan <[email protected]> wrote:
>
>> Thanks Brian for a good explanation. Will go with target relabelling.
>>
>> Thanks,
>> Anoop
>>
>>
>> On Wed, Mar 2, 2022 at 9:03 PM Brian Candler <[email protected]> wrote:
>>
>>> Target relabelling occurs *before* the scrape takes place; metrics 
>>> relabelling occurs *after* the scrape has taken place.
>>>
>>> If you're just adding fixed labels to every metric, then either way will 
>>> work.  However I'd expect target relabelling to be more efficient, since 
>>> it's only run once for each target, whereas metric relabelling is run once 
>>> for every individual timeseries returned in the scrape.
>>>
>>> Otherwise:
>>> * If you want to set any labels which affect how the scrape is done - 
>>> for example changing the metrics_path or adding query parameters when 
>>> communicating with the exporter, or changing the address or port scraped - 
>>> then this has to be done in target relabelling.
>>> * If you want to label some returned timeseries differently to others, 
>>> or selectively drop timeseries, then this has to be done in metric 
>>> relabelling.
>>>
>>>
>>> On Wednesday, 2 March 2022 at 15:01:57 UTC Anoop wrote:
>>>
>>>> Thank you so much Brian. The "*relabel_configs*" worked for me.
>>>>
>>>> I tried "*metric_relabel_configs*" also with the below configuration 
>>>> and this is also adding the new label with all metrics. Not sure if this 
>>>> is 
>>>> the correct method though :)
>>>>
>>>> metric_relabel_configs:
>>>>   - source_labels: [__name__]
>>>>     target_label: foo
>>>>     replacement: bar
>>>>
>>>> I am going to use "*relabel_configs*" anyway. However, I'm just 
>>>> curious whether we can use the "*metric_relabel_configs*" method also? 
>>>> Will it make any issue?
>>>>
>>>> Thanks,
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Thanks & Regards,
>>>>
>>>> Anoop Mohan
>>>>
>>>> Mob# +91-7293009486 <+91%2072930%2009486>
>>>> E-mail : [email protected]
>>>>
>>>>
>>>> On Wed, Mar 2, 2022 at 7:38 PM Brian Candler <[email protected]> wrote:
>>>>
>>>>> If you're using kubernetes_sd_configs 
>>>>> <https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config>
>>>>>  
>>>>> then I don't think you can do it this way.
>>>>>
>>>>> Instead, you'll need to use target relabelling:
>>>>>
>>>>>   - job_name: foo
>>>>>     kubernetes_sd_configs:
>>>>>       ...
>>>>> *    relabel_configs:*
>>>>>
>>>>> *      - target_label: foo        replacement: bar*
>>>>>
>>>>> This should add {foo="bar"} to every target, and hence to every 
>>>>> scraped metric.
>>>>>
>>>>> Note that the SD mechanism sets lots of __meta_XXX labels on each 
>>>>> target, so there's lots of opportunity here to use these values and copy 
>>>>> them into "real" labels as required.  (Labels which start with 
>>>>> double-underscore are removed after relabelling).
>>>>>
>>>>> On Wednesday, 2 March 2022 at 13:50:42 UTC Anoop wrote:
>>>>>
>>>>>> Thanks Brian for your suggestion.
>>>>>>
>>>>>> I am using "kubernetes_sd_configs" to discover the targets 
>>>>>> dynamically. So I just tried the below configuration, since I don't want 
>>>>>> to 
>>>>>> specify any specific targets under "static_configs". But, this is not 
>>>>>> working as expected as I can't see the custom label in the query results.
>>>>>>
>>>>>> static_configs:
>>>>>>   - targets:
>>>>>>     - .*
>>>>>>     labels:
>>>>>>       foo: bar
>>>>>>
>>>>>> Not sure if this implementation is correct or not. Please share your 
>>>>>> suggestions.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>> -- 
>>>>>
>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "Prometheus Users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>>
>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msgid/prometheus-users/e6cc71e1-dbd0-477a-8d57-392a27d38bb8n%40googlegroups.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/prometheus-users/e6cc71e1-dbd0-477a-8d57-392a27d38bb8n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Prometheus Users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/prometheus-users/09f08de8-ff05-4d78-bf91-ef131d3e8854n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/prometheus-users/09f08de8-ff05-4d78-bf91-ef131d3e8854n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Prometheus Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/2fa661b9-10de-4db9-a4da-e12c3da6ae14n%40googlegroups.com.

Reply via email to