I denne artikkelen vil vi utforske hvordan du distribuerer Elasticsearch og Kibana bruker Docker Compose. Dette er to nøkkelkomponenter i ELK Stack( Elasticsearch, Logstash, Kibana), som hjelper deg å søke, analysere og visualisere data effektivt. Nedenfor er de detaljerte konfigurasjonene og hvordan hver komponent fungerer.
1. Elasticsearch
en. Grunnleggende konfigurasjon
Elasticsearch er konfigurert til å kjøre i en Docker-beholder med følgende parametere:
Bilde: Det offisielle Elasticsearch bildet, versjon
8.17.2
, brukes.Enkeltnodemodus: Aktivert via miljøvariabelen
discovery.type=single-node
.Sikkerhet: X-Pack-sikkerhet er aktivert(
xpack.security.enabled=true
), og passordet forelastic
brukeren er satt tilYVG6PKplG6ugGOw
.Nettverk: Elasticsearch lytter på alle nettverksgrensesnitt(
network.host=0.0.0.0
).JVM-minne: Konfigurert med
-Xms1g
(opprinnelig minne) og-Xmx1g
(maksimalt minne).
b. Ports og Volumes
Ports: Port
9200
(HTTP) og9300
(intern kommunikasjon) er kartlagt fra containeren til verten.Volumes: Elasticsearch-data lagres i
elasticsearch-data
volumet.
c. Helsesjekk
En helsesjekk settes opp for å overvåke Elasticsearch statusen ved å ringe /_cluster/health
APIen med elastic
brukeren. Hvis API-en ikke svarer, vil beholderen starte på nytt.
2. Kibana
en. Grunnleggende konfigurasjon
Kibana er konfigurert til å koble til Elasticsearch og kjøre i en Docker-beholder med følgende parametere:
Bilde: Det offisielle Kibana bildet, versjon
8.17.2
, brukes.Elasticsearch Tilkobling: Adressen Elasticsearch er satt til
http://elasticsearch:9200
.Autentisering: Kibana bruker
kibana_user
med passordetYVG6PKplG6ugGOw
for å koble til Elasticsearch.
b. Ports og nettverk
Ports: Porten
5601
tilordnes fra containeren til verten for å få tilgang til Kibana grensesnittet.Nettverk: Kibana er koblet til
elk-network
.
c. Avhengighet av Elasticsearch
Kibana starter først etter Elasticsearch at den er klar, noe som sikrer en vellykket forbindelse mellom de to tjenestene.
3. Volum og nettverk
en. Volum
elasticsearch-data: Dette volumet brukes til å lagre Elasticsearch data, og sikrer datavedvarende selv om beholderen slettes.
b. Nettverk
elg-nettverk: Et
bridge
nettverk opprettes for å koble til Elasticsearch og Kibana tjenester.
4. Hvordan bruke
en. Starte tjenestene
For å starte Elasticsearch og Kibana kjør følgende kommando:
b. Opprette en Kibana bruker(hvis nødvendig)
Hvis du vil bruke en dedikert bruker for Kibana, kan du opprette en med følgende kommando:
For å bruke et token i stedet for et passord, kan du opprette et med følgende kommando:
5. Feilsøking
Hvis du støter på feil, kan du sjekke beholderloggene ved å bruke:
For å starte på nytt Kibana:
Fullt innhold i Docker Compose filen
Nedenfor er hele innholdet i docker-compose-els.yml
filen:
Konklusjon
Med denne Docker Compose konfigurasjonen kan du enkelt distribuere Elasticsearch og Kibana betjene dine behov for datasøk, analyse og visualisering. Tilpass og utvide denne konfigurasjonen for å passe de spesifikke kravene til prosjektet ditt!