Denne vejledning viser dig, hvordan du opretter et Docker-billede, der integrerer Elasticsearch, Kibana og Logstash. Du kan derefter bruge billedet til at implementere ELK-stakken på enhver Docker-container.
Kom godt i gang
For denne vejledning starter vi med at installere og konfigurere Docker på et system. Når vi har konfigureret Docker, vil vi installere en container, der kører Elasticsearch, Kibana og Logstash i det samme system. I den beholder kan vi derefter tilpasse og tilpasse elastisk stak til vores behov.
Når vi har den rette ELK-stak, eksporterer vi Docker-containeren til et billede, du kan bruge til at bygge andre containere.
Trin 1: Installer Docker
Den allerførste ting, vi skal gøre, er at installere Docker på et system. Til denne vejledning bruger vi Debian 10 som basissystemet.
Det allerførste trin er at opdatere apt-pakkerne ved hjælp af følgende kommando:
sudo apt-get opdateringDernæst skal vi installere nogle pakker, der giver os mulighed for at bruge apt over HTTPS, hvilket vi kan gøre ved hjælp af følgende kommando:
sudo apt-get install apt-transport-https ca-certifikater krølle gnupg-agent software-egenskaber-fællesDet næste trin er at tilføje Docker repository GPG-nøglen ved hjælp af kommandoen:
krølle -fsSL https: // download.docker.com / linux / debian / gpg | sudo apt-key tilføj -Derfra skal vi tilføje Docker-lageret til apt ved hjælp af kommandoen:
sudo add-apt-repository "deb [arch = amd64] https: // download.docker.com / linux / debian $ (lsb_release -cs) stabil "Nu kan vi opdatere pakkeindekset og installere Docker:
sudo apt-get opdateringsudo apt-get install docker-ce docker-ce-cli containerd.io
Trin 2: Træk ELK Docker-billede
Nu hvor vi har Docker kørende på systemet, skal vi trække en Docker-container indeholdende ELK-stakken.
Til denne illustration bruger vi elk-docker-billedet, der er tilgængeligt i Docker-registreringsdatabasen.
Brug kommandoen nedenfor til at trække Docker-billedet.
sudo docker pull sebp / elkNår billedet er trukket med succes fra docker-registreringsdatabasen, kan vi oprette en docker-container ved hjælp af kommandoen:
sudo docker run -p 5601: 5601 -p 9200: 9200 -p 5044: 5044 -it --navn elkstack sebp / elkNår du opretter Containeren, startes alle tjenester (Elasticsearch, Kibana og Logstash) automatisk og udsættes for de ovennævnte porte.
Du kan få adgang til tjenesterne med adresserne
- http: // localhost: 9200 - Elasticsearch
- http: // localhost: 5601 - Kibana-web
- http: // localhost: 5044 - Logstash
Trin 3: Ændring af beholderen
Når vi har ELK kørt på containeren, kan vi tilføje data, ændre indstillingerne og tilpasse dem til vores behov.
Af enkelheds skyld tilføjer vi eksempeldata fra Kibana Web for at teste det.
På forsiden af Kibana-startsiden skal du vælge Prøv eksemplerdata for at importere prøve.
Vælg de data, der skal importeres, og klik på tilføj data
Nu hvor vi har importeret og ændret containeren, kan vi eksportere den for at oprette et brugerdefineret Elk-billede, som vi kan bruge til ethvert Docker-billede.
Trin 4: Opret ELK Docker-billede fra Container
Med alle ændringer i den elastiske stakbeholder kan vi eksportere containeren til et billede ved hjælp af en enkelt kommando som:
docker commit c3f279d17e0a myrepo / elkstack: version2Ved hjælp af ovenstående kommando oprettede vi billedet elkstack med tag version2 til docker repository myrepo. Dette gemmer alle de ændringer, vi har foretaget fra containeren, og du kan bruge den til at oprette andre containere.
Konklusion
Denne hurtige og enkle guide viste dig, hvordan du opretter et brugerdefineret ELK-billede til Docker med ændringer. For dem, der har erfaring med Docker, kan du bruge Dockerfiles til at udføre de samme opgaver, men med mere kompleksitet.