OpenTelemetry ist ein Open-Source-Beobachtbarkeitsgerüst, das eine konsistente Möglichkeit bietet, Telemetriedaten aus Ihren Anwendungen und Infrastrukturen zu erfassen, zu verarbeiten und zu exportieren. OpenTelemetry bietet eine einzelne, herstellerneutrale Möglichkeit, Ihre Anwendungen und Infrastrukturen zu instrumentieren, damit Sie Einblicke in ihre Leistung, ihr Verhalten und ihre Nutzung erhalten können.
Die Telemetriedaten umfassen Metriken, Spuren und Protokolle. OpenTelemetry bietet APIs und Bibliotheken für das Generieren und konsequentes Sammeln dieser Daten. Die gesammelten Daten können dann in verschiedene Backend -Systeme wie Überwachungs- und Protokollanalyse -Tools zur weiteren Analyse und Visualisierung exportiert werden.
OpenTelemetry ist erweiterbar und ermöglicht es Ihnen, eine breite Palette von Technologien zu instrumentieren, darunter Cloud-native Anwendungen, Mikrodienste und traditionelle monolithische Anwendungen. Es unterstützt auch verschiedene Programmiersprachen, einschließlich Go, Java, .Netz, Knoten.JS, Python und Ruby.
In diesem Tutorial werden Sie mit dem OpenTelemetry -Plugin Ihre Jenkins -Pipelines installiert und überwacht und überwacht.
Cluster -Setup
Fühlen Sie sich frei, Ihre Jenkins -Konfiguration zu verwenden. Für dieses Tutorial haben wir jedoch:
Installieren von Opentelemetry -Plugin
Der erste Schritt besteht darin, das OpenTelemetry -Plugin am Jenkins -Controller zu installieren und zu konfigurieren.
Melden Sie sich zunächst in Ihren Controller an und navigieren Sie zum Jenkins Dashboard.
Navigieren Sie als Navigieren Sie zum Verwalten von Jenkins -> Plugins verwalten -> verfügbare Plugins und suchen Sie nach „Opentelemetry.”
Starten Sie Jenkins nach der Installation neu, um die Änderungen für das OpenTelemetry -Plugin anzuwenden.
Einrichten des Beispielprojekts
Für dieses Projekt werden wir Opentelemetry und Jaegar als Backend verwenden. Der Link zum Beispielprojekt ist unten dargestellt:
https: // github.com/open-telemetry/opentelemetry-Collector-Contrib/baum/main/Beispiele/Demo
Klonen Sie das Repository:
Git -Klon https: // github.COM/Open-Telemetrie/Opentelemetry-Collector-Contribrib.Git
Navigieren Sie in das Beispiel für Beispiele/Dämonen:
$ CD Opentelemetry-Collector-Contrib/Beispiele/Demo
Führen Sie die Client- und Serveranwendungen mit dem Befehl docker-compose als: aus
$ docker -compose up -d
Sobald die Container in Betrieb sind, können wir das OpenTelemetry -Plugin auf dem Jenkins -Controller einrichten.
Konfigurieren Sie das Opentelemetry -Plugin
Öffnen Sie das Jenkins Dashboard und navigieren Sie, um Jenkins zu verwalten -> System konfigurieren.
Scrollen Sie nach unten, bis Sie zum Abschnitt Opentelemetry gelangen.
Gehen Sie zurück zu Ihrem Terminal und führen Sie den Befehl aus:
$ docker-compose ps
In dem Befehl sollte alle laufenden Container und die Details für die verfügbaren Anwendungen aufgeführt.
In unserem Fall interessieren wir uns für die in Port 4317 ausgeführte Anwendung und an welchen Port sie außen zugeordnet ist.
In unserem Fall können wir sehen, dass Port 4317 am Container auf Port 4317 im Hostsystem zugeordnet ist.
Gehen Sie als nächstes zum Jenkins Dashboard zurück und setzen Sie den OTLP -Endpunkt als http: // localhost: 4317
Ersetzen Sie Port 4317 durch die Portnummer, die Sie im vorherigen Befehl abgerufen haben.
Wählen Sie im Abschnitt Authentifizierung „keine Authentifizierung aus.”
Wählen Sie im Abschnitt zur Visualisierung „Visualisierungsbeobachtbarkeit hinzufügen“ und wählen Sie „Jaeger.
Geben Sie die Jaeger -Basis -URL aus dem Docker -Container als:
http: //: Jaeger_ip>
In unserem Beispiel wird Geager Port 16686 auf Port 16686 im Host -System zugeordnet. Daher wird die Jaeger -Adresse sein:
http: // localhost: 16686
Einrichten eines Jenkins -Jobs
Der nächste Schritt besteht darin, einen Beispiel für Jenkins -Auftrag einzurichten. Wählen Sie auf dem Jenkins Dashboard „Neues Element.Geben Sie dem Job einen neuen Namen und wählen Sie den Jobtyp als Pipeline aus.
Fügen Sie im Abschnitt Pipeline ein Pipeline -Skript hinzu, wie unten angegeben:
Pipeline
Agent jeder
Werkzeug
Maven "Maven"
Stufen
Stage ('Build')
Schritte
git "https: // github.com/jenkins-docs/Simple-Java-Maven-App.Git "
SH 'MVN -B -dskiptests sauberes Paket'
Stage ('Test')
Schritte
Sh 'MVN -Test'
Post
stets
jungit 'target/todesfire-reports/*.xml '
Stage ('liefern')
Schritte
Sch './jenkins/scripts/liefern.Sch'
In der obigen Pipeline müssen Sie Maven auf Ihrem Jenkins -Controller konfigurieren lassen. Sehen Sie sich unser Tutorial zum Einrichten von Maven auf Jenkins an, um mehr zu erfahren.
Klicken Sie schließlich auf Speichern, um das Pipeline -Skript zu speichern, und klicken Sie auf "Jetzt erstellen", um den Build -Prozess zu starten.
Klicken Sie auf "Pipeline mit Jaeger anzeigen", um den Build -Prozess in Jaeger anzuzeigen.
Dies sollte die Jaeger -Benutzeroberfläche mit den Details des Pipeline -Builds öffnen.
Abschluss
Dieses Tutorial behandelte das Installieren und die Verwendung des OpenTelemetry Jenkins -Plugins und die Visualisierung der Pipeline -Builds mit Gegner.