Skip to content

Commit

Permalink
feat(o11y): adding an alert for the RPC providers availability
Browse files Browse the repository at this point in the history
  • Loading branch information
geekbrother committed Feb 10, 2025
1 parent 193138b commit 7983060
Showing 1 changed file with 39 additions and 3 deletions.
42 changes: 39 additions & 3 deletions terraform/monitoring/panels/usage/provider.libsonnet
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
local grafana = import '../../grafonnet-lib/grafana.libsonnet';
local defaults = import '../../grafonnet-lib/defaults.libsonnet';

local panels = grafana.panels;
local targets = grafana.targets;
local panels = grafana.panels;
local targets = grafana.targets;
local alert = grafana.alert;
local alertCondition = grafana.alertCondition;

{
new(ds, vars, provider)::
Expand All @@ -14,7 +16,41 @@ local targets = grafana.targets;

.addTarget(targets.prometheus(
datasource = ds.prometheus,
expr = 'sum by(chain_id) (increase(provider_status_code_counter_total{provider="%s"}[5m]))' % provider,
expr = 'sum by(chain_id) (increase(provider_status_code_counter_total{provider="%s"}[$__rate_interval]))' % provider,
legendFormat = '__auto',
))

// Hidden target for the provider availability alert

.addTarget(targets.prometheus(
datasource = ds.prometheus,
expr = '(sum(increase(provider_status_code_counter_total{provider="%s", status_code="200"}[$__rate_interval])) / sum(increase(provider_status_code_counter_total{provider="%s"}[$__rate_interval]))) * 100' % provider,
legendFormat = '__auto',
exemplar = false,
refId = 'providerAvailabilityPercent',
hide = true,
))

.setAlert(vars.environment, alert.new(
namespace = 'Blockchain API',
name = "%s - Provider availability drop" % vars.environment,
message = "%s - Provider availability drop" % vars.environment,
period = '5m',
frequency = '1m',
noDataState = 'no_data',
notifications = vars.notifications,
alertRuleTags = {
'og_priority': 'P3',
},
conditions = [
alertCondition.new(
evaluatorParams = [ 90 ],
evaluatorType = 'lt',
operatorType = 'or',
queryRefId = 'providerAvailabilityPercent',
queryTimeStart = '5m',
reducerType = 'avg',
),
]
))
}

0 comments on commit 7983060

Please sign in to comment.