Skip to content

Agents OTel sur droplets et VMs

Chaque hote monitore execute un agent OpenTelemetry local. L’agent collecte les metriques hote, les logs systeme, les logs Docker et relaie les traces/metriques/logs applicatifs vers l’endpoint central.

Depuis ce repo:

  • otel-collector/agent.config.yml
  • otel-collector/compose.agent.yml
  • otel-collector/agent.env.example

Sur l’hote cible:

Terminal window
sudo mkdir -p /opt/otel-agent
sudo cp agent.config.yml /opt/otel-agent/agent.config.yml
sudo cp compose.agent.yml /opt/otel-agent/compose.yml
sudo cp agent.env.example /opt/otel-agent/agent.env
sudo chown -R $USER:$USER /opt/otel-agent
cd /opt/otel-agent

Edite agent.env:

OTEL_EXPORTER_OTLP_ENDPOINT=https://otlp.<domaine>
OTEL_AGENT_USERNAME=agent
OTEL_AGENT_PASSWORD=<mot-de-passe-agent>
DEPLOYMENT_ENVIRONMENT=production
SERVICE_NAMESPACE=infra
CLOUD_PROVIDER=digitalocean

Le mot de passe doit correspondre au hash BASIC_AUTH_HASH configure dans .env sur la monitoring box.

Terminal window
docker compose up -d
Terminal window
docker compose ps
docker compose logs --tail=100 otel-agent

Dans Grafana:

  • metriques hote dans VictoriaMetrics,
  • logs dans Loki,
  • traces dans Tempo si une app locale exporte vers l’agent.

Configuration des apps locales sur l’hote

Section titled “Configuration des apps locales sur l’hote”

Pour envoyer les signaux a l’agent local plutot qu’au collector central:

OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318
OTEL_SERVICE_NAME=my-service
OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production,service.namespace=my-apps

L’agent relaie ensuite vers l’endpoint central securise.