I den här artikeln kommer vi att utforska hur man distribuerar Elasticsearch och Kibana använder Docker Compose. Dessa är två nyckelkomponenter i ELK Stack( Elasticsearch, Logstash, Kibana), som hjälper dig att söka, analysera och visualisera data effektivt. Nedan finns de detaljerade konfigurationerna och hur varje komponent fungerar.
1. Elasticsearch
a. Grundläggande konfiguration
Elasticsearch är konfigurerad att köras i en Docker-behållare med följande parametrar:
Bild: Den officiella Elasticsearch bilden, version
8.17.2
, används.Enkelnodsläge: Aktiverat via miljövariabeln
discovery.type=single-node
.Säkerhet: X-Pack-säkerhet är aktiverat(
xpack.security.enabled=true
), och lösenordet förelastic
användaren är inställt påYVG6PKplG6ugGOw
.Nätverk: Elasticsearch lyssnar på alla nätverksgränssnitt(
network.host=0.0.0.0
).JVM-minne: Konfigurerad med
-Xms1g
(initial minne) och-Xmx1g
(maximalt minne).
b. Ports och Volumes
Ports: Port
9200
(HTTP) och9300
(intern kommunikation) mappas från behållaren till värden.Volumes: Elasticsearch-data lagras i
elasticsearch-data
volymen.
c. Hälsokontroll
En hälsokontroll ställs in för att övervaka Elasticsearch status genom att anropa /_cluster/health
API:t med elastic
användaren. Om API:et inte svarar kommer behållaren att startas om.
2. Kibana
a. Grundläggande konfiguration
Kibana är konfigurerad för att ansluta till Elasticsearch och köras i en Docker-behållare med följande parametrar:
Bild: Den officiella Kibana bilden, version
8.17.2
, används.Elasticsearch Anslutning: Adressen Elasticsearch är inställd på
http://elasticsearch:9200
.Autentisering: Kibana använder
kibana_user
med lösenordetYVG6PKplG6ugGOw
för att ansluta till Elasticsearch.
b. Ports och nätverk
Ports: Porten
5601
mappas från behållaren till värden för att komma åt Kibana gränssnittet.Nätverk: Kibana är ansluten till
elk-network
.
c. Beroende av Elasticsearch
Kibana startar först efter Elasticsearch att den är klar, vilket säkerställer en framgångsrik anslutning mellan de två tjänsterna.
3. Volym och nätverk
a. Volym
elasticsearch-data: Denna volym används för att lagra Elasticsearch data, vilket säkerställer databeständighet även om behållaren raderas.
b. Nätverk
elk-nätverk: Ett
bridge
nätverk skapas för att ansluta Elasticsearch och Kibana tjänster.
4. Hur man använder
a. Starta tjänsterna
För att starta Elasticsearch och Kibana kör följande kommando:
b. Skapa en Kibana användare(om det behövs)
Om du vill använda en dedikerad användare för Kibana kan du skapa en med följande kommando:
För att använda ett token istället för ett lösenord kan du skapa ett med följande kommando:
5. Felsökning
Om du stöter på fel kan du kontrollera behållarloggarna med:
För att starta om Kibana:
Docker Compose Filens fullständiga innehåll
Nedan är hela innehållet i docker-compose-els.yml
filen:
Slutsats
Med den här Docker Compose konfigurationen kan du enkelt distribuera Elasticsearch och Kibana tjäna dina behov av datasökning, analys och visualisering. Anpassa och utöka denna konfiguration för att passa de specifika kraven i ditt projekt!