Elastic Stack (trước đây là ELK Stack) là một nhóm phần mềm nguồn mở do Elastic phát triển để thu thập dữ liệu từ nhiều nguồn khác nhau. Nó cho phép bạn thu thập, lưu trữ, xử lý, phân tích và trực quan hóa dữ liệu từ nhiều nguồn khác nhau ở bất kỳ định dạng nào trên nền tảng Elastic Stack trung tâm.
Elastic Stack bao gồm một số gói phần mềm: "Elasticsearch" để lưu trữ dữ liệu của bạn, "Kibana" là bảng điều khiển để truy cập và trực quan hóa dữ liệu của bạn, đường ống thu thập dữ liệu động "Logstash" với các plugin có thể mở rộng để xử lý bất kỳ dữ liệu nào và "Beats" là nền tảng vận chuyển dữ liệu nhẹ gửi dữ liệu từ các máy biên.
Elastic Stack có thể được triển khai trên Promises trên máy chủ của bạn hoặc bạn có thể mua SaaS (Phần mềm dưới dạng dịch vụ) chính thức của Elastic Cloud.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Elastic Stack trên máy chủ Ubuntu 20.04. Chúng tôi sẽ cài đặt Elasticsearch và Kibana trên cùng một máy chủ, sau đó cài đặt và cấu hình "Filebeat" trên máy chủ còn lại để gửi nhật ký trực tiếp đến máy chủ Elasticsearch.
Chúng ta sẽ làm gì?
Trước khi thực hiện bất kỳ bước nào khác, hãy cài đặt 'apt-transport-https' để bảo mật cài đặt phần mềm của bạn thông qua kết nối bảo mật HTTPS.
Tiếp theo, thêm khóa GPG và kho lưu trữ của ngăn xếp Elastic bằng cách sử dụng lệnh sau lệnh.
Bây giờ hãy cập nhật tất cả các kho lưu trữ có sẵn trên hệ thống Ubuntu.
Và bạn đã sẵn sàng cài đặt tất cả các phần mềm Elastic trên cả hai máy chủ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22268%22%3E%3C/svg%3E
Trước khi cài đặt Elasticsearch, hãy chỉnh sửa tệp '/etc/hosts' bằng vim biên tập viên.
Bây giờ hãy nhập tên máy chủ của bạn với địa chỉ IP nội bộ như bên dưới.
Lưu và đóng.
Tiếp theo, cài đặt gói Elasticsearch bằng lệnh apt bên dưới.
Sau khi hoàn tất cài đặt, hãy vào thư mục '/etc/elasticsearch' và chỉnh sửa tệp cấu hình 'elasticsearch.yml'.
Bỏ chú thích 'node.name' và nhập máy chủ của bạn hostname.
Trên dòng 'network.host', nhập địa chỉ IP máy chủ mà dịch vụ elasticsearch sẽ chạy và khuyến nghị chỉ sử dụng địa chỉ IP nội bộ duy nhất.
Bỏ chú thích dòng 'http.port' và giữ nguyên mặc định, dịch vụ elasticsearch sẽ chạy trên cổng mặc định '9200'.
Bỏ chú thích dòng 'cluster.initial_master_nodes' và nhập tên máy chủ của bạn.
Và cuối cùng, hãy bật bảo mật Elasticsearch bằng cách thêm cấu hình sau vào cuối dòng.
Lưu và đóng.
Tiếp theo, tải lại trình quản lý dịch vụ systemd, sau đó khởi động dịch vụ elasticsearch và thêm vào hệ thống khởi động.
Dịch vụ Elasticsearch đang hoạt động trên Ubuntu 20.04 Server.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22188%22%3E%3C/svg%3E
Tiếp theo, chúng ta sẽ tạo mật khẩu cho người dùng tích hợp trên Elasticsearch.
Vào thư mục '/usr/share/elasticsearch' và chạy lệnh tiện ích elasticsearch 'elasticsearch-setup-passwords' như bên dưới.
Nhập 'y' để xác nhận và tạo mật khẩu.
Dưới đây là kết quả bạn sẽ lấy.
Như có thể thấy, mật khẩu cho một số người dùng tích hợp trên elasticsearch đã được tạo.
Hình ảnh
Để kiểm tra cài đặt Elasticsearch của chúng tôi, hãy chạy lệnh curl với người dùng mặc định 'elastic' như bên dưới.
Nhập mật khẩu cho Người dùng 'elastic' và bên dưới là kết quả bạn sẽ nhận được.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22689%22%20height=%22427%22%3E%3C/svg%3E
Kết quả là máy chủ Elasticsearch đã hoạt động và xác thực được bật.
Cài đặt Kibana bằng lệnh apt bên dưới.
Sau khi hoàn tất cài đặt, hãy vào thư mục '/etc/kibana' và chỉnh sửa cấu hình 'kibana.yml' bằng vim biên tập viên.
Bỏ chú thích các dòng sau và thay đổi giá trị theo ý bạn. Nên chạy Kibana trên mạng cục bộ vì chúng ta sẽ sử dụng Nginx làm proxy ngược cho Kibana.
Sau đó, thay đổi 'elasticsearch.url' bằng địa chỉ IP elasticsearch của bạn.
Bỏ chú thích cho "elasticsearch.username" sau và dòng 'elasticsearch.password' và thay đổi thông tin chi tiết với người dùng và mật khẩu bằng thông tin của riêng bạn.
Lưu và đóng.
Tiếp theo, tải lại trình quản lý systemd bằng lệnh sau.
Sau đó, khởi động dịch vụ Kibana và thêm dịch vụ này vào hệ thống khởi động.
Và dịch vụ Kibana đã hoạt động trên hệ thống Ubuntu 20.04.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22216%22%3E%3C/svg%3E
Tiếp theo, chúng ta sẽ tạo một người dùng mới sẽ được sử dụng để đăng nhập vào bảng điều khiển Kibana.
Tạo một người dùng mới có tên 'hakase' và mật khẩu 'hakasepasskibana' với vai trò 'kibana_admin' như bên dưới.
Nhập mật khẩu cho người dùng 'elastic' và bạn sẽ nhận được kết quả như bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22175%22%3E%3C/svg%3E
Kết quả là, người dùng mới 'hakase' đã được tạo và sẽ có thể đăng nhập vào bảng điều khiển Kibana.
Cài đặt các gói Nginx bằng lệnh apt bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy vào thư mục '/etc/nginx/sites-available/' và tạo một tệp máy chủ ảo mới 'kibana' bằng trình soạn thảo vim.
Thay đổi tên miền và địa chỉ IP 'proxy_pass' bằng tên miền của riêng bạn, sau đó dán vào đó.
Lưu và đóng.
Tiếp theo, kích hoạt máy chủ ảo Nginx cho Kibana và xác minh cấu hình Nginx.
Đảm bảo không có lỗi, sau đó khởi động lại dịch vụ Nginx.
Kết quả là quá trình cài đặt và cấu hình Nginx làm Proxy ngược cho Kibana đã hoàn tất. Và bảng điều khiển Kibana hiện có thể truy cập thông qua tên miền 'elk.hakase-labs.io'.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E
Mở trình duyệt web của bạn và nhập tên miền cài đặt Kibana của bạn vào thanh địa chỉ.
http://elk.hakase-labs.io/
Và bạn sẽ nhận được trang đăng nhập Kibana như bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22274%22%3E%3C/svg%3E
Nhập tên người dùng 'hakase' với mật khẩu 'hakasepass' và nhấp vào nút 'Đăng nhập'.
Sau khi đăng nhập, bạn sẽ được yêu cầu nhập dữ liệu mẫu hoặc khám phá dữ liệu của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22336%22%3E%3C/svg%3E
Nhấp vào nút 'Khám phá dữ liệu của riêng tôi'.
Bây giờ bạn sẽ nhận được Bảng điều khiển Kibana như bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22386%22%3E%3C/svg%3E
Kết quả là, Cài đặt Kibana và Nginx đã hoàn tất.
Trước khi cài đặt "Filebeat", hãy đảm bảo rằng kho lưu trữ Elastic Stack đã được thêm vào hệ thống của bạn.
Bây giờ hãy cài đặt gói filebeat bằng lệnh apt bên dưới.
Sau khi hoàn tất quá trình cài đặt, hãy vào thư mục '/etc/filebeat' và chỉnh sửa cấu hình 'filebeat.yml' bằng vim biên tập viên.
Trên đầu cấu hình 'filebeat.inputs', hãy thay đổi 'enabled: false' thành 'enabled: true' như bên dưới.
Tiếp theo, chuyển đến cấu hình Kibana và thay đổi máy chủ bằng địa chỉ IP và cổng Kibana, thay đổi tên người dùng bằng người dùng mặc định 'kibana' và mật khẩu được tạo trên top.
Sau đó, di chuyển đến cấu hình 'output.elasticsearch' và thay đổi chi tiết theo ý bạn.
Lưu và đóng.
Bây giờ hãy tải lại trình quản lý systemd, khởi động dịch vụ filebeat và thêm nó vào hệ thống khởi động.
Dịch vụ filebeat đang hoạt động trên máy "client01".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22207%22%3E%3C/svg%3E
Tiếp theo, chúng ta cần tải mẫu chỉ mục filebeat lên máy chủ Elasticsearch bằng cách sử dụng lệnh sau lệnh.
Dưới đây là kết quả bạn sẽ nhận được.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22105%22%3E%3C/svg%3E
Kết quả là, mẫu chỉ mục filebeat được tải lên máy chủ Elasticsearch và sẽ có sẵn trên Bảng điều khiển Kibana dưới dạng mẫu chỉ mục 'filebeat-*'.
Tạo một vai trò mới có tên 'events_index' cho phép người dùng chỉ quản lý các chỉ mục trên máy chủ Elasticsearch bằng lệnh sau.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22190%22%3E%3C/svg%3E
Sau đó, hãy kiểm tra vai trò 'events_index' bằng lệnh bên dưới.
Dưới đây là kết quả bạn sẽ nhận được.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22446%22%3E%3C/svg%3E
Như có thể thấy, vai trò 'events_index' sẽ chỉ có quyền quản lý các chỉ mục.
Tiếp theo, thêm vai trò 'events_index' vào người dùng 'hakase' của chúng ta bằng lệnh bên dưới.
Nhập mật khẩu cho Người dùng 'elastic' và vai trò 'events_index' đã được chỉ định cho người dùng 'hakase'.
Kiểm tra tất cả các vai trò có sẵn của người dùng 'hakase' bằng lệnh sau.
Dưới đây là kết quả bạn sẽ nhận được.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22360%22%3E%3C/svg%3E
Kết quả là chúng tôi đã tạo một vai trò mới trong việc quản lý các chỉ mục trên máy chủ Elasticsearch.
Trên phần "Kibana", nhấp vào "Mẫu chỉ mục".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22272%22%3E%3C/svg%3E
Nhấp vào nút "Tạo mẫu chỉ mục" để tạo mẫu chỉ mục mới.
Trên trường "mẫu chỉ mục", nhập "filebeat-*" và nhấp vào nút "Bước tiếp theo".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22280%22%3E%3C/svg%3E
Trên "Tên trường bộ lọc thời gian", chọn "@timestamp" và nhấp vào nút "Tạo mẫu chỉ mục".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22276%22%3E%3C/svg%3E
Và Mẫu chỉ mục "filebeat-*" đã được tạo và được chọn làm mẫu chỉ mục mặc định (nếu bạn chưa có mẫu chỉ mục nào trước đó).
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22347%22%3E%3C/svg%3E
Và bạn sẽ nhận được tất cả dữ liệu được filebeat thu thập từ máy "client01".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22387%22%3E%3C/svg%3E
Để hiển thị dữ liệu dựa trên bộ lọc của bạn, bạn có thể sử dụng "KQL" hoặc Ngôn ngữ truy vấn Kibana.
Nhập truy vấn sau vào trường "KQL".
Và bạn sẽ nhận được tất cả thông tin về xác thực SSH trên Máy "client01".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Kết quả là quá trình cài đặt Elastic Stack với tính năng bảo mật được bật trên Ubuntu 20.04 đã hoàn tất thành công.
Elastic Stack bao gồm một số gói phần mềm: "Elasticsearch" để lưu trữ dữ liệu của bạn, "Kibana" là bảng điều khiển để truy cập và trực quan hóa dữ liệu của bạn, đường ống thu thập dữ liệu động "Logstash" với các plugin có thể mở rộng để xử lý bất kỳ dữ liệu nào và "Beats" là nền tảng vận chuyển dữ liệu nhẹ gửi dữ liệu từ các máy biên.
Elastic Stack có thể được triển khai trên Promises trên máy chủ của bạn hoặc bạn có thể mua SaaS (Phần mềm dưới dạng dịch vụ) chính thức của Elastic Cloud.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Elastic Stack trên máy chủ Ubuntu 20.04. Chúng tôi sẽ cài đặt Elasticsearch và Kibana trên cùng một máy chủ, sau đó cài đặt và cấu hình "Filebeat" trên máy chủ còn lại để gửi nhật ký trực tiếp đến máy chủ Elasticsearch.
Yêu cầu
Đối với hướng dẫn này, chúng tôi sẽ sử dụng hai máy chủ chạy Ubuntu 20.04. Phần mềm Elastic Stack sẽ được cài đặt trên máy chủ có RAM 4 GB và chúng tôi sẽ sử dụng một máy chủ khác có RAM 1 GB làm máy khách cho Filebeat.Chúng ta sẽ làm gì?
- Thêm kho lưu trữ Elastic Stack
- Cài đặt và định cấu hình Elasticsearch
- Cài đặt và định cấu hình Kibana
- Thiết lập Nginx làm Proxy ngược cho Kibana
- Cài đặt và định cấu hình Filebeat
- Thiết lập vai trò mới cho người dùng Kibana
- Tạo mẫu chỉ mục mới Filebeat
Bước 1 - Thêm kho lưu trữ Elastic Stack
Đầu tiên, chúng tôi sẽ thêm khóa GPG và kho lưu trữ của phần mềm Elastic stack vào cả hai máy chủ Ubuntu.Trước khi thực hiện bất kỳ bước nào khác, hãy cài đặt 'apt-transport-https' để bảo mật cài đặt phần mềm của bạn thông qua kết nối bảo mật HTTPS.
Mã:
sudo apt install apt-transport-https
Mã:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22268%22%3E%3C/svg%3E
Bước 2 - Cài đặt và cấu hình Elasticsearch
Trong bước này, chúng ta sẽ cài đặt và cấu hình Elasticsearch trên máy chủ một nút 'ELK20' với địa chỉ IP nội bộ '172.16.0.3'.Trước khi cài đặt Elasticsearch, hãy chỉnh sửa tệp '/etc/hosts' bằng vim biên tập viên.
Mã:
vim /etc/hosts
Mã:
172.16.0.3 ELK20
Tiếp theo, cài đặt gói Elasticsearch bằng lệnh apt bên dưới.
Mã:
sudo apt install elasticsearch
Mã:
cd /etc/elasticsearch/
vim elasticsearch.yml
Mã:
node.name: ELK20
Mã:
network.host: 172.16.0.3
Mã:
http.port: 9200
Mã:
cluster.initial_master_nodes: ["ELK20"]
Mã:
xpack.security.enabled: true
Tiếp theo, tải lại trình quản lý dịch vụ systemd, sau đó khởi động dịch vụ elasticsearch và thêm vào hệ thống khởi động.
Mã:
systemctl daemon-reload
systemctl start elasticsearch
systemctl enable elasticsearch
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22188%22%3E%3C/svg%3E
Tiếp theo, chúng ta sẽ tạo mật khẩu cho người dùng tích hợp trên Elasticsearch.
Vào thư mục '/usr/share/elasticsearch' và chạy lệnh tiện ích elasticsearch 'elasticsearch-setup-passwords' như bên dưới.
Mã:
cd /usr/share/elasticsearch/
bin/elasticsearch-setup-passwords auto -u "http://172.16.0.3:9200"
Mã:
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N] y
Mã:
Changed password for user apm_system
PASSWORD apm_system = DP5RpFfbCyL6UpIFO8Q3
Changed password for user kibana_system
PASSWORD kibana_system = U6gDLoJCqqChqcbD1IYV
Changed password for user kibana
PASSWORD kibana = U6gDLoJCqqChqcbD1IYV
Changed password for user logstash_system
PASSWORD logstash_system = KrHaGvHGfkAz12dcSeWo
Changed password for user beats_system
PASSWORD beats_system = VnUUOtShQoFAGEZ62G7m
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = xgaLXw6jp3Ses6CZ2hEB
Changed password for user elastic
PASSWORD elastic = elu2ZlMm4mOkM7fgCeUM
Hình ảnh
Để kiểm tra cài đặt Elasticsearch của chúng tôi, hãy chạy lệnh curl với người dùng mặc định 'elastic' như bên dưới.
Mã:
curl -X GET -u elastic "http://172.16.0.3:9200/?pretty"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22689%22%20height=%22427%22%3E%3C/svg%3E
Kết quả là máy chủ Elasticsearch đã hoạt động và xác thực được bật.
Bước 3 - Cài đặt và cấu hình Kibana
Trong bước này, chúng ta sẽ cài đặt và cấu hình Kibana trên cùng một máy chủ với Elasticsearch. Chúng tôi sẽ kết nối Kibana với máy chủ Elasticsearch với người dùng mặc định 'kibana_system' và mật khẩu được tạo ở trên cùng.Cài đặt Kibana bằng lệnh apt bên dưới.
Mã:
sudo apt install kibana
Mã:
cd /etc/kibana/
vim kibana.yml
Mã:
server.port: 5601
server.host: "172.16.0.3"
server.name: "ELK20"
Mã:
elasticsearch.url: "http://172.16.0.3:9200"
Mã:
elasticsearch.username: "kibana_system"
elasticsearch.password: "N88VBkkelfSV3mBfO6Vh"
Tiếp theo, tải lại trình quản lý systemd bằng lệnh sau.
Mã:
systemctl daemon-reload
Mã:
systemctl start kibana
systemctl enable kibana
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22216%22%3E%3C/svg%3E
Tiếp theo, chúng ta sẽ tạo một người dùng mới sẽ được sử dụng để đăng nhập vào bảng điều khiển Kibana.
Tạo một người dùng mới có tên 'hakase' và mật khẩu 'hakasepasskibana' với vai trò 'kibana_admin' như bên dưới.
Mã:
curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "hakasepasskibana",
"roles" : [ "kibana_admin" ]
}
'
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22175%22%3E%3C/svg%3E
Kết quả là, người dùng mới 'hakase' đã được tạo và sẽ có thể đăng nhập vào bảng điều khiển Kibana.
Bước 4 - Thiết lập Nginx làm Proxy ngược cho Kibana
Trong bước này, chúng ta sẽ cài đặt và cấu hình Nginx làm proxy ngược cho Kibana.Cài đặt các gói Nginx bằng lệnh apt bên dưới.
Mã:
sudo apt install nginx -y
Mã:
cd /etc/nginx/sites-available/
vim kibana
Mã:
server {
listen 80;
server_name elk.hakase-labs.io;
location / {
proxy_pass http://172.16.0.3:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Tiếp theo, kích hoạt máy chủ ảo Nginx cho Kibana và xác minh cấu hình Nginx.
Mã:
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -t
Mã:
systemctl restart nginx
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22217%22%3E%3C/svg%3E
Mở trình duyệt web của bạn và nhập tên miền cài đặt Kibana của bạn vào thanh địa chỉ.
http://elk.hakase-labs.io/
Và bạn sẽ nhận được trang đăng nhập Kibana như bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22274%22%3E%3C/svg%3E
Nhập tên người dùng 'hakase' với mật khẩu 'hakasepass' và nhấp vào nút 'Đăng nhập'.
Sau khi đăng nhập, bạn sẽ được yêu cầu nhập dữ liệu mẫu hoặc khám phá dữ liệu của mình.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22336%22%3E%3C/svg%3E
Nhấp vào nút 'Khám phá dữ liệu của riêng tôi'.
Bây giờ bạn sẽ nhận được Bảng điều khiển Kibana như bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22386%22%3E%3C/svg%3E
Kết quả là, Cài đặt Kibana và Nginx đã hoàn tất.
Bước 4 - Cài đặt và cấu hình Filebeat
Trong bước này, chúng ta sẽ cài đặt "Filebeat" trên máy khách với tên máy chủ "client01" và địa chỉ IP "xxx.xxx.xxx.xxx". Filebeat sẽ gửi nhật ký trực tiếp đến máy chủ Elasticsearch.Trước khi cài đặt "Filebeat", hãy đảm bảo rằng kho lưu trữ Elastic Stack đã được thêm vào hệ thống của bạn.
Bây giờ hãy cài đặt gói filebeat bằng lệnh apt bên dưới.
Mã:
sudo apt install filebeat
Mã:
cd /etc/filebeat/
vim filebeat.yml
Mã:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
Mã:
setup.kibana:
host: "172.16.0.3:5601"
username: "kibana"
password: "U6gDLoJCqqChqcbD1IYV"
Mã:
output.elasticsearch:
hosts: ["172.16.0.3:9200"]
username: "elastic"
password: "elu2ZlMm4mOkM7fgCeUM"
Bây giờ hãy tải lại trình quản lý systemd, khởi động dịch vụ filebeat và thêm nó vào hệ thống khởi động.
Mã:
systemctl daemon-reload
systemctl start filebeat
systemctl enable filebeat
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22207%22%3E%3C/svg%3E
Tiếp theo, chúng ta cần tải mẫu chỉ mục filebeat lên máy chủ Elasticsearch bằng cách sử dụng lệnh sau lệnh.
Mã:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["http://172.16.0.3:9200"]'
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22105%22%3E%3C/svg%3E
Kết quả là, mẫu chỉ mục filebeat được tải lên máy chủ Elasticsearch và sẽ có sẵn trên Bảng điều khiển Kibana dưới dạng mẫu chỉ mục 'filebeat-*'.
Bước 5 - Thiết lập vai trò mới cho người dùng Kibana
Trong bước này, chúng ta sẽ tạo một vai trò elasticsearch mới cho phép người dùng 'hakase' của chúng ta truy cập và quản lý tất cả các chỉ mục trên máy chủ Elasticsearch thông qua API Elasticsearch.Tạo một vai trò mới có tên 'events_index' cho phép người dùng chỉ quản lý các chỉ mục trên máy chủ Elasticsearch bằng lệnh sau.
Mã:
curl -XPOST -u elastic 'http://172.16.0.3:9200/_security/role/events_index' -H "Content-Type: application/json" -d '{
"indices" : [
{
"names" : [ "*" ],
"privileges" : [ "all" ]
}
]
}'
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22190%22%3E%3C/svg%3E
Sau đó, hãy kiểm tra vai trò 'events_index' bằng lệnh bên dưới.
Mã:
curl -X GET -u elastic "http://172.16.0.3:9200/_security/role/events_index?pretty"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22446%22%3E%3C/svg%3E
Như có thể thấy, vai trò 'events_index' sẽ chỉ có quyền quản lý các chỉ mục.
Tiếp theo, thêm vai trò 'events_index' vào người dùng 'hakase' của chúng ta bằng lệnh bên dưới.
Mã:
curl -X POST -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "hakasepasskibana",
"roles" : [ "kibana_admin", "events_index" ]
}
'
Kiểm tra tất cả các vai trò có sẵn của người dùng 'hakase' bằng lệnh sau.
Mã:
curl -X GET -u elastic "http://172.16.0.3:9200/_security/user/hakase?pretty"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22360%22%3E%3C/svg%3E
Kết quả là chúng tôi đã tạo một vai trò mới trong việc quản lý các chỉ mục trên máy chủ Elasticsearch.
Bước 6 - Tạo mẫu chỉ mục mới Filebeat
Sau khi tạo một vai trò mới có tên là 'events_index', chúng tôi sẽ tạo một mẫu chỉ mục mới cho Filebeat thông qua người dùng 'hakase'.- Tạo mẫu chỉ mục
Trên Bảng điều khiển Kibana, hãy nhấp vào tùy chọn menu bên trái, di chuyển đến phần "Quản lý" và nhấp vào "Quản lý ngăn xếp".Trên phần "Kibana", nhấp vào "Mẫu chỉ mục".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22272%22%3E%3C/svg%3E
Nhấp vào nút "Tạo mẫu chỉ mục" để tạo mẫu chỉ mục mới.
Trên trường "mẫu chỉ mục", nhập "filebeat-*" và nhấp vào nút "Bước tiếp theo".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22280%22%3E%3C/svg%3E
Trên "Tên trường bộ lọc thời gian", chọn "@timestamp" và nhấp vào nút "Tạo mẫu chỉ mục".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22276%22%3E%3C/svg%3E
Và Mẫu chỉ mục "filebeat-*" đã được tạo và được chọn làm mẫu chỉ mục mặc định (nếu bạn chưa có mẫu chỉ mục nào trước đó).
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22347%22%3E%3C/svg%3E
- Hiển thị dữ liệu trên Kibana
Để hiển thị dữ liệu được filebeat thu thập, hãy nhấp vào menu tùy chọn ở trên cùng bên trái, sau đó nhấp vào "Khám phá".Và bạn sẽ nhận được tất cả dữ liệu được filebeat thu thập từ máy "client01".
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22387%22%3E%3C/svg%3E
Để hiển thị dữ liệu dựa trên bộ lọc của bạn, bạn có thể sử dụng "KQL" hoặc Ngôn ngữ truy vấn Kibana.
Nhập truy vấn sau vào trường "KQL".
Mã:
host.name : client01 and log.file.path: "/var/log/auth.log"
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22388%22%3E%3C/svg%3E
Kết quả là quá trình cài đặt Elastic Stack với tính năng bảo mật được bật trên Ubuntu 20.04 đã hoàn tất thành công.