netra
Netra es una herramienta de monitoreo para servidores Linux autoalojados con Docker. Incluye un nodo central que almacena muestras en TimescaleDB, sirve la interfaz administrativa y genera tokens únicos por host.
Ficha actualizada 22 sept 2026, 18:29 · upstream 22 sept 2026, 17:30 · release 0.0.256
Qué es netra
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Netra ofrece un sistema de monitoreo para servidores Linux autoalojados mediante contenedores. El proyecto se divide en dos componentes principales: el 'hub', un servicio central que almacena los datos de monitoreo en TimescaleDB, proporciona la interfaz administrativa y genera tokens únicos por cada nodo. El componente 'agent' es una imagen de contenedor independiente para cada servidor monitorizado; este agente escanea cada 60 segundos todos los monitores disponibles en el host y envía sus métricas al hub mediante POST a /api/agent/v1/ingest.
El agente es completamente Stateless: su cola de datos es un buffer aninhado en memoria, lo que elimina la necesidad de una base de datos persistente en el servidor monitorizado. Esto simplifica significativamente la gestión y reduce los riesgos de corrupción de datos.
Ambas imágenes (netra y netra-agent) se publican en GitHub Container Registry (ghcr.io).
- Monitoreo de servidores Linux autoalojados con Docker
- Gestión centralizada de métricas de múltiples hosts
- Escalabilidad horizontal mediante tokens únicos por host
- Monitorización en entornos sin infraestructura dedicada (self-hosted)
- Colaboración entre equipos a través de un token único compartido
- Diseño completamente Stateless: el agente no requiere almacenamiento persistente ni backups, eliminando puntos únicos de fallo
- Monitoreo completo del sistema operativo con soporte para SMART de discos y estado de hardware
- Token único por host que permite escalabilidad horizontal sin necesidad de múltiples tokens
- API RESTful completa con endpoints de gestión, ingestión de métricas y autenticación
- Soporte nativo de TimescaleDB para persistencia y análisis de datos a largo plazo
- El agente no soporta el protocolo SNMP por defecto; se requiere un script personalizado o extensiones adicionales
- La configuración del agente es interactiva y requiere acceso terminal, lo que limita su uso en entornos automatizados sin intervención humana
- No incluye soporte nativo para protocolos de monitoreo estándar como SNMP o WMI
- El token único se reemplaza por completo si se pierde, no se puede recuperar
- La persistencia del estado de los hosts depende de la configuración manual del usuario
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Para desplegar el hub: crea una red externa con Traefik como router principal y configura un certificado SSL para tu dominio. Usa `docker network create traefik` para crear una red compartida. Crea el directorio `data/timescaledb` mediante bind mount y copia `.env.example` a `.env`. Todos los valores de entorno son obligatorios: `POSTGRES_PASSWORD`, `BACKEND_ADMIN_TOKEN` (generado con `openssl rand -hex 32`) y `BACKEND_HOSTNAME` (el nombre que Traefik asigna al host). El comando inicial es `docker compose up -d`. Para desplegar el agente, ejecuta `curl -fsSL https://raw.githubusercontent.com/trick77/netra/master/setup-agent.sh | sh`, pasando los parámetros necesarios como `--hub-url` y `--token-file`. Se recomienda usar la interfaz web para gestionar múltiples hosts. El token único se genera con `openssl rand -hex 32` y debe almacenarse en un archivo seguro.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.