7.1 Các thành phần của ELK Stack
ELK Stack, bao gồm Elasticsearch, Logstash và Kibana, là một công cụ mạnh mẽ để thu thập nhật ký tập trung và phân tích dữ liệu. Nó cho phép thu thập, lưu trữ, phân tích và hiển thị nhật ký từ nhiều nguồn khác nhau, bao gồm Docker containers. Trong bài giảng này, tụi mình sẽ tìm hiểu chi tiết cách cấu hình ELK Stack để thu thập nhật ký tập trung từ Docker containers.
Các thành phần của ELK Stack
- Elasticsearch — hệ thống tìm kiếm và phân tích phân tán được sử dụng để lưu trữ và tìm kiếm nhật ký.
- Logstash — công cụ để thu thập, xử lý và chuyển nhật ký vào Elasticsearch.
- Kibana — giao diện web để hiển thị và phân tích dữ liệu lưu trữ trong Elasticsearch.
7.2 Cài đặt Elasticsearch
Trên Linux
1. Thêm repository của Elasticsearch
Tải về và cài đặt public key của repository:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Thêm repository 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. Cài đặt Elasticsearch
sudo apt-get install elasticsearch
3. Khởi động và bật tự khởi động Elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
Trên MacOS
1. Cài đặt qua Homebrew
brew update
brew install elasticsearch
2. Khởi động Elasticsearch
elasticsearch
Trên Windows
1. Tải file cài đặt
Tải phiên bản mới nhất của Elasticsearch từ trang chính thức: https://www.elastic.co/downloads/elasticsearch.
2. Cài đặt Elasticsearch
Chạy file cài đặt đã tải về và làm theo hướng dẫn trên màn hình.
3. Khởi động Elasticsearch
Sau khi cài đặt, chuyển đến thư mục Elasticsearch và khởi động dịch vụ qua PowerShell:
.\bin\elasticsearch.bat
Để Elasticsearch tự khởi động, thêm nó vào dịch vụ Windows qua services.msc
.
7.3 Cài đặt Logstash
Trên Linux
1. Cài đặt Logstash
Cài đặt Logstash từ kho của Elastic:
sudo apt-get install logstash
2. Cấu hình Logstash
Tạo file cấu hình logstash.conf:
sudo nano /etc/logstash/conf.d/logstash.conf
Ví dụ cấu hình để thu thập log từ Docker:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Khởi động và bật tự động chạy Logstash
Khởi động và bật tự động chạy Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
Trên MacOS
1. Cài đặt Logstash bằng Homebrew
brew update
brew install logstash
2. Cấu hình Logstash
Tạo file cấu hình logstash.conf trong thư mục cấu hình của Logstash:
nano /usr/local/etc/logstash/logstash.conf
Ví dụ cấu hình:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Khởi động Logstash
Khởi động Logstash bằng Homebrew:
logstash -f /usr/local/etc/logstash/logstash.conf
Trên Windows
1. Tải và cài đặt Logstash
Tải phiên bản mới nhất của Logstash từ trang chính thức: https://www.elastic.co/downloads/logstash.
Giải nén file Logstash vào vị trí thuận tiện (ví dụ: C:\logstash
).
2. Cấu hình Logstash
Tạo file cấu hình logstash.conf trong thư mục cấu hình của Logstash:
notepad C:\logstash\config\logstash.conf
Ví dụ cấu hình:
input {
beats {
port => 5044
}
}
filter {
json {
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "docker-logs-%{+YYYY.MM.dd}"
}
}
3. Khởi động Logstash
Khởi động Logstash với cấu hình:
cd C:\logstash
bin\logstash.bat -f config\logstash.conf
7.4 Cài đặt Kibana
Trên Linux
1. Cài đặt Kibana
Cài đặt Kibana:
sudo apt-get install kibana
2. Khởi động và bật tự động khởi động Kibana
Khởi động và bật chế độ tự động khởi động cho Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Kibana sẽ có sẵn tại địa chỉ http://localhost:5601.
Trên MacOS
1. Cài đặt Kibana qua Homebrew
brew update
brew install kibana
2. Khởi động Kibana
Khởi động Kibana qua Homebrew:
brew services start kibana
Kibana sẽ có sẵn tại địa chỉ http://localhost:5601.
Trên Windows
1. Tải và cài đặt Kibana
Tải phiên bản mới nhất của Kibana từ trang web chính thức: https://www.elastic.co/downloads/kibana.
Giải nén file Kibana vào một vị trí thuận tiện (ví dụ, C:\kibana
).
2. Khởi động Kibana
Khởi động Kibana:
cd C:\kibana\bin
kibana.bat
Kibana sẽ có sẵn tại địa chỉ http://localhost:5601.
8.5 Cấu hình Filebeat để thu thập log của Docker
Trên Linux
1. Cài đặt Filebeat
Cài đặt Filebeat từ repository Elastic:
sudo apt-get install filebeat
2. Cấu hình Filebeat
Cấu hình Filebeat để thu thập log Docker:
sudo nano /etc/filebeat/filebeat.yml
Ví dụ cấu hình:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Khởi động và bật tự động khởi động Filebeat
Khởi động và bật tự động khởi động Filebeat:
sudo systemctl start filebeat
sudo systemctl enable filebeat
Trên MacOS
1. Cài đặt Filebeat qua Homebrew
brew update
brew install filebeat
2. Cấu hình Filebeat
Cấu hình Filebeat bằng cách chỉnh sửa file filebeat.yml
:
nano /usr/local/etc/filebeat/filebeat.yml
Ví dụ cấu hình:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Khởi động Filebeat
Khởi động Filebeat qua Homebrew:
brew services start filebeat
Trên Windows
1. Tải về và cài đặt Filebeat
Tải phiên bản mới nhất của Filebeat từ trang chính thức: https://www.elastic.co/downloads/beats/filebeat.
Giải nén Filebeat vào thư mục tiện lợi (ví dụ: C:\filebeat
).
2. Cấu hình Filebeat
Chỉnh sửa file filebeat.yml
:
notepad C:\filebeat\filebeat.yml
Ví dụ cấu hình:
filebeat.inputs:
- type: docker
containers.ids:
- '*'
processors:
- add_docker_metadata: ~
output.logstash:
hosts: ["localhost:5044"]
3. Khởi động Filebeat
Khởi động Filebeat:
cd C:\filebeat
filebeat.exe -e -c filebeat.yml
GO TO FULL VERSION