Saltar a contenido

Agentes

Cada servidor remoto tiene dos servicios systemd corriendo como binarios nativos — sin Docker:

  • node-exporter — expone métricas del host (usuario sin privilegios)
  • otelcol-contrib — recolecta métricas y logs, los envía al central (corre como root para leer logs y Docker socket)

Requisitos

  • Linux x86_64, arm64 o armv7
  • El servidor tiene que estar en la red ZeroTier Infra-mesh y tener conectividad al central en el puerto 4317
  • curl, wget, tar (el script los instala si faltan)
  • No requiere Docker

Obtener los scripts

Los scripts del agente están en el repo signoz-agent:

git clone https://bitbucket.org/mundo-it/signoz-agent.git
cd signoz-agent

Instalar el agente

sudo ./install-agent.sh --central-ip <IP_ZEROTIER_CENTRAL> --server-name <NOMBRE>

Usá la IP de ZeroTier

El --central-ip tiene que ser la IP de ZeroTier (Infra-mesh) del LXC central, no la IP pública. Todo el tráfico de métricas y logs viaja por la red Infra-mesh.

Ejemplos:

sudo ./install-agent.sh --central-ip 10.147.20.5 --server-name web-01
sudo ./install-agent.sh --central-ip 10.147.20.5 --server-name db-rosgan

Opciones disponibles

Opción Descripción Default
--central-ip IP ZeroTier del servidor central requerido
--server-name Nombre del servidor en SigNoz requerido
--otel-version Versión de otelcol-contrib 0.96.0
--ne-version Versión de node_exporter 1.7.0
--uninstall Desinstala todo

Qué hace el script

  1. Instala dependencias del sistema si faltan
  2. Descarga node_exporter y otelcol-contrib como binarios
  3. Detecta automáticamente: journald, Docker, archivos de log disponibles, y qué puerto usar para métricas internas (8888, o 8889 si el 8888 está ocupado)
  4. Genera /etc/otelcol-contrib/config.yaml con todo lo detectado
  5. Crea y habilita los servicios systemd
  6. Verifica conectividad al central

Verificar que está funcionando

# Estado de los servicios
systemctl status otelcol-contrib
systemctl status node-exporter

# Logs en vivo del agente
journalctl -u otelcol-contrib -f

# Health check (solo desde el mismo servidor)
curl http://localhost:13133/

Después de ~60 segundos, el servidor tiene que aparecer en SigNoz UIInfrastructure.

Archivos instalados

/usr/local/bin/otelcol-contrib          ← binario
/usr/local/bin/node_exporter            ← binario
/etc/otelcol-contrib/config.yaml        ← config del agente (editable)
/etc/systemd/system/otelcol-contrib.service
/etc/systemd/system/node-exporter.service

Editar la config manualmente

Si necesitás ajustar algo en la config del agente:

nano /etc/otelcol-contrib/config.yaml

# Validar antes de reiniciar
otelcol-contrib validate --config /etc/otelcol-contrib/config.yaml

# Aplicar cambios
systemctl restart otelcol-contrib

Desinstalar

sudo ./install-agent.sh --uninstall

Elimina los binarios, la config, los servicios systemd y los usuarios del sistema creados.