Addons
Después de instalar el agente base podés agregar receivers para servicios específicos. Cada script (del repo signoz-agent, se corre desde la raíz del repo) modifica /etc/otelcol-contrib/config.yaml y reinicia el agente automáticamente.
Todos los scripts requieren sudo y que el agente ya esté instalado.
Idempotentes
Si corrés el mismo script dos veces, detecta que el receiver ya existe y no toca nada.
MySQL
El usuario de MySQL necesita permisos de solo lectura sobre las tablas de performance:
CREATE USER 'otel_monitor'@'localhost' IDENTIFIED BY 'mipassword';
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'otel_monitor'@'localhost';
FLUSH PRIVILEGES;
PostgreSQL
# Monitorear todas las bases
sudo ./add-pg.sh localhost:5432 otel_monitor mipassword
# Monitorear bases específicas
sudo ./add-pg.sh localhost:5432 otel_monitor mipassword "app_prod,staging"
El usuario de PG necesita el rol pg_monitor:
Redis
# Sin contraseña
sudo ./add-redis.sh localhost:6379
# Con contraseña
sudo ./add-redis.sh localhost:6379 mipassword
Nginx
Requiere stub_status habilitado en Nginx. Agregar en un bloque server:
# URL por default: http://localhost/nginx_status
sudo ./add-nginx.sh
# URL personalizada
sudo ./add-nginx.sh http://localhost:8080/nginx_status
PHP-FPM
Requiere el endpoint /status habilitado en el pool de PHP-FPM y PHP-FPM escuchando en TCP.
En el pool config de PHP-FPM (/etc/php/X.Y/fpm/pool.d/www.conf):
# Defaults: tcp://127.0.0.1:9000/status, puerto 9253
sudo ./add-phpfpm.sh
# Personalizado
sudo ./add-phpfpm.sh tcp://127.0.0.1:9000/status 9253
Docker (métricas completas por container)
Amplía el receiver docker_stats con enriquecimiento de labels (container.name, container.image.name, etc.). Compatible con el dashboard oficial de SigNoz para Docker.
Si el agente se instaló en un host sin Docker, el script detecta que no hay docker_stats y sale sin tocar nada.
Traefik
Requiere métricas Prometheus habilitadas en Traefik. En traefik.yml: