ambiguous_metric

Diagnostic `nanook::engine::ambiguous_metric`

Summary

ambiguous metric `{0}`: multiple matches, use aggregation or label filters

Help

wrap the metric in avg/sum/max/min, or add label filters like {{env="prod"}}

Details

When this fires

Runtime, from EngineResolver::aggregate and collect_string in crates/nanook-engine/src/resolver.rs. The selector matched more than one live series and the expression has no aggregator, so the engine cannot pick a single scalar. Comes up while evaluating a [[rules]] expr against fan-out metrics (per-cpu, per-disk, per-pod, etc.).

What to check

Wrap the metric in avg(...), sum(...), max(...), or min(...) for a fleet-wide value, or narrow with label filters until exactly one series matches.

[[rules]]
expr = "avg(cpu.usage) > 90"
# or: expr = "cpu.usage{cpu=\"0\"} > 90"