Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

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

Ver códigoProblemas y ayudaRepositorio ↗
00

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).

CASOS DE USO
  • 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
PUNTOS DESTACADOS
  • 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
PRECAUCIONES
  • 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
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO20 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

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.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsGo
SERVICIOS
PostgreSQL
BASES DE DATOS
PostgreSQL
PUERTOS
8080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.