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
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ