Denna handledning visar hur du skapar en Docker-bild som integrerar Elasticsearch, Kibana och Logstash. Du kan sedan använda bilden för att distribuera ELK-stacken på valfri Docker-behållare.
Komma igång
För den här guiden börjar vi med att installera och konfigurera Docker på ett system. När vi har konfigurerat Docker kommer vi att distribuera en container som kör Elasticsearch, Kibana och Logstash i samma system. I den behållaren kan vi sedan justera och anpassa Elastic Stack efter våra behov.
När vi väl har lämplig ELK-stack exporterar vi Docker-behållaren till en bild som du kan använda för att bygga andra behållare.
Steg 1: Installera Docker
Det allra första vi behöver göra är att installera Docker på ett system. För denna handledning använder vi Debian 10 som bassystem.
Det allra första steget är att uppdatera apt-paketen med följande kommando:
sudo apt-get-uppdateringDärefter måste vi installera några paket som gör att vi kan använda apt över HTTPS, vilket vi kan göra med följande kommando:
sudo apt-get install apt-transport-https ca-certifikat curl gnupg-agent programvaruegenskaper-gemensammaNästa steg är att lägga till Docker-förvarets GPG-nyckel med kommandot:
curl -fsSL https: // nedladdning.hamnarbetare.com / linux / debian / gpg | sudo apt-key add -Därifrån måste vi lägga till Docker-förvaret till apt med kommandot:
sudo add-apt-repository "deb [arch = amd64] https: // nedladdning.hamnarbetare.com / linux / debian $ (lsb_release -cs) stabil "Nu kan vi uppdatera paketindex och installera Docker:
sudo apt-get-uppdateringsudo apt-get install docker-ce docker-ce-cli containerd.io
Steg 2: Dra ELK Docker Image
Nu när vi har Docker igång på systemet måste vi dra en Docker-behållare som innehåller ELK-stacken.
För denna illustration använder vi elk-docker-bilden som är tillgänglig i Docker-registret.
Använd kommandot nedan för att dra Docker-bilden.
sudo docker pull sebp / älgNär bilden har dragits framgångsrikt från dockerregistret kan vi skapa en dockerbehållare med kommandot:
sudo docker run -p 5601: 5601 -p 9200: 9200 -p 5044: 5044 -it --namn elkstack sebp / elkNär du har skapat behållaren startas alla tjänster (Elasticsearch, Kibana och Logstash) automatiskt och exponeras för ovanstående portar.
Du kan komma åt tjänsterna med adresserna
- http: // localhost: 9200 - Elasticsearch
- http: // localhost: 5601 - Kibana web
- http: // localhost: 5044 - Logstash
Steg 3: Ändra behållaren
När ELK är igång på Container kan vi lägga till data, ändra inställningarna och anpassa det för att möta våra behov.
För enkelhets skull kommer vi att lägga till exempeldata från Kibana Web för att testa det.
På försökssidan för Kibana väljer du Prova provdata för att importera provet.
Välj data som ska importeras och klicka på Lägg till data
Nu när vi har importerat och modifierat behållaren kan vi exportera den för att skapa en anpassad älgavbildning som vi kan använda för alla Docker-avbildningar.
Steg 4: Skapa ELK Docker-bild från Container
Med alla ändringar i Elastic stack-behållaren kan vi exportera behållaren till en bild med ett enda kommando som:
docker commit c3f279d17e0a myrepo / elkstack: version2Med hjälp av kommandot ovan skapade vi bilden elkstack med taggversion2 till dockerförvaret myrepo. Detta sparar alla ändringar som vi har gjort från behållaren och du kan använda den för att skapa andra behållare.
Slutsats
Den här snabba och enkla guiden visade dig hur du skapar en anpassad ELK-bild för Docker med ändringar. För dem som har erfarenhet av Docker kan du använda Dockerfiles för att utföra samma uppgifter men med mer komplexitet.