Denne opplæringen viser deg hvordan du lager et Docker-bilde som integrerer Elasticsearch, Kibana og Logstash. Du kan deretter bruke bildet til å distribuere ELK-stakken på en hvilken som helst Docker-container.
Starter
For denne veiledningen starter vi med å installere og sette opp Docker på et system. Når vi har konfigurert Docker, vil vi distribuere en container som kjører Elasticsearch, Kibana og Logstash i samme system. I den beholderen kan vi deretter tilpasse og tilpasse Elastic Stack etter våre behov.
Når vi har riktig ELK-stabel, eksporterer vi Docker-containeren til et bilde du kan bruke til å bygge andre containere.
Trinn 1: Installer Docker
Det aller første vi trenger å gjøre er å installere Docker på et system. For denne opplæringen bruker vi Debian 10 som basesystem.
Det aller første trinnet er å oppdatere apt-pakkene ved hjelp av følgende kommando:
sudo apt-get oppdateringDeretter må vi installere noen pakker som lar oss bruke apt over HTTPS, som vi kan gjøre med følgende kommando:
sudo apt-get install apt-transport-https ca-Certificate curl gnupg-agent software-egenskaper-vanligNeste trinn er å legge til Docker repository GPG-nøkkelen ved hjelp av kommandoen:
krøll -fsSL https: // nedlasting.docker.no / linux / debian / gpg | sudo apt-key add -Derfra må vi legge til Docker-arkivet til apt ved hjelp av kommandoen:
sudo add-apt-repository "deb [arch = amd64] https: // nedlasting.docker.com / linux / debian $ (lsb_release -cs) stabil "Nå kan vi oppdatere pakkeindeksen og installere Docker:
sudo apt-get oppdateringsudo apt-get install docker-ce docker-ce-cli containerd.io
Trinn 2: Trekke ELK Docker Image
Nå som vi har Docker i gang på systemet, må vi trekke en Docker-container som inneholder ELK-stakken.
For denne illustrasjonen vil vi bruke elg-docker-bildet som er tilgjengelig i Docker-registeret.
Bruk kommandoen nedenfor for å trekke Docker-bildet.
sudo docker pull sebp / elkNår bildet er trukket fra dockerregisteret, kan vi opprette en dockercontainer ved hjelp av kommandoen:
sudo docker run -p 5601: 5601 -p 9200: 9200 -p 5044: 5044 -it --navn elkstack sebp / elkNår du har opprettet Container, vil alle tjenestene (Elasticsearch, Kibana og Logstash) startes automatisk og eksponeres for de ovennevnte portene.
Du kan få tilgang til tjenestene med adressene
- http: // localhost: 9200 - Elasticsearch
- http: // localhost: 5601 - Kibana web
- http: // localhost: 5044 - Logstash
Trinn 3: Endring av beholderen
Når vi har ELK i gang på Container, kan vi legge til data, endre innstillingene og tilpasse dem for å dekke våre behov.
For enkelhets skyld vil vi legge til eksempeldata fra Kibana Web for å teste det.
Velg Prøv eksempeldata for å importere prøven på hovedsiden til Kibana.
Velg dataene du vil importere, og klikk på legg til data
Nå som vi har importert og modifisert Container, kan vi eksportere den for å lage et tilpasset Elk-bilde som vi kan bruke til ethvert Docker-bilde.
Trinn 4: Opprett ELK Docker-bilde fra Container
Med alle endringene i Elastic stack container, kan vi eksportere Container til et bilde ved hjelp av en enkelt kommando som:
docker begå c3f279d17e0a myrepo / elkstack: versjon 2Ved å bruke kommandoen ovenfor opprettet vi bildet elkstack med tag version2 til docker repository myrepo. Dette lagrer alle endringene vi har gjort fra Container, og du kan bruke den til å lage andre containere.
Konklusjon
Denne raske og enkle guiden viste deg hvordan du lager et tilpasset ELK-bilde for Docker med endringer. For de som har erfaring med Docker, kan du bruke Dockerfiles til å utføre de samme oppgavene, men med mer kompleksitet.