Jak zainstalować i używać wtyczki otwartej telemetrycznej Jenkins

Jak zainstalować i używać wtyczki otwartej telemetrycznej Jenkins

Opentelemetry to struktura obserwacji open source, która zapewnia spójny sposób gromadzenia, przetwarzania i eksportowania danych telemetrycznych z aplikacji i infrastruktury. Opentelemetry zapewnia jedno neutralne dostawcy sposobu instrumentu aplikacji i infrastruktury, abyś mógł uzyskać wgląd w ich wydajność, zachowanie i użycie.

Dane telemetryczne obejmują wskaźniki, ślady i dzienniki. Opentelemetry zapewnia interfejsy API i biblioteki do generowania i konsekwentnego zbierania tych danych. Zebrane dane można następnie wyeksportować do różnych systemów zaplecza, takich jak narzędzia monitorowania i analizy dziennika, w celu dalszej analizy i wizualizacji.

Opentelemetria została zaprojektowana tak, aby można było się rozszerzyć, co pozwala jej używać do instrumentu szerokiej gamy technologii, w tym aplikacji-narodowych w chmurze, mikrousług i tradycyjnych aplikacji monolitycznych. Obsługuje także różne języki programowania, w tym GO, Java, .Net, węzeł.JS, Python i Ruby.

Ten samouczek nauczy Cię, jak instalować i monitorować rurociągi Jenkins za pomocą wtyczki opentelemetrycznej.

Konfiguracja klastra

Zapraszam do użycia konfiguracji Jenkinsa. Jednak w tym samouczku mamy:

  1. Kontroler Jenkins działający na Debian 11
  2. Wtyczka Blue Ocean zainstalowana na Jenkins
  3. Docker zainstalowany w naszym systemie

Instalowanie wtyczki opentelemetrii

Pierwszym krokiem jest zainstalowanie i skonfigurowanie wtyczki opentelemetrycznej na kontrolerze Jenkins.

Zacznij od zalogowania się do kontrolera i nawigacji do pulpitu nawigacyjnego Jenkins.

Następnie przejdź do zarządzania Jenkins -> Zarządzaj wtyczkami -> Dostępne wtyczki i wyszukaj „Opentelemetry."

Po zainstalowaniu uruchom ponownie Jenkinsa, aby zastosować zmiany w wtyczce opentelemetry.

Konfigurowanie przykładowego projektu

Do tego projektu użyjemy opentelemetrii i Jaegar jako backend. Link do przykładowego projektu pokazano poniżej:

https: // github.COM/Open-Telemetry/Opentelemetry-Collector-Contib/Tree/Main/Expresss/Demo

Klon repozytorium:

Git Clone https: // github.COM/Open-Telemetry/Opentelemetry-Collector-Contib.git

Przejdź do katalogu przykładów/demonów:

$ CD opentelemetry-collector-contib/przykłady/demo

Uruchom aplikacje klienta i serwera za pomocą polecenia Docker-Compose jako:

$ Docker -Compose Up -d

Po uruchomieniu pojemników możemy skonfigurować wtyczkę opentelemetryczną na kontrolerze Jenkins.

Skonfiguruj wtyczkę opentelemetry

Otwórz deskę rozdzielczą Jenkins i przejdź do zarządzania Jenkins -> Skonfiguruj system.

Przewiń w dół, aż dojdziesz do sekcji opentelemetrii.

Wróć do swojego terminala i uruchom polecenie:

$ Docker-Compose Ps

Polecenie powinno wymienić wszystkie działające kontenery i szczegóły dostępnych aplikacji.

W naszym przypadku jesteśmy zainteresowani aplikacją działającą na porcie 4317 i do którego portu jest odwzorowana na zewnątrz.

W naszym przypadku widzimy, że port 4317 na kontenerze jest odwzorowany na port 4317 w systemie hosta.

Następnie wróć do pulpitu nawigacyjnego Jenkins i ustaw punkt końcowy OTLP jako http: // localhost: 4317

Wymień port 4317 na numer portu, który pobrałeś w poprzednim poleceniu.

W sekcji uwierzytelniania wybierz „Bez uwierzytelnienia."

W sekcji wizualizacji wybierz „Dodaj backend obserwowalności wizualizacji” i wybierz „Jaeger.

Wprowadź adres URL bazowy Jaeger z kontenera Docker jako:

http: //: jaeger_ip>

W naszym przykładzie Port 16686 jest odwzorowany na port 16686 w systemie hosta. Dlatego adres Jaegera będzie:

http: // localhost: 16686

Ustanowienie pracy Jenkinsa

Następnym krokiem jest skonfigurowanie przykładowej pracy Jenkinsa. Na desce rozdzielczej Jenkins wybierz „nowy element.”Podaj zadanie nową nazwę i wybierz typ zadania jako rurociąg.

W sekcji rurociągu dodaj skrypt rurociągu, jak podany poniżej:

rurociąg
agent dowolny
narzędzia
Maven „Maven”

Etapy
etap („build”)
kroki
git "https: // github.com/Jenkins-Docs/Simple-java-Maven-App.git "
SH 'MVN -B -DSKIPTESTS Clean Pack'


etap („test”)
kroki
SH 'MVN TEST'

post
zawsze
Junit 'Target/FureFire-Reports/*.xml '



etap („dostarczenie”)
kroki
cii './Jenkins/Scripts/Dostarcz.cii'



Powyższy rurociąg wymaga skonfigurowania Maven na kontrolerze Jenkins. Sprawdź nasz samouczek na temat konfigurowania Maven na Jenkins, aby dowiedzieć się więcej.

Na koniec kliknij Zapisz, aby zapisać skrypt rurociągu i kliknij „Wybuduj teraz”, aby rozpocząć proces kompilacji.

Aby wyświetlić proces kompilacji w Jaeger, kliknij „Wyświetl rurociąg z Jaeger”.

To powinno otworzyć interfejs Jaeger w szczegółach kompilacji rurociągu.

Wniosek

Ten samouczek obejmował instalację i za pomocą wtyczki opentelemetrii Jenkins i wizualizacja kompilacji rurociągu za pomocą jeagera.