You're showing aggregates, not the raw metrics.

On Tuesday 30 April 2024 at 16:23:15 UTC+1 Robson Jose wrote:

> like this
>   sum by (consumergroup, topic) 
> (delta(kafka_consumergroup_current_offset{}[5m])/5)
>
> {consumergroup="consumer-shop", topic="SHOP-EVENTS"}
> 1535.25
> {consumergroup="$Default", topic="TOPIC-NOTIFICATION"}
> 1.5
> {consumergroup="$Default", topic="TOPIC-NOTIFICATION-CHAT"}
> 0.25
> {consumergroup="consumer-email", topic="TOPIC-NOTIFICATION-EMAIL"}
> 0
> {consumergroup="$Default", topic="TOPIC-NOTIFICATION-TESTE"}
> 1.25
> {consumergroup="$Default", topic="TOPIC-NOTIFICATION-SMS"}
> 0
> {consumergroup="$Default", topic="TOPIC-NOTIFICATION-WHATSAPP"}
> 0
> {consumergroup="consumer-user-event", topic="TOPIC-USER-EVENTS"}
> 0
>
> Em terça-feira, 30 de abril de 2024 às 12:14:23 UTC-3, Brian Candler 
> escreveu:
>
>> Without seeing examples of the exact metrics you are receiving then it's 
>> hard to be sure what the right query is.
>>
>> > I want that if the consumption of messages in the topic in the last 5 
>> minutes is 0 and the production of messages is greater than 1 in the topic
>>
>> Then you'll want metrics for the consumption (consumer group offset) and 
>> production (e.g. partition long-end offset or consumer group lag)
>>
>> On Tuesday 30 April 2024 at 13:51:50 UTC+1 Robson Jose wrote:
>>
>>>
>>> Hello, Thanks for responding in case
>>>
>>> I want that if the consumption of messages in the topic in the last 5 
>>> minutes is 0 and the production of messages is greater than 1 in the topic, 
>>> then the group of consumers is not consuming messages and I wanted to 
>>> return which groups and topics these would be
>>> Em sexta-feira, 19 de abril de 2024 às 15:36:44 UTC-3, Brian Candler 
>>> escreveu:
>>>
>>>> Maybe what you're trying to do is:
>>>>
>>>> sum by (consumergroup, topic) 
>>>> (rate(kafka_consumergroup_current_offset[5m]) * 60) == 0
>>>> unless sum by (topic) (rate(kafka_consumergroup_current_offset[5m]) * 
>>>> 60) < 1
>>>>
>>>> That is: alert on any combination of (consumergroup,topic) where the 
>>>> 5-minute rate of consumption is zero, unless the rate for that topic 
>>>> across 
>>>> all consumers is less than 1 per minute.
>>>>
>>>> As far as I can tell, kafka_consumergroup_current_offset is a counter, 
>>>> and therefore you should use either rate() or increase().  The only 
>>>> difference is that rate(foo[5m]) gives the increase per second, while 
>>>> increase(foo[5m]) gives the increase per 5 minutes.
>>>>
>>>> Hence:
>>>> rate(kafka_consumergroup_current_offset[5m]) * 60
>>>> increase(kafka_consumergroup_current_offset[5m]) / 5
>>>> should both be the same, giving the per-minute increase.
>>>>
>>>> On Friday 19 April 2024 at 18:30:21 UTC+1 Brian Candler wrote:
>>>>
>>>>> Sorry, first link was wrong.
>>>>>
>>>>> https://groups.google.com/g/prometheus-users/c/IeW_3nyGkR0/m/unto0oGQAQAJ
>>>>>
>>>>> https://groups.google.com/g/prometheus-users/c/83pEAX44L3M/m/E20UmVJyBQAJ
>>>>>
>>>>> On Friday 19 April 2024 at 18:28:29 UTC+1 Brian Candler wrote:
>>>>>
>>>>>> Can you give examples of the metrics in question, and what conditions 
>>>>>> you're trying to check for?
>>>>>>
>>>>>> Looking at your specific PromQL query: Firstly, in my experience, 
>>>>>> it's very unusual in Prometheus queries to use ==bool or >bool, and in 
>>>>>> this 
>>>>>> specific case definitely seems to be wrong.
>>>>>>
>>>>>> Secondly, you won't be able to join the LH and RH sides of your 
>>>>>> expression with "and" unless either they have exactly the same label 
>>>>>> sets, 
>>>>>> or you modify your condition using "and on (...)" or "and ignoring 
>>>>>> (...)".
>>>>>>
>>>>>> "and" is a vector intersection operator, where the result vector 
>>>>>> includes a value if the labels match, and the value is taken from the 
>>>>>> LHS, 
>>>>>> and that means it doesn't combine the values like you might be used to 
>>>>>> in 
>>>>>> other programming languages. For example,
>>>>>>
>>>>>> vector(0) and vector(1)  => value is 0
>>>>>> vector(1) and vector(0)  => value is 1
>>>>>> vector(42) and vector(99)  => value is 42
>>>>>>
>>>>>> This is as described in the documentation 
>>>>>> <https://prometheus.io/docs/prometheus/latest/querying/operators/#logical-set-binary-operators>
>>>>>> :
>>>>>>
>>>>>> vector1 and vector2 results in a vector consisting of the elements 
>>>>>> of vector1 for which there are elements in vector2 with exactly 
>>>>>> matching label sets. Other elements are dropped. The metric name and 
>>>>>> values 
>>>>>> are carried over from the left-hand side vector.
>>>>>>
>>>>>> PromQL alerts on the presence of values, and in PromQL you need to 
>>>>>> think in terms of "what (labelled) values are present or absent in this 
>>>>>> vector", using the "and/unless" operators to suppress elements in the 
>>>>>> result vector, and the "or" operator to add additional elements to the 
>>>>>> result vector.
>>>>>>
>>>>>> Maybe these explanations help:
>>>>>>
>>>>>> https://groups.google.com/g/prometheus-users/c/IeW_3nyGkR0/m/NH2_CRPaAQAJ
>>>>>>
>>>>>> https://groups.google.com/g/prometheus-users/c/83pEAX44L3M/m/E20UmVJyBQAJ
>>>>>>
>>>>>> On Friday 19 April 2024 at 16:31:23 UTC+1 Robson Jose wrote:
>>>>>>
>>>>>>> Good afternoon, I would like to know if it is possible to do this 
>>>>>>> query, the value that should return is applications with a value of 0 
>>>>>>> in 
>>>>>>> the first query and greater than one in the 2nd
>>>>>>>
>>>>>>> (
>>>>>>>   sum by (consumergroup, topic) 
>>>>>>> (delta(kafka_consumergroup_current_offset{}[5m])/5) ==bool 0
>>>>>>> ) 
>>>>>>> and (
>>>>>>>   sum by (topic) (delta(kafka_consumergroup_current_offset{}[5m])/5) 
>>>>>>> >bool 1
>>>>>>> )
>>>>>>>
>>>>>>

-- 
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 prometheus-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/prometheus-users/b0fced00-f4c2-4b4b-b9a8-ca0f2c2524efn%40googlegroups.com.

Reply via email to