Този урок ще ви покаже как да създадете образ на Docker, който интегрира Elasticsearch, Kibana и Logstash. След това можете да използвате изображението, за да разположите стека ELK на всеки контейнер на Docker.
Приготвяме се да започнем
За това ръководство ще започнем с инсталиране и настройка на Docker в система. След като настроим Docker, ще разположим контейнер с Elasticsearch, Kibana и Logstash в същата система. След това в този контейнер можем да променим и персонализираме Elastic Stack според нашите нужди.
След като имаме подходящия стек ELK, ще експортираме контейнера на Docker в изображение, което можете да използвате за изграждане на други контейнери.
Стъпка 1: Инсталирайте Docker
Първото нещо, което трябва да направим, е да инсталираме Docker в система. За този урок използваме Debian 10 като основна система.
Първата стъпка е да актуализирате пакетите apt, като използвате следната команда:
sudo apt-get updateСлед това трябва да инсталираме някои пакети, които ще ни позволят да използваме apt през HTTPS, което можем да направим, като използваме следната команда:
sudo apt-get инсталиране apt-transport-https ca-сертификати curl gnupg-agent software-properties-commonСледващата стъпка е да добавите GPG ключа на хранилището на Docker с помощта на командата:
curl -fsSL https: // изтегляне.докер.com / linux / debian / gpg | sudo apt-key add -Оттам трябва да добавим хранилището на Docker към apt с помощта на командата:
sudo add-apt-repository "deb [arch = amd64] https: // изтегляне.докер.com / linux / debian $ (lsb_release -cs) стабилен "Сега можем да актуализираме индекса на пакета и да инсталираме Docker:
sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io
Стъпка 2: Издърпване на изображението на ELK Docker
След като вече имаме и работи Docker в системата, трябва да издърпаме контейнер на Docker, съдържащ стека ELK.
За тази илюстрация ще използваме изображението на elk-docker, налично в регистъра на Docker.
Използвайте командата по-долу, за да издърпате изображението на Docker.
sudo docker pull sebp / elkСлед като изображението бъде изтеглено успешно от регистъра на докерите, можем да създадем контейнер на докер с помощта на командата:
sudo docker run -p 5601: 5601 -p 9200: 9200 -p 5044: 5044 -it --name elkstack sebp / elkСлед като създадете контейнера, всички услуги (Elasticsearch, Kibana и Logstash) ще бъдат стартирани автоматично и ще бъдат изложени на горните портове.
Можете да получите достъп до услугите с адресите
- http: // localhost: 9200 - Elasticsearch
- http: // localhost: 5601 - Kibana web
- http: // localhost: 5044 - Logstash
Стъпка 3: Модифициране на контейнера
След като ELK стартира и работи на контейнера, можем да добавяме данни, да променяме настройките и да ги персонализираме, за да отговорим на нашите нужди.
За по-голяма простота ще добавим примерни данни от Kibana Web, за да ги тестваме.
На главната начална страница на Kibana изберете Опитайте примерни данни, за да импортирате проба.
Изберете данните за импортиране и кликнете върху добавяне на данни
След като импортирахме и модифицирахме контейнера, можем да го експортираме, за да създадем персонализирано изображение на Elk, което можем да използваме за всяко изображение на Docker.
Стъпка 4: Създайте изображение на ELK Docker от контейнера
С всички промени в контейнера за стек Elastic, можем да експортираме контейнера в изображение, използвайки една команда като:
docker фиксиране c3f279d17e0a myrepo / elkstack: версия2Използвайки горната команда, създадохме изображението elkstack с етикет version2 към хранилището на докер myrepo. Това запазва всички промени, които направихме от контейнера, и можете да го използвате за създаване на други контейнери.
Заключение
Това бързо и просто ръководство ви показа как да създадете персонализирано ELK изображение за Docker с промени. За тези, които имат опит с Docker, можете да използвате Dockerfiles за изпълнение на същите задачи, но с по-голяма сложност.