> I tried using “metric_relabel_configs” with replace mechanism, but it 
seems not possible to do with that.

If the number is bounded, say no more than 4 dashes, then you can just have 
4 rewriting rules, each of which rewrites one.  Just repeat the rule N 
times:

      - source_labels: [label1]
        regex: '(.*)-(.*)'
        replacement: '${1}_${2}'
        target_label: label1
      - source_labels: [label1]
        regex: '(.*)-(.*)'
        replacement: '${1}_${2}'
        target_label: label1
      - source_labels: [label1]
        regex: '(.*)-(.*)'
        replacement: '${1}_${2}'
        target_label: label1
      - source_labels: [label1]
        regex: '(.*)-(.*)'
        replacement: '${1}_${2}'
        target_label: label1

But I ask the question, why?

If it's your own exporter - then fix the exporter.
If it's someone else's exporter - then use the labels as they are.
If you still need it - then write a scraping proxy (where you scrape the 
proxy, the proxy scrapes the target, and the proxy modifies the labels in 
whatever way you like)

On Monday, 4 July 2022 at 12:25:53 UTC+1 [email protected] wrote:

> Hi.
> Is it possible to replace certain char in label?
>
> I have a metric like this:
> my_metric{label1=“foo-foo-foo”, label2=“foo”}
>
> label1 may have values:
> foo
> foo-foo
> foo-foo-foo
> and so on
>
> It isn’t known how many ‘-’ it has.
>
> I want to replace all dashes with underscore in label1 value:
> my_metric{label1=“foo_foo_foo”, label2=“foo”}
>
> Again, i don’t know how many dashes it may has.
>
> I tried using “metric_relabel_configs” with replace mechanism, but it 
> seems not possible to do with that.
>

-- 
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/d3f204eb-496c-41c4-8e8d-0e1f1e9e6917n%40googlegroups.com.

Reply via email to