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:
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.