Saltar a contenido

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

sudo ./add-mysql.sh <HOST:PORT> <USUARIO> <PASSWORD>
# Ejemplo
sudo ./add-mysql.sh localhost:3306 otel_monitor mipassword

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

sudo ./add-pg.sh <HOST:PORT> <USUARIO> <PASSWORD> [DATABASES]
# 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:

CREATE USER otel_monitor WITH PASSWORD 'mipassword';
GRANT pg_monitor TO otel_monitor;

Redis

sudo ./add-redis.sh <HOST:PORT> [PASSWORD]
# 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:

location /nginx_status {
    stub_status on;
    allow 127.0.0.1;
    deny all;
}
sudo ./add-nginx.sh [STUB_STATUS_URL]
# 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):

pm.status_path = /status
listen = 127.0.0.1:9000
sudo ./add-phpfpm.sh [SCRAPE_URI] [LISTEN_PORT]
# 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.

sudo ./add-docker.sh

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:

metrics:
  prometheus: {}
sudo ./add-traefik.sh [METRICS_URL]
# URL por default: http://localhost:8080/metrics (dashboard/admin port)
sudo ./add-traefik.sh

# URL personalizada
sudo ./add-traefik.sh http://localhost:8082/metrics