Fix 1Password Connect numeric log levels misclassified in Grafana

1Password Connect uses non-standard numeric log levels (1=error..5=trace)
which Grafana can't interpret, causing info-level health checks to appear
as errors. Add a stage.match + stage.template in the Alloy log pipeline
scoped to the 1password namespace to normalize these to standard strings.

See: https://github.com/1Password/connect/issues/44

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Erich Blume 2026-03-07 13:45:12 -08:00
commit b13ecf05dd
2 changed files with 13 additions and 0 deletions

View file

@ -100,6 +100,18 @@ loki.process "pods" {
values = ["__error__", "__error_details__"]
}
// Normalize 1password-connect numeric log levels to strings (1=error..5=trace)
// Scoped to the 1password namespace so other services are unaffected.
// See: https://github.com/1Password/connect/issues/44
stage.match {
selector = "{namespace=\"1password\"}"
stage.template {
source = "level"
template = "{{ if eq .Value \"1\" }}error{{ else if eq .Value \"2\" }}warn{{ else if eq .Value \"3\" }}info{{ else if eq .Value \"4\" }}debug{{ else if eq .Value \"5\" }}trace{{ else }}{{ .Value }}{{ end }}"
}
}
// Extract labels from parsed JSON data
stage.labels {
values = {

View file

@ -0,0 +1 @@
Fix 1Password Connect logs showing as errors in Grafana by normalizing numeric log levels (1-5) to standard strings (error/warn/info/debug/trace) in the Alloy log processing pipeline.