Just need to resolve billing problem.
I rent some number of VMs, and every vm got fixed amount of allowed traffic 
per month.
So I need some kind of rule to get alerts when traffic quota exceeded in 
c*urrent 
month*, and for example, *billing day is 1* 

On Friday, October 20, 2023 at 12:17:27 PM UTC+3 Brian Candler wrote:

> If it's really an "allowed monthly traffic volume" you mean then you just 
> compare the amount consumed over that time with the threshold:  
> increase(foo[30d]) > some_threshold_value
>
> However, I suspect you're actually talking about traffic *rates* (i.e. 
> volume per unit time). A typical question is, "was the 5-minute average 
> rate less than X Gbps for 95% of the time?")
>
> The pieces you need are:
> * rate(foo[5m]) to calculate the 5-minute average rate
> * a subquery 
> <https://prometheus.io/docs/prometheus/latest/querying/basics/#subquery> to 
> evaluate that expression multiple times over 30 days
> * quantile_over_time 
> <https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators>
>  to 
> pick the 95th percentile value
>
> Something like this:
> quantile_over_time(0.95, 
> rate(ifHCInOctets{ifDescr="pppoe-out2"}[5m])[30d:5m]) * 8
>
> (The *8 is to convert bytes per second into bits per second)
>
> Once you're happy with the results of this expression, to make an alerting 
> rule you'd add a filter on the end as "> some_threshold_value"
>
> On Friday, 20 October 2023 at 09:49:55 UTC+1 Roman Melnyk wrote:
>
>> Hello.
>> Can someone help me to write alert rule for traffic quota exhausted:  for 
>> last 30 days server used more than 95% of allowed monthly traffic volume
>> Thank you!
>>
>

-- 
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/2749a3b6-8505-4211-903d-700a962b3bd9n%40googlegroups.com.

Reply via email to