I denne artikel vil vi undersøge, hvordan du implementerer Elasticsearch og Kibana bruger Docker Compose. Disse er to nøglekomponenter i ELK Stack( Elasticsearch, Logstash, Kibana), der hjælper dig med at søge, analysere og visualisere data effektivt. Nedenfor er de detaljerede konfigurationer og hvordan hver komponent fungerer.
1. Elasticsearch
en. Grundlæggende konfiguration
Elasticsearch er konfigureret til at køre i en Docker-container med følgende parametre:
Billede: Det officielle Elasticsearch billede, version
8.17.2
, bruges.Single-node mode: Aktiveret via miljøvariablen
discovery.type=single-node
.Sikkerhed: X-Pack-sikkerhed er aktiveret(
xpack.security.enabled=true
), og adgangskoden forelastic
brugeren er indstillet tilYVG6PKplG6ugGOw
.Netværk: Elasticsearch lytter på alle netværksgrænseflader(
network.host=0.0.0.0
).JVM-hukommelse: Konfigureret med
-Xms1g
(initial hukommelse) og-Xmx1g
(maksimal hukommelse).
b. Ports og Volumes
Ports: Port
9200
(HTTP) og9300
(intern kommunikation) kortlægges fra containeren til værten.Volumes: Elasticsearch-data gemmes i
elasticsearch-data
volumen.
c. Sundhedstjek
Et sundhedstjek er sat op til at overvåge Elasticsearch status ved at kalde /_cluster/health
API'et med elastic
brugeren. Hvis API'en ikke reagerer, genstartes containeren.
2. Kibana
en. Grundlæggende konfiguration
Kibana er konfigureret til at oprette forbindelse til Elasticsearch og køre i en Docker-container med følgende parametre:
Billede: Det officielle Kibana billede, version
8.17.2
, bruges.Elasticsearch Forbindelse: Adressen Elasticsearch er indstillet til
http://elasticsearch:9200
.Godkendelse: Kibana bruger
kibana_user
med adgangskodenYVG6PKplG6ugGOw
til at oprette forbindelse til Elasticsearch.
b. Ports og netværk
Ports: Port
5601
er kortlagt fra containeren til værten for at få adgang til Kibana grænsefladen.Netværk: Kibana er forbundet til
elk-network
.
c. Afhængighed af Elasticsearch
Kibana starter først, når Elasticsearch den er klar, hvilket sikrer en vellykket forbindelse mellem de to tjenester.
3. Lydstyrke og netværk
en. Bind
elasticsearch-data: Denne volumen bruges til at gemme Elasticsearch data, hvilket sikrer datapersistens, selvom beholderen slettes.
b. Netværk
elk-netværk: Et
bridge
netværk oprettes for at forbinde Elasticsearch og Kibana tjenester.
4. Sådan bruges
en. Start af tjenesterne
For at starte Elasticsearch og Kibana køre følgende kommando:
b. Oprettelse af en Kibana bruger(hvis nødvendigt)
Hvis du vil bruge en dedikeret bruger til Kibana, kan du oprette en med følgende kommando:
For at bruge en token i stedet for en adgangskode kan du oprette en med følgende kommando:
5. Fejlfinding
Hvis du støder på fejl, kan du tjekke containerlogfilerne ved hjælp af:
For at genstarte Kibana:
Docker Compose Filens fulde indhold
Nedenfor er det fulde indhold af docker-compose-els.yml
filen:
Konklusion
Med denne Docker Compose konfiguration kan du nemt implementere Elasticsearch og Kibana betjene dine datasøgnings-, analyse- og visualiseringsbehov. Tilpas og udvid denne konfiguration, så den passer til dit projekts specifikke krav!