You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Ready compute host count fails to record in every environment #513
The count of ready compute hosts per cell is not recorded in production or staging, because vmalert rejects every evaluation of cell:compute_hosts_ready:count as two series with one labelset. Production has failed every 20 seconds since about 15:00Z on 21 October, and staging since about 09:00Z, so the series has no samples for any cell. Nothing reads it yet, so no alert or dashboard is blind today, but each failure adds an error to the alert evaluator's count.
Cause
The fallback branch, or cell:compute_hosts:count * 0, reads a stored series that carries vmalert's external label alerting_environment. The computed branch has only cluster and region, so or keeps both. vmalert then adds the external label to the computed series, and the two collide. It fails only once a cell has a ready host, which is when the computed branch returns anything, and one failing cell drops the result for all three.
vmalert's error, from production:
rule "cell:compute_hosts_ready:count": failed to execute: original metric {[{alerting_environment production} {cluster us-central-1-alice} {region us-central-1}] [1792608240] [0]}; resulting labels "__name__=cell:compute_hosts_ready:count,alerting_environment=production,cluster=us-central-1-alice,region=us-central-1": result contains metrics with the same labelset during evaluation
Matching the fallback on the computed labels should fix it: or on (cluster, region) (cell:compute_hosts:count * 0).
Acceptance criteria
cell:compute_hosts_ready:count records one series per cell in production and staging
vmalert logs no errors for the compute-capacity.recording group
Activity
test: Run the alert rules through vmalert in CI
test: Run the alert rules through vmalert in CI