|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
Commencer avec Open Telemetry
Voici la configuration que nous allons créer, pour une application qui doit être surveillée :
-
L’application / charge de travail surveillée s’exécutant sur un hôte Linux
-
Le collecteur Open Telemetry s’exécutant sur le même hôte Linux
-
SUSE Observability ou SUSE Cloud Observability
Installer le collecteur Open Telemetry
|
Pour une configuration de production, il est fortement recommandé d’installer le collecteur, car il permet à votre service de décharger rapidement les données et le collecteur peut prendre en charge des tâches supplémentaires telles que la gestion des réessais, le traitement en lots, le chiffrement ou encore le filtrage des données sensibles. |
Tout d’abord, nous allons installer le collecteur. Nous le configurons pour :
-
Recevoir des données de, potentiellement, de nombreuses applications instrumentées
-
Enrichir les données collectées avec des attributs d’hôte
-
Générer des métriques pour les traces
-
Transmettre les données à SUSE Observability, y compris l’authentification à l’aide de la clé API
De plus, il tentera également de renvoyer les données en cas de problèmes de connexion.
Créer un jeton de service
Il existe deux façons de créer un jeton de service :
-
SUSE Observability UI - ouvrez le menu principal en cliquant en haut à gauche de l’écran et allez à
StackPacks>Open Telemetry. Si vous ne l’avez pas encore fait, cliquez sur le boutonINSTALL. Cliquez sur le boutonCREATE NEW SERVICE TOKENet copiez la valeur dans votre presse-papiers. -
SUSE Observability CLI - voir Gérer les jetons de service
La valeur du jeton de service doit être utilisée là où les instructions ci-dessous mentionnent <SERVICE_TOKEN>.
Installer et configurer le collecteur
Le collecteur fournit des paquets (apk, deb et rpm) pour la plupart des versions et architectures Linux et utilise systemd pour la configuration automatique du service. Pour l’installer, trouvez la dernière version sur Github et mettez à jour l’URL dans l’exemple pour utiliser la dernière version :
-
DEB AMD64
-
DEB ARM64
-
RPM AMD64
-
RPM ARM64
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_amd64.deb
sudo dpkg -i otelcol-contrib_0.123.1_linux_amd64.deb
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_arm64.deb
sudo dpkg -i otelcol-contrib_0.123.1_linux_arm64.deb
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_amd64.rpm
sudo rpm -iv1 otelcol-contrib_0.123.1_linux_amd64.rpm
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_arm64.rpm
sudo rpm -iv1 otelcol-contrib_0.123.1_linux_arm64.rpm
Pour d’autres options d’installation, utilisez les instructions Open Telemetry.
Après l’installation, modifiez la configuration du collecteur en éditant /etc/otelcol-contrib/config.yaml. Modifiez le fichier de manière à ce qu’il ressemble à l’exemple config.yaml ici, remplacez <otlp-suse-observability-endpoint:port> par votre point de terminaison OTLP (voir API OTLP pour votre point de terminaison) et insérez votre jeton de service pour <SERVICE_TOKEN> :
receivers:
otlp:
protocols:
# Only bind to localhost to keep the collector secure, see https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/security-best-practices.md#safeguards-against-denial-of-service-attacks
grpc:
endpoint: 127.0.0.1:4317
http:
endpoint: 127.0.0.1:4318
# Collect own metrics
prometheus:
config:
scrape_configs:
- job_name: 'otel-collector'
scrape_interval: 10s
static_configs:
- targets: ['0.0.0.0:8888']
extensions:
health_check: {}
pprof:
endpoint: 0.0.0.0:1777
zpages:
endpoint: 0.0.0.0:55679
# Use the API key from the env for authentication
bearertokenauth:
scheme: SUSEObservability
token: "<SERVICE_TOKEN>"
exporters:
nop: {}
debug: {}
otlp/suse-observability:
compression: snappy
auth:
authenticator: bearertokenauth
# Put in your own otlp endpoint, for example otlp-suse-observability.my.company.com:443
endpoint: <otlp-suse-observability-endpoint:port>
processors:
memory_limiter:
check_interval: 5s
limit_percentage: 80
spike_limit_percentage: 25
batch: {}
# Optionally include resource information from the system running the collector
resourcedetection/system:
detectors: [env, system] # Replace system with gcp, ec2, azure when running in cloud environments
system:
hostname_sources: ["os"]
connectors:
# Generate metrics for spans
spanmetrics:
metrics_expiration: 5m
namespace: otel_span
service:
extensions: [ bearertokenauth, health_check, pprof, zpages ]
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, resourcedetection/system, batch]
exporters: [debug, spanmetrics, otlp/suse-observability]
metrics:
receivers: [otlp, spanmetrics, prometheus]
processors: [memory_limiter, batch, resourcedetection/system]
exporters: [debug, otlp/suse-observability]
logs:
receivers: [otlp]
processors: []
exporters: [nop]
Enfin, redémarrez le collecteur :
sudo systemctl restart otelcol-contrib
Pour voir les journaux du collecteur, utilisez :
sudo journalctl -u otelcol-contrib
Collectez des données de télémétrie de votre application
La manière courante de collecter des données de télémétrie est d’instrumenter votre application en utilisant les SDK Open Telemetry. Nous avons documenté quelques guides de démarrage rapide pour quelques langages, mais il y en a beaucoup d’autres :
Aucune configuration supplémentaire n’est nécessaire pour les SDK, ils exportent vers l’hôte local via OTLP ou OTLP sur HTTP (selon les protocoles pris en charge) par défaut.
Pour d’autres langages, suivez la documentation sur opentelemetry.io.
Consultez les résultats
Allez sur SUSE Observability et assurez-vous que le Stackpack Open Telemetry est installé (via le menu principal -> Stackpacks).
Après un court instant, si votre application traite du trafic, vous devriez pouvoir la retrouver sous son nom de service dans les sections Open Telemetry -> services et instances de service. Les traces apparaîtront dans le explorateur de traces et dans la perspective de traces pour les composants de service et d’instance de service. Les métriques de span et les métriques spécifiques au langage (si disponibles) seront accessibles dans la perspective des métriques pour les composants.
Étapes suivantes
Vous pouvez ajouter de nouveaux graphiques aux composants, par exemple, le service ou l’instance de service, pour votre application, en suivant notre guide. Il est également possible de créer nouveaux moniteurs en utilisant les métriques et de configurer des notifications pour être averti lorsque votre application n’est pas disponible ou rencontre des problèmes de performance.