Files
k8s-manifests/monitoring
chemavxandClaude Opus 4.8 5d0078c8e8 monitoring: los 12 estados de servicio miden el servicio, no el namespace
Los paneles heredados preguntaban "cuántos pods hay Running en el namespace".
Para n8n u ollama da igual, pero el panel llamado "grafana" contaba los 7 pods
de monitoring y el de "argocd" los suyos: se habrían quedado en verde con
Grafana muerta mientras Prometheus siguiera en pie. Lo mismo en "authentik" y
"gitea", que sumaban su Postgres, su Redis y el runner.

Ahora los 12 usan la misma forma: ¿están en pie TODOS los componentes de los
que depende el servicio?

  min((kube_deployment_status_replicas_available{SEL} >= bool 1)
      or (kube_statefulset_status_replicas_ready{SEL} >= bool 1)) or vector(0)

El selector define qué es el servicio: el namespace entero cuando el namespace
ES el servicio (argocd, authentik); acotado cuando alberga varias cosas
(grafana dentro de monitoring, researchowl/searxng); y en gitea sólo el
StatefulSet, porque si cae el runner se paran los builds pero Gitea sigue
sirviendo — pintarlo "Down" sería una falsa alarma.

Cambio invisible salvo cuando algo falla: los 12 mapean 0 -> "Down" y >=1 ->
"Running", así que en pantalla nunca se vio el número. Y además exige réplicas
*disponibles*, no pods en fase Running: un pod arrancado pero que no pasa el
readiness ya no cuenta como sano.

Verificado los 12 en verde y los 12 en rojo (simulando escasez de réplicas), y
el caso que de verdad importa: UN solo componente caído entre sanos arrastra el
panel a 0 (probado con dex-server en argocd y con el Postgres de authentik).
Después, los 12 otra vez a través del proxy de datasource de Grafana.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 08:21:03 +00:00
..