In diesem Artikel erfahren Sie, wie Sie bereitstellen Elasticsearch und Kibana verwenden Docker Compose. Dies sind zwei Schlüsselkomponenten des ELK-Stacks( Elasticsearch, Logstash, Kibana), die Ihnen dabei helfen, Daten effektiv zu suchen, zu analysieren und zu visualisieren. Nachfolgend finden Sie die detaillierten Konfigurationen und die Funktionsweise der einzelnen Komponenten.
1. Elasticsearch
a. Grundkonfiguration
Elasticsearch ist für die Ausführung in einem Docker-Container mit den folgenden Parametern konfiguriert:
Bild: Es wird das offizielle Elasticsearch Bild, Version
8.17.2
, verwendet.Einzelknotenmodus: Aktiviert über die Umgebungsvariable
discovery.type=single-node
.Sicherheit: X-Pack-Sicherheit ist aktiviert(
xpack.security.enabled=true
) und das Kennwort für denelastic
Benutzer ist auf gesetztYVG6PKplG6ugGOw
.Netzwerk: Elasticsearch hört auf allen Netzwerkschnittstellen(
network.host=0.0.0.0
).JVM-Speicher: Konfiguriert mit
-Xms1g
(Anfangsspeicher) und-Xmx1g
(Maximalspeicher).
b. Ports und Volumes
Ports: Port
9200
(HTTP) und9300
(interne Kommunikation) werden vom Container zum Host abgebildet.Volumes: Elasticsearch-Daten werden im
elasticsearch-data
Datenträger gespeichert.
c. Gesundheitscheck
Ein Healthcheck wird eingerichtet, um Elasticsearch den Status von zu überwachen, indem die /_cluster/health
API mit dem elastic
Benutzer aufgerufen wird. Wenn die API nicht antwortet, wird der Container neu gestartet.
2. Kibana
a. Grundkonfiguration
Kibana ist für die Verbindung Elasticsearch mit einem Docker-Container und die Ausführung in diesem mit den folgenden Parametern konfiguriert:
Bild: Es wird das offizielle Kibana Bild, Version
8.17.2
, verwendet.Elasticsearch Verbindung: Die Elasticsearch Adresse ist eingestellt auf
http://elasticsearch:9200
.Authentifizierung: Kibana verwendet die
kibana_user
mit dem Passwort,YVG6PKplG6ugGOw
um eine Verbindung herzustellen Elasticsearch.
b. Ports und Netzwerke
Ports: Für den Zugriff auf die Schnittstelle wird der Port
5601
vom Container dem Host zugeordnet Kibana.Netzwerke: Kibana ist verbunden mit
elk-network
.
c. Abhängigkeit von Elasticsearch
Kibana startet erst, wenn Elasticsearch bereit ist, und stellt so eine erfolgreiche Verbindung zwischen den beiden Diensten sicher.
3. Lautstärke und Netzwerk
ein. Volumen
elasticsearch-data: Dieses Volume wird zum Speichern von Daten verwendet Elasticsearch und stellt die Datenpersistenz sicher, auch wenn der Container gelöscht wird.
b. Netzwerk
elk-network: Ein
bridge
Netzwerk wird zum Verbinden Elasticsearch und Kibana für Dienste erstellt.
4. Wie benutzt man
a. Starten der Dienste
Führen Sie zum Starten Elasticsearch und Kibana den folgenden Befehl aus:
b. Einen Kibana Benutzer erstellen(falls erforderlich)
Wenn Sie einen dedizierten Benutzer für verwenden möchten Kibana, können Sie einen mit dem folgenden Befehl erstellen:
Um token anstelle eines Passworts eins zu verwenden, können Sie eines mit dem folgenden Befehl erstellen:
5. Fehlerbehebung
Wenn Fehler auftreten, können Sie die Containerprotokolle wie folgt überprüfen:
So starten Sie neu Kibana:
Vollständiger Inhalt der Docker Compose Datei
Unten sehen Sie den vollständigen Inhalt der docker-compose-els.yml
Datei:
Abschluss
Mit dieser Docker Compose Konfiguration können Sie Ihre Anforderungen an Datensuche, -analyse und -visualisierung problemlos implementieren Elasticsearch und erfüllen. Passen Sie diese Konfiguration an und erweitern Sie sie, um sie an die spezifischen Anforderungen Ihres Projekts anzupassen! Kibana