Saltar a contenido

Servidor Central

El servidor central corre todo el stack SigNoz como servicios systemd nativos (sin Docker), dentro de un LXC de Debian en Proxmox. Se monta y se mantiene con el Proxmox VE Helper-Script de SigNoz — no con scripts propios.

Componentes instalados

Servicio Qué hace Puerto
zookeeper Coordinación del cluster ClickHouse 2181
clickhouse-server Almacenamiento de métricas, logs y trazas 9000 (TCP), 8123 (HTTP)
signoz Backend + UI web 8080
signoz-otel-collector Recibe datos de los agentes (OTLP) 4317 (gRPC), 4318 (HTTP)

Requisitos

El helper-script crea el LXC con este perfil por defecto (se puede subir si hay muchos agentes):

Recurso Default del helper-script Recomendado (varios agentes)
OS Debian 13 (LXC) Debian 13
vCPU 2 4
RAM 4 GB 8 GB
Disco 20 GB 50 GB+
Red ZeroTier (Infra-mesh)

Instalación

Se ejecuta el helper-script de la comunidad desde la Proxmox VE Shell (en el host Proxmox, no dentro del LXC). El script crea el LXC, instala SigNoz y lo deja corriendo:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/signoz.sh)"

Referencia: community-scripts.org/scripts/signoz.

Primer usuario = admin

El primer usuario que registres en la UI queda como administrador. Registralo apenas termina la instalación.

Después de crear el LXC, sumalo a la red ZeroTier Infra-mesh para que los agentes puedan enviarle datos (ver Seguridad).

Acceso

  • UI pública: https://signoz.histrix.com.ar (Cloudflare + TLS) — la que se usa día a día
  • UI interna: http://IP_ZEROTIER_CENTRAL:8080 — por ZeroTier, para diagnóstico
  • Health check: http://IP_ZEROTIER_CENTRAL:13133/

IP a usar

Usá la IP de ZeroTier (Infra-mesh) del LXC central. Los agentes también se conectan por esta misma IP al puerto 4317.

Archivos y directorios

/opt/signoz/                            ← backend + UI
/opt/signoz/conf/systemd.env            ← config (JWT secret, rutas, DSNs)
/opt/signoz-otel-collector/             ← OTel Collector
/opt/signoz-otel-collector/conf/config.yaml  ← config del collector central
/var/lib/signoz/signoz.db               ← base de datos SQLite (usuarios, alertas)
/var/lib/clickhouse/                    ← datos de ClickHouse (métricas, logs, trazas)

Comandos útiles

Desde adentro del LXC (pct enter <CTID> desde el host, o SSH):

# Estado de todos los servicios
systemctl status zookeeper clickhouse-server signoz signoz-otel-collector

# Logs en vivo
journalctl -u signoz -f
journalctl -u signoz-otel-collector -f
journalctl -u clickhouse-server -f

# Reiniciar un servicio
systemctl restart signoz
systemctl restart signoz-otel-collector

# Ver uso de disco en ClickHouse
clickhouse-client --query \
  "SELECT database, table, formatReadableSize(sum(bytes)) as size \
   FROM system.parts GROUP BY database, table ORDER BY sum(bytes) DESC LIMIT 20"

Actualizar SigNoz

La actualización no usa scripts propios: se hace con las herramientas de community-scripts desde la Proxmox VE Shell. Ver el detalle en Mantenimiento → Actualizar SigNoz.

# Automático: cron que actualiza el SO de todos los LXC (domingos a medianoche)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/cron-update-lxcs.sh)"

# Manual: actualiza la app SigNoz dentro del LXC (con opción de backup vzdump)
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/update-apps.sh)"

Los datos no se tocan

Las actualizaciones no borran ClickHouse ni la base SQLite, así que dashboards, alertas y datos históricos se mantienen. Igual, antes de una actualización grande conviene un backup (update-apps ofrece un vzdump del LXC).

Backup rápido

# Base SQLite (usuarios, dashboards, alertas)
cp /var/lib/signoz/signoz.db /backup/signoz-$(date +%Y%m%d).db

# ClickHouse: para backup completo ver docs oficiales de CH
# En la práctica, los datos son regenerables desde los agentes
# así que backupear signoz.db suele ser suficiente

# A nivel Proxmox: un vzdump del LXC completo es el backup más simple