
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
- Eine neue Instanz einer Linux-Maschine wie Ubuntu 20.04, die als Server fungiert
- Docker und Docker-Compose installiert
- Docker-Container aus dem vorherigen Docker + ELK-Video
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
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.
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.
Zertifikat im Yml-Stil
Aktualisieren Sie die Felder in Ihrem Kibana wie im Bild unten gezeigt.
Ä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.
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
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.
WebApp-Protokolle
Gehen Sie zu Ihrem Browser und führen Sie die URL aus http://0.0.0.0:8000
Die Web-App sollte in etwa wie im Bild unten aussehen.
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.
my_python_service-Anfragen