Saltar a contenido

SAFE-POINT-048B - La Directa web availability dashboard preflight

Fecha: 2026-06-17

Metadata

  • active_repo: C:\APV\openclawai
  • safe_point_base: bae5e7efa8dcd0a9c912fdf66f2fbf52840e3326
  • openclaw_vps_touched: false
  • woo_vps_touched: false
  • runtime_deploy_executed: false
  • prometheus_runtime_reloaded: false
  • grafana_runtime_reloaded: false
  • dashboards_promoted: false

Objetivo

Validar el dashboard candidato infra/observability/grafana/candidates/04-openclaw/o4-ladirecta-web-availability.candidate.json contra metricas reales de Prometheus antes de cualquier promotion a runtime Grafana.

SAFE POINT inicial

  • repo local: C:\APV\openclawai
  • git status -sb: ## main...origin/main
  • git rev-parse HEAD: bae5e7efa8dcd0a9c912fdf66f2fbf52840e3326
  • ultimo commit visible: observability: adjust ladirecta web availability dashboard candidate

Lectura auditada

  • infra/observability/grafana/candidates/04-openclaw/o4-ladirecta-web-availability.candidate.json
  • docs/runbooks/SAFE-POINT-048A-ladirecta-web-availability-dashboard-candidate.md
  • docs/tenants/ladirecta/observability/DASHBOARD-PLAN.md
  • docs/governance/operations/O4-DASHBOARDS-CATALOG.md
  • docs/PROJECT-STATE.md
  • docs/ROADMAP.md
  • docs/VALIDATION-MATRIX.md

Metodo de validacion

  • parseo local del candidate JSON con python
  • consultas read-only via: ssh -o BatchMode=yes openclaw-vps "docker exec obs-prometheus wget -qO- 'http://127.0.0.1:9090/api/v1/query?...'".
  • sin reload, restart ni cambios de runtime

Evidencia real de Prometheus

Endpoints esperados

Endpoint Job validado probe_success probe_http_status_code probe_duration_seconds
https://ladirecta.com.ar/ blackbox-http 1 200 0.661119301
https://ladirecta.com.ar/tienda/ blackbox-http 1 200 0.684760184
https://ladirecta.com.ar/carrito/ blackbox-http 1 200 0.770431739
https://ladirecta.com.ar/mi-cuenta/ blackbox-http 1 200 0.674534506
https://ladirecta.ar/ blackbox-http-redirect-aware 1 301 0.358368648

Hallazgo clave .ar

La senal vieja sigue existiendo en runtime:

  • probe_success{job="blackbox-http",instance="https://ladirecta.ar/"} -> 1
  • probe_http_status_code{job="blackbox-http",instance="https://ladirecta.ar/"} -> 200

Conclusion:

  • para evaluar redirect real de .ar, el dashboard no puede mezclar blackbox-http y blackbox-http-redirect-aware por regex amplia
  • .ar debe quedar atado solo al job blackbox-http-redirect-aware en los paneles candidatos relevantes

Queries compuestas validadas

Panel/consulta Resultado real Veredicto
Uptime 24h original devolvia 6 series, incluyendo .ar por blackbox-http y por blackbox-http-redirect-aware FAIL
SSL days remaining original devolvia 5 series de blackbox-http, incluyendo .ar bajo el job viejo FAIL
Alertas activas original count(ALERTS{tenant="ladirecta",alertstate="firing"}) devolvia vector vacio FAIL
Uptime 24h corregido 99.86805555555556 PASS
SSL days remaining corregido 87.6724343865751 dias PASS
Alertas activas corregido 0 PASS

Ajustes realizados

Archivo modificado:

  • infra/observability/grafana/candidates/04-openclaw/o4-ladirecta-web-availability.candidate.json
  • impacto: corrige paneles compuestos para que no dependan de series ambiguas o vacias en runtime real

Cambios puntuales:

  • Uptime 24h
  • antes: query regex mixta que incluia .ar tanto en blackbox-http como en blackbox-http-redirect-aware
  • ahora: promedio explicito de los cinco endpoints esperados, con .ar tomado solo desde blackbox-http-redirect-aware
  • SSL days remaining
  • antes: query amplia por tenant/service devolviendo varias series
  • ahora: min by (tenant, service) limitado a home, tienda, carrito y mi-cuenta
  • Alertas activas
  • antes: vector vacio cuando no habia firing alerts
  • ahora: count(...) or on() vector(0) para mostrar 0

Sanidad de labels

Labels observados en las series validadas:

  • instance
  • job
  • tenant
  • service
  • control_tower_domain
  • deployment_status
  • probe_design

Veredicto:

  • sin PII observada
  • cardinalidad baja y estable
  • sin dependencia de labels dinamicos de alto riesgo

Restricciones respetadas

  • no se movio el dashboard a infra/observability/grafana/dashboards/
  • no se importo en runtime Grafana
  • no se tocaron Prometheus, Grafana, Alertmanager, Blackbox ni /opt/stacks/observability
  • no se toco C:\APV\vps-woocommerce-ladirecta
  • no se tocaron WooCommerce, DNS, Cloudflare, firewall, secretos ni SOURCE-003
  • no hubo push ni deploy

Documentacion actualizada

  • docs/runbooks/SAFE-POINT-048B-ladirecta-web-availability-dashboard-preflight.md
  • docs/tenants/ladirecta/observability/DASHBOARD-PLAN.md
  • docs/governance/operations/O4-DASHBOARDS-CATALOG.md
  • docs/PROJECT-STATE.md
  • docs/ROADMAP.md
  • docs/VALIDATION-MATRIX.md
  • mkdocs.yml

Resultado final

  • candidate JSON validado contra metricas reales de Prometheus
  • tres queries compuestas corregidas antes de runtime
  • dashboard sigue candidate / not deployed
  • promotion a runtime sigue bloqueada hasta decision posterior, fuera de este safe point