În acest articol, vom explora cum să implementăm Elasticsearch și Kibana să folosim Docker Compose. Acestea sunt două componente cheie ale ELK Stack( Elasticsearch, Logstash, Kibana), ajutându-vă să căutați, să analizați și să vizualizați datele în mod eficient. Mai jos sunt configurațiile detaliate și cum funcționează fiecare componentă.
1. Elasticsearch
o. Configurație de bază
Elasticsearch este configurat să ruleze într-un container Docker cu următorii parametri:
Imagine: este folosită imaginea oficială Elasticsearch, versiunea
8.17.2
.Modul cu un singur nod: activat prin variabila de mediu
discovery.type=single-node
.Securitate: securitatea X-Pack este activată(
xpack.security.enabled=true
), iar parola pentruelastic
utilizator este setată laYVG6PKplG6ugGOw
.Rețea: Elasticsearch ascultă pe toate interfețele de rețea(
network.host=0.0.0.0
).JVM Memory: Configurat cu
-Xms1g
(memorie inițială) și-Xmx1g
(memorie maximă).
b. Ports şi Volumes
Ports: Portul
9200
(HTTP) și9300
(comunicația internă) sunt mapate de la container la gazdă.Volumes: Datele Elasticsearch sunt stocate în
elasticsearch-data
volum.
c. Controlul de sănătate
O verificare a stării de sănătate este configurată pentru a monitoriza Elasticsearch starea apelând /_cluster/health
API-ul cu elastic
utilizatorul. Dacă API-ul nu răspunde, containerul va reporni.
2. Kibana
o. Configurație de bază
Kibana este configurat să se conecteze Elasticsearch și să ruleze într-un container Docker cu următorii parametri:
Imagine: este folosită imaginea oficială Kibana, versiunea
8.17.2
.Elasticsearch Conexiune: adresa Elasticsearch este setată la
http://elasticsearch:9200
.Autentificare: Kibana folosește
kibana_user
cu parolaYVG6PKplG6ugGOw
pentru a se conecta la Elasticsearch.
b. Ports și Rețele
Ports: Portul
5601
este mapat de la container la gazdă pentru a accesa Kibana interfața.Rețele: Kibana este conectat la
elk-network
.
c. Dependenta de Elasticsearch
Kibana pornește numai după ce Elasticsearch este gata, asigurând o conexiune de succes între cele două servicii.
3. Volum și Rețea
o. Volum
elasticsearch-data: Acest volum este folosit pentru stocarea Elasticsearch datelor, asigurând persistența datelor chiar dacă containerul este șters.
b. Reţea
elk-network:
bridge
Se creează o rețea pentru a se conecta Elasticsearch și Kibana a presta servicii.
4. Cum se utilizează
o. Pornirea Serviciilor
Pentru a porni Elasticsearch și Kibana, executați următoarea comandă:
b. Crearea unui Kibana utilizator(dacă este necesar)
Dacă doriți să utilizați un utilizator dedicat pentru Kibana, puteți crea unul cu următoarea comandă:
Pentru a utiliza o token parolă în loc de parolă, puteți crea una cu următoarea comandă:
5. Depanare
Dacă întâmpinați erori, puteți verifica jurnalele containerului folosind:
Pentru a reporni Kibana:
Conținutul integral al Docker Compose fișierului
Mai jos este conținutul complet al docker-compose-els.yml
fișierului:
Concluzie
Cu această Docker Compose configurație, puteți implementa cu ușurință Elasticsearch și Kibana pentru a răspunde nevoilor dvs. de căutare, analiză și vizualizare a datelor. Personalizați și extindeți această configurație pentru a se potrivi cerințelor specifice ale proiectului dumneavoastră!