You can use temporary variables. Something like this (untested):
metric_relabel_configs:
- source_labels: [__name__, name]
regex: 'node_systemd_unit_state;(ssh|apache).*'
target_label: __tmp_keep
replacement: y
- source_labels: [__name__, __tmp_keep]
regex: 'node_systemd_unit_state;'
action: drop
On Monday 11 March 2024 at 20:43:27 UTC mel wrote:
> You are absolutely correct but I don't have access to a lot of the servers
> so I am trying to drop them on the prometheus side
>
> On Monday, March 11, 2024 at 1:39:18 PM UTC-7 Ben Kochie wrote:
>
>> relabel actions are exclusive. Drop means keep everything but X. Keep
>> means drop everything but X.
>>
>> For your exact problem, there is already a node_exporter flag to handle
>> this.
>>
>> ./node_exporter --collector.systemd.unit-include="(ssh|apache)"
>>
>> This will also be more efficient because it it will only gather data
>> about those two units.
>>
>> On Monday, March 11, 2024 at 9:27:30 PM UTC+1 mel wrote:
>>
>>> Hello I am using node_exporter and I am trying to drop all
>>> node_systemd_unit_state metrics except for a handful of services like
>>> (e.g.,) ssh and apache. How would I do this? I came up with the following,
>>> but I don't think this is correct because it will drop other metrics as
>>> well (metrics that are not related to systemd service)
>>>
>>> metric_relabel_configs:
>>> - source_labels: [__name__, name]
>>> regex: 'node_systemd_unit_state;(ssh|apache).*'
>>> action: keep
>>>
>>> How do I drop all service metrics except for ssh and apache service?
>>>
>>
--
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/696c1928-c98d-4841-88d7-5772b9497a80n%40googlegroups.com.