Have you been able to figure out the problem? I have the same problem and 
would really like to find a solution. Thank you in advance!

On Wednesday, October 26, 2022 at 5:36:47 AM UTC+3 Wang Yngwie wrote:

> I have tried, but it didn't work, thank you all the same, maybe I should 
> read the source code deeply.
>
> 在2022年10月18日星期二 UTC+8 17:22:37<Brian Candler> 写道:
>
>> 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/a22d0e01-1dce-4e02-b4a2-0af90ca86263n%40googlegroups.com.

Reply via email to