Elasticsearch + Docker Compose: Teil 2 – Elastic Agent, Fleet Server, APM

Veröffentlicht am 22.11.2023

« Alle Vorträge ansehen Kontaktieren Sie uns
Elasticsearch + Docker Compose: Part 2 - Elastic Agent, Fleet Server, APM

Einführung

Code auf Github: Elasticsearch + Docker Teil 2

Wir werden einrichten Elasticsearch, Kibana, Elastic Agent, Fleet Server und APM mit Docker Compose.

Dieses Video setzt voraus, dass Sie bereits wissen, wie Sie Elasticsearch, Kibana, Beats und Logstash ohne Container einrichten. Falls nicht, können Sie hier klicken Setup. Und Sie sollten verstehen Elastischer Agent, Flottenserver Und APM.

Anforderungen

Schritt 1 - Code auschecken [02:30]

Fahren Sie zuvor ausgeführte Docker-Container mit dem folgenden Befehl herunter.

docker-compose down --remove-orphans --volumes

Erstellen Sie ein neues Verzeichnis für diesen Teil 2

mkdir ../es2 cd ../es2

Initialisieren Sie ein neues Git-Repository.

git init; git remote add origin https://github.com/evermight/elastic-stack-docker-part-two.git; git fetch -a; git checkout main

Listen Sie alle Dateien im Verzeichnis auf.

ls -alh

Erstellen Sie mit dem folgenden Docker-Compose-Befehl.

docker-compose up --build -d

Führen Sie den folgenden Befehl aus, um die Details aller Container abzurufen:

docker ps -a

Holen Sie sich die IP-Adresse Ihres Servers, da diese als URL für die Docker-Container verwendet wird.

hostname -i

Besuchen Sie die Kibana-Seite mit http://<YOUR IP ADDRESS>:5601. Melden Sie sich dann mit dem Elastic-Benutzernamen und -Passwort an, das Sie auf der .env Datei

username: elastic password: changeme

alt text Kibana-Anmeldeseite

Schritt 2 - Bestätigen, dass die Dienste betriebsbereit sind [06:45]

Gehe zu Fleet > settings, und klicken Sie auf das EDI-Stiftsymbol. Siehe das folgende Bild.

alt text Fleet-Server-Ausgabe bearbeiten

Um den Fingerabdruck des Zertifikats abzurufen, führen Sie die folgenden Befehle aus:

docker cp es-cluster-es01-1:/usr/share/elasticsearch/config/certs/ca/ca.crt /tmp/.

und führen Sie Folgendes aus, um den Zertifikatsfingerabdruck zu erhalten.

openssl x509 -fingerprint -sha256 -noout -in /tmp/ca.crt | awk -F"=" {' print $2 '} | sed s/://g

Verwenden Sie den folgenden Befehl, um das Zertifikat auszugeben.

cat /tmp/ca.crt

Sobald Sie den Zertifikatstext haben, fügen wir ihn in ein YML-Format hinzu und geben alle diese Informationen in den Bildschirm „Flotteneinstellungen“ von vorhin ein.

ssl: certificate_authorities: - |

und fügen Sie Inhalt und Platz entsprechend hinzu, wie im Bild unten gezeigt.

alt text Zertifikat im Yml-Stil

Aktualisieren Sie die Felder in Ihrem Kibana wie im Bild unten gezeigt.

alt text Änderungen am Flottenserver

Klicken Sie dann auf Einstellungen speichern und anwenden, und klicken Sie dann auf Speichern und bereitstellen. Gehen Sie nun zurück zum Flotte > Agent und aktualisieren Sie die Registerkarte. Sie sollten etwas Ähnliches wie das folgende Bild sehen. Dies zeigt an, dass Elastic Agent, AM und Fleet Server aktiv sind.

alt text Elastic Agent, APM und Fleet Server laufen erfolgreich

Um die APM-Dienste anzuzeigen, gehen Sie zu Observability > APM > Dienste, und Sie sollten etwas Ähnliches wie das Bild unten sehen

alt text APM-Erfolg

Um die Protokolle für die Python-Web-App anzuzeigen, verwenden Sie den folgenden Befehl:

docker logs es-cluster-webapp-1

Sie sollten ein ähnliches Ergebnis wie im Bild unten erhalten.

alt text WebApp-Protokolle

Gehen Sie zu Ihrem Browser und führen Sie die URL aus http://0.0.0.0:8000Die Web-App sollte in etwa wie im Bild unten aussehen.

alt text WebApp Website

Klicken Sie auf die dort angezeigten Schaltflächen zum Generieren, damit die Webanwendung eine Nachricht an Elastic sendet. Gehen Sie zu Observability > APM > Dienste > mein Python-Dienst > Übersicht und klicken Sie auf „Aktualisieren“, um die gestellten Anfragen anzuzeigen. Unten sehen Sie einen Screenshot, wie es aussieht.

alt text my_python_service-Anfragen