Saltar a contenido

Knowledge Graph Documental

Fecha: 2026-06-01

Objetivo

Definir una base simple para un futuro grafo de conocimiento sin instalar nada ahora.

Nodos propuestos

Tipo de nodo Ejemplos reales
Host srv977009
Service OpenClaw, Nginx Proxy Manager, Portainer, Observability
Container openclaw-openclaw-gateway-1, obs-prometheus
Network proxy-network, obs-observability-internal
Volume portainer_data_new, obs_prometheus_data
BindPath /opt/stacks/openclaw/config, /docker/nginx-proxy-manager/data
Port 443, 9443, 18789, 3000
Domain openclaw.alpuntodeventa.com.ar
MetricSource node-exporter, cadvisor, blackbox-exporter
Dashboard Infrastructure Health, Service Availability
AlertRule OpenClawHttpsDown, DockerTrackedContainerDown
Runbook RESTORE-OPENCLAW, RESTORE-KNOWLEDGE-PLATFORM
Document O6.0-REALITY-AUDIT, VPS-OVERVIEW

Relaciones propuestas

Relacion Significado
RUNS_ON un servicio corre en un host o contenedor
USES_NETWORK un contenedor usa una red
MOUNTS_VOLUME un contenedor monta un volumen
MOUNTS_PATH un contenedor monta un bind path
EXPOSES_PORT un servicio publica o expone un puerto
PUBLISHED_BY un servicio es publicado por otro
DEPENDS_ON un servicio depende de otro
OBSERVED_BY un servicio es observado por una fuente
VISUALIZED_BY una fuente o servicio aparece en un dashboard
ALERTED_BY una fuente o servicio puede disparar una alerta
DOCUMENTED_IN un activo esta descrito por un documento
RECOVERED_BY un activo tiene un runbook de recuperacion

Ejemplos reales

  • OpenClaw PUBLISHED_BY Nginx Proxy Manager
  • openclaw-openclaw-gateway-1 USES_NETWORK proxy-network
  • openclaw-openclaw-gateway-1 USES_NETWORK openclaw_openclaw_internal
  • portainer MOUNTS_VOLUME portainer_data_new
  • obs-prometheus MOUNTS_VOLUME obs_prometheus_data
  • obs-thanos-sidecar MOUNTS_VOLUME obs_thanos_objectstore_data
  • OpenClaw OBSERVED_BY blackbox-exporter
  • OpenClaw ALERTED_BY OpenClawHttpsDown
  • OpenClaw VISUALIZED_BY Service Availability
  • Portainer ALERTED_BY PortainerLocalDown

Tipos de dependencia

  • dependencia de publicacion: ejemplo OpenClaw -> NPM
  • dependencia de persistencia: ejemplo Portainer -> portainer_data_new
  • dependencia de runtime: ejemplo Portainer -> docker.sock
  • dependencia de observabilidad: ejemplo Grafana -> Thanos Query
  • dependencia de seguridad: ejemplo NPM -> certificados

Roadmap compatible con futuro Neo4j u OpenMetadata

Paso 1 - seguir en Markdown

  • mantener IDs estables
  • no mezclar nombres libres con nombres tecnicos
  • documentar relaciones siempre con verbos consistentes

Paso 2 - exportacion tabular

  • llevar nodos y relaciones a CSV
  • una fila por nodo
  • una fila por relacion

Paso 3 - grafo real

  • si alguna vez hace falta, cargar ese CSV en Neo4j
  • usar OpenMetadata solo si aparece necesidad fuerte de catalogo operativo y ownership mas formal

Decision actual

  • no instalar Neo4j
  • no instalar OpenMetadata
  • primero consolidar el modelo documental y sus IDs