Did it work? Which approach did you use?

On Tuesday, 18 October 2022 at 07:48:06 UTC+1 [email protected] wrote:

> Thanks  Brain, for your help.
>
> 在2022年10月17日星期一 UTC+8 16:45:17<Brian Candler> 写道:
>
>> > Hi, everyone. I want to drop some specific metrics by its value or its 
>> label value. For example:
>> > 1. the temperature metrics which values are 65535 meaning it's invalid
>> > 2. the power metrics which "entPhysicalClass" label vale are not "6" 
>> and "9"
>>
>> Metric relabeling 
>> <https://prometheus.io/docs/prometheus/latest/configuration/configuration/#metric_relabel_configs>
>>  
>> can be used to drop specific timeseries in the scrape response by label 
>> value, but not by metric value.
>>
>> The only way I can think of dropping by metric value (without changing 
>> the exporter output) is to use a recording rule 
>> <https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/>
>>  to 
>> make a modified version of the timeseries, e.g.
>>
>>     expr: some_temperature != 65535
>>
>> If you are happy to hack snmp.yml, you could try something like this 
>> (untested):
>>
>>     regex_extracts:
>>       "":
>>       - value: NaN
>>         regex: ^65535$
>>       - value: $1
>>         regex: ^(.+)$
>>
>> I don't know if it's allowed to use "NaN" as a value here: source code 
>> <https://github.com/prometheus/snmp_exporter/blob/v0.20.0/collector.go#L426> 
>> suggests it should work <https://go.dev/play/p/_2ndwtiqbx3>. However, a time 
>> series consisting of NaNs 
>> <https://www.robustperception.io/get-thee-to-a-nannary/> is not the same 
>> as an empty/missing timeseries. So depending on your requirements, it may 
>> be better to do
>>
>>     regex_extracts:
>>       "":
>>       - value: INVALID
>>         regex: ^65535$
>>       - value: $1
>>         regex: ^(.+)$
>>
>> although this will cause snmp_exporter to generate noisy logs at debug 
>> level.
>>
>> Aside: if you look through the examples you can see regex being used to 
>> divide a value by 10 (or by 100), e.g.:
>>
>>     regex_extracts:
>>       "":
>>       - value: $1.$2
>>         regex: ^(?:(.*)(.))$
>>
>> > I write the snmp.yml without generator, didn't find a specification of 
>> its syntax, does somebody know where it is?
>>
>>
>> https://github.com/prometheus/snmp_exporter/blob/v0.20.0/generator/FORMAT.md
>>
>> Having said that, you may just want to run the generator and look at its 
>> output to see what it emits :-)
>>
>> On Monday, 17 October 2022 at 08:01:08 UTC+1 [email protected] wrote:
>>
>>> Hi, everyone. I want to drop some specific metrics by its value or its 
>>> label value. For example:
>>> 1. the temperature metrics which values are 65535 meaning it's invalid
>>> 2. the power metrics which "entPhysicalClass" label vale are not "6" and 
>>> "9"
>>>
>>> I write the snmp.yml without generator, didn't find a specification of 
>>> its syntax, does somebody know where it is?
>>>
>>> Appreciate for any help :)
>>>
>>

-- 
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/9229d5d7-0873-4378-b81a-e007dd397daen%40googlegroups.com.

Reply via email to