|
Dieses Dokument wurde mithilfe automatisierter maschineller Übersetzungstechnologie übersetzt. Wir bemühen uns um korrekte Übersetzungen, übernehmen jedoch keine Gewähr für die Vollständigkeit, Richtigkeit oder Zuverlässigkeit der übersetzten Inhalte. Im Falle von Abweichungen ist die englische Originalversion maßgebend und stellt den verbindlichen Text dar. |
Einführung in Open Telemetrie
Hier ist das Setup, das wir für eine zu überwachende Anwendung erstellen werden:
-
Die überwachte Anwendung / Arbeitslast, die auf einem Linux-Host läuft
-
Der Open Telemetry-Collector, der auf demselben Linux-Host läuft
-
SUSE Observability oder SUSE Cloud Observability
Installieren Sie den Open Telemetry-Collector
|
Für eine Produktionsumgebung wird dringend empfohlen, den Collector zu installieren, da er es Ihrem Service ermöglicht, Daten schnell zu übertragen, und der Collector sich um zusätzliche Aufgaben wie Wiederholungen, Batch-Verarbeitung, Verschlüsselung oder sogar die Filterung sensibler Daten kümmern kann. |
Zuerst installieren wir den Collector. Wir konfigurieren ihn so, dass er:
-
Daten von potenziell vielen instrumentierten Anwendungen empfängt
-
Gesammelte Daten mit Hostattributen anreichert
-
Metriken für Traces generiert
-
Die Daten an SUSE Observability weiterleitet, einschließlich Authentifizierung mit dem API-Schlüssel
Darüber hinaus wird er auch versuchen, die Daten erneut zu senden, wenn es Verbindungsprobleme gibt.
Erstellen Sie ein Service-Token
Es gibt zwei Möglichkeiten, ein Service-Token zu erstellen:
-
SUSE Observability UI - Öffnen Sie das Hauptmenü, indem Sie oben links auf dem Bildschirm klicken, und gehen Sie zu
StackPacks>Open Telemetry. Wenn Sie dies noch nicht getan haben, klicken Sie auf dieINSTALL-Schaltfläche. Klicken Sie auf dieCREATE NEW SERVICE TOKEN-Schaltfläche und kopieren Sie den Wert in Ihre Zwischenablage. -
SUSE Observability CLI - siehe Service-Token verwalten
Der Wert des Service-Tokens muss dort verwendet werden, wo die folgenden Anweisungen <SERVICE_TOKEN> erwähnen.
Installieren und konfigurieren Sie den Collector.
Der Collector bietet Pakete (apk, deb und rpm) für die meisten Linux-Versionen und -Architekturen und verwendet systemd für die automatische Dienstkonfiguration. Um es zu installieren, finden Sie die neueste Version auf Github und aktualisieren Sie die URL im Beispiel, um die neueste Version zu verwenden:
-
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
Für andere Installationsoptionen verwenden Sie die Open Telemetry-Anweisungen.
Nach der Installation ändern Sie die Konfiguration, indem Sie /etc/otelcol-contrib/config.yaml bearbeiten. Ändern Sie die Datei so, dass sie wie das config.yaml Beispiel hier aussieht, ersetzen Sie <otlp-suse-observability-endpoint:port> durch Ihren OTLP-Endpunkt (siehe OTLP API für Ihren Endpunkt) und fügen Sie Ihr Service-Token für <SERVICE_TOKEN> ein:
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]
Starten Sie schließlich den Collector neu:
sudo systemctl restart otelcol-contrib
Um die Protokolle des Collectors anzuzeigen, verwenden Sie:
sudo journalctl -u otelcol-contrib
Sammeln Sie Telemetriedaten von Ihrer Anwendung.
Der gängige Weg, Telemetriedaten zu sammeln, besteht darin, Ihre Anwendung mit den Open Telemetry SDKs zu instrumentieren. Wir haben einige Kurzanleitungen für einige Sprachen dokumentiert, aber es gibt viele weitere:
Für die SDKs ist keine zusätzliche Konfiguration erforderlich, sie exportieren standardmäßig über OTLP oder OTLP über HTTP (je nach unterstützten Protokollen) an localhost.
Für andere Sprachen folgen Sie der Dokumentation auf opentelemetry.io.
Ergebnisse anzeigen
Gehen Sie zu SUSE Observability und stellen Sie sicher, dass das Open Telemetry Stackpack installiert ist (über das Hauptmenü -> Stackpacks).
Nach kurzer Zeit und wenn Ihre Anwendung etwas Verkehr verarbeitet, sollten Sie in der Lage sein, sie unter ihrem Servicenamen in den Übersichten Open Telemetry -> Dienste und Dienstinstanzen zu finden. Traces erscheinen im Trace Explorer und in der Trace-Perspektive für die Komponenten Dienst und Dienstinstanz. Die Span-Metriken und sprachspezifischen Metriken (sofern verfügbar) werden in der Metriken-Perspektive für die Komponenten verfügbar sein.
Nächste Schritte
Sie können neue Diagramme zu Komponenten hinzufügen, zum Beispiel zum Dienst oder zur Dienstinstanz, für Ihre Anwendung, indem Sie unserem Leitfaden folgen. Es ist auch möglich, neue Monitore zu erstellen und Benachrichtigungen einzurichten, um benachrichtigt zu werden, wenn Ihre Anwendung nicht verfügbar ist oder Leistungsprobleme aufweist.