7.1 Компоненти ELK Stack
ELK Stack, який складається з Elasticsearch, Logstash і Kibana, є потужним інструментом для централізованого логування та аналізу даних. Він дозволяє збирати, зберігати, аналізувати та візуалізувати логи з різних джерел, включаючи Docker-контейнери. У цій лекції ми детально розглянемо, як налаштувати ELK Stack для централізованого логування Docker-контейнерів.
Компоненти ELK Stack
- Elasticsearch — розподілена пошукова та аналітична система, що використовується для зберігання та пошуку логів.
- Logstash — інструмент для збору, обробки та передачі логів у Elasticsearch.
- Kibana — веб-інтерфейс для візуалізації та аналізу даних, які зберігаються в Elasticsearch.
7.2 Встановлення Elasticsearch
На Linux
1. Додавання репозиторію Elasticsearch
Завантажте та встановіть публічний ключ репозиторію:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Додайте репозиторій Elasticsearch:
sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > \
/etc/apt/sources.list.d/elastic-7.x.list'
sudo apt-get update
2. Встановлення Elasticsearch
sudo apt-get install elasticsearch
3. Запуск і ввімкнення автозапуску Elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
На MacOS
1. Встановлення через Homebrew
brew update
brew install elasticsearch
2. Запуск Elasticsearch
elasticsearch
На Windows
1. Завантаження інсталяційного файлу
Завантажте останню версію Elasticsearch з офіційного сайту: https://www.elastic.co/downloads/elasticsearch.
2. Встановлення Elasticsearch
Запустіть завантажений інсталяційний файл і дотримуйтесь інструкцій на екрані.
3. Запуск Elasticsearch
Після встановлення перейдіть в папку з Elasticsearch і запустіть службу через PowerShell:
.\bin\elasticsearch.bat
Для автозапуску Elasticsearch додайте його в служби Windows через services.msc.
7.3 Встановлення Logstash
На Linux
1. Встановлення Logstash
Встановіть Logstash з репозиторію Elastic:
sudo apt-get install logstash
2. Налаштування Logstash
Створіть конфігураційний файл logstash.conf:
sudo nano /etc/logstash/conf.d/logstash.conf
Приклад конфігурації для збору логів Docker:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Запуск і включення автозапуску Logstash
Запустіть і включіть автозапуск Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
На MacOS
1. Встановлення Logstash через Homebrew
brew update
brew install logstash
2. Налаштування Logstash
Створіть конфігураційний файл logstash.conf в папці конфігурації Logstash:
nano /usr/local/etc/logstash/logstash.conf
Приклад конфігурації:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Запуск Logstash
Запустіть Logstash через Homebrew:
logstash -f /usr/local/etc/logstash/logstash.conf
На Windows
1. Завантаження і встановлення Logstash
Завантажте останню версію Logstash з офіційного сайту: https://www.elastic.co/downloads/logstash.
Розпакуйте архів Logstash у зручне місце (наприклад, C:\logstash).
2. Налаштування Logstash
Створіть конфігураційний файл logstash.conf в папці конфігурації Logstash:
notepad C:\logstash\config\logstash.conf
Приклад конфігурації:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Запуск Logstash
Запустіть Logstash з конфігурацією:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Встановлення Kibana
На Linux
1. Встановлення Kibana
Встановіть Kibana:
sudo apt-get install kibana
2. Запуск і ввімкнення автозапуску Kibana
Запустіть і ввімкніть автозапуск Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana буде доступна за адресою http://localhost:5601.
На MacOS
1. Встановлення Kibana через Homebrew
brew update
brew install kibana
2. Запуск Kibana
Запустіть Kibana через Homebrew:
brew services start kibana
Kibana буде доступна за адресою http://localhost:5601.
На Windows
1. Завантаження і встановлення Kibana
Завантажте останню версію Kibana з офіційного сайту: https://www.elastic.co/downloads/kibana.
Розпакуйте архів Kibana в зручне місце (наприклад, C:\kibana).
2. Запуск Kibana
Запустіть Kibana:
cd C:\kibana\bin
kibana.bat
Kibana буде доступна за адресою http://localhost:5601.
8.5 Налаштування Filebeat для збору логів Docker
На Linux
1. Встановлення Filebeat
Встановіть Filebeat з репозиторію Elastic:
sudo apt-get install filebeat
2. Конфігурація Filebeat
Налаштуйте Filebeat для збору логів Docker:
sudo nano /etc/filebeat/filebeat.yml
Приклад конфігурації:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Запуск та увімкнення автозапуску Filebeat
Запустіть та увімкніть автозапуск Filebeat:
sudo systemctl start filebeat
sudo systemctl enable filebeat
На MacOS
1. Встановлення Filebeat через Homebrew
brew update
brew install filebeat
2. Конфігурація Filebeat
Налаштуйте Filebeat, відредагувавши файл filebeat.yml:
nano /usr/local/etc/filebeat/filebeat.yml
Приклад конфігурації:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Запуск Filebeat
Запустіть Filebeat через Homebrew:
brew services start filebeat
На Windows
1. Завантаження та встановлення Filebeat
Завантажте останню версію Filebeat з офіційного сайту: https://www.elastic.co/downloads/beats/filebeat.
Розпакуйте архів Filebeat у зручне місце (наприклад, C:\filebeat).
2. Конфігурація Filebeat
Відредагуйте файл filebeat.yml:
notepad C:\filebeat\filebeat.yml
Приклад конфігурації:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Запуск Filebeat
Запустіть Filebeat:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ