ELK là sự kết hợp của ba sản phẩm mã nguồn mở ElasticSearch, Logstash và Kibana. Đây là một trong những nền tảng quản lý nhật ký phổ biến nhất trên toàn cầu. Elasticsearch là một công cụ tìm kiếm và phân tích. Logstash là một đường ống xử lý nhật ký vận chuyển nhật ký từ nhiều nguồn cùng lúc, chuyển đổi nhật ký và sau đó gửi đến một "stash" như Elasticsearch. Kibana được sử dụng để trực quan hóa dữ liệu mà Logstash đã lập chỉ mục vào chỉ mục Elasticsearch
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt Logstash trên Ubuntu 20.04.
Sau khi cài đặt, hãy xác minh phiên bản java đã cài đặt bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Tiếp theo, cài đặt các phụ thuộc bắt buộc khác bằng cách chạy lệnh sau:
Sau khi cài đặt xong tất cả các phụ thuộc, bạn có thể tiến hành bước tiếp theo.
Đầu tiên, thêm kho lưu trữ Elastic vào hệ thống của bạn bằng lệnh sau:
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt Elasticsearch bằng lệnh sau:
Sau khi cài đặt, hãy chỉnh sửa tệp cấu hình mặc định của Elasticsearch:
Bỏ chú thích và thay đổi giá trị của tệp như hiển thị bên dưới:
Lưu và đóng tệp, sau đó khởi động dịch vụ Elasticsearch và cho phép dịch vụ này khởi động khi khởi động bằng lệnh sau:
Lúc này, Elasticsearch đã được cài đặt và đang lắng nghe trên cổng 9200. Bây giờ, bạn có thể kiểm tra xem Elasticsearch có hoạt động hay không bằng cách chạy lệnh sau:
Nếu mọi thứ ổn, bạn sẽ thấy kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Sau khi Kibana đã được cài đặt, hãy khởi động dịch vụ Kibana và cho phép nó khởi động khi khởi động bằng lệnh sau:
Tiếp theo, bạn sẽ cần tạo một người dùng quản trị cho Kibana để truy cập vào giao diện web Kibana. Chạy lệnh sau để tạo người dùng và mật khẩu Kibana quản trị, sau đó lưu trữ chúng trong tệp htpasswd.users.
Bạn sẽ được yêu cầu cung cấp mật khẩu như hiển thị trong đầu ra sau:
Tiếp theo, tạo tệp cấu hình máy chủ ảo Nginx để phục vụ Kibana:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó bật tệp máy chủ ảo Nginx bằng lệnh sau:
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Tiếp theo, mở trình duyệt web của bạn và kiểm tra trạng thái của Kibana bằng URL http://kibana.example.com/status. Bạn sẽ được yêu cầu cung cấp tên người dùng và mật khẩu như hiển thị bên dưới:
Cung cấp tên người dùng và mật khẩu Kibana của bạn, rồi nhấp vào nút Đăng nhập. Bạn sẽ thấy màn hình sau:
Lúc này, bảng điều khiển Kibana đã được cài đặt trong hệ thống của bạn. Bây giờ bạn có thể tiến hành bước tiếp theo.
Sau khi Logstash đã được cài đặt, hãy tạo một tệp cấu hình beat mới bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tạo tệp cấu hình Elasticsearch bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó xác minh cấu hình Logstash của bạn bằng lệnh này:
Nếu mọi thứ đều ổn, bạn sẽ thấy đầu ra sau:
Tiếp theo, hãy khởi động dịch vụ Logstash và cho phép dịch vụ này khởi động khi khởi động bằng lệnh sau:
Lúc này, Logstash đã được cài đặt trong hệ thống của bạn. Bây giờ bạn có thể tiến hành bước tiếp theo.
Bạn có thể cài đặt Filebeat bằng lệnh sau:
Sau khi cài đặt, bạn sẽ cần cấu hình Filebeat để kết nối với Logstash. Bạn có thể cấu hình nó bằng lệnh sau:
Bình luận các dòng sau:
Sau đó, bỏ chú thích các dòng sau:
Lưu và đóng tệp, sau đó bật mô-đun hệ thống bằng lệnh sau:
Theo mặc định, Filebeat được định cấu hình để sử dụng đường dẫn mặc định cho nhật ký syslog và nhật ký ủy quyền.
Bạn có thể tải đường ống thu thập cho mô-đun hệ thống bằng lệnh sau:
Tiếp theo, tải mẫu bằng lệnh sau:
Bạn sẽ thấy thông báo sau output:
Theo mặc định, Filebeat được đóng gói với các bảng điều khiển Kibana mẫu cho phép bạn trực quan hóa dữ liệu Filebeat trong Kibana. Vì vậy, bạn cần tắt đầu ra Logstash và bật đầu ra Elasticsearch. Bạn có thể thực hiện bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Bây giờ, hãy khởi động dịch vụ Filebeat và cho phép dịch vụ này khởi động khi khởi động bằng lệnh sau:
Trong ngăn bên trái, nhấp vào Khám phá và chọn mẫu chỉ mục filebeat-* được xác định trước để xem dữ liệu Filebeat trong màn hình sau:
Bây giờ, Kibana cung cấp rất nhiều tính năng. Hãy thoải mái khám phá chúng theo ý muốn của bạn.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách cài đặt Logstash trên Ubuntu 20.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 20.04.
- Mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt các phụ thuộc bắt buộc
Để cài đặt Elasticsearch, bạn sẽ cần cài đặt Java trong hệ thống của mình. Bạn có thể cài đặt Java JDK bằng lệnh sau:
Mã:
apt-get install openjdk-11-jdk -y
Mã:
java -version
Mã:
openjdk 11.0.7 2020-04-14Môi trường thời gian chạy OpenJDK (bản dựng 11.0.7+10-post-Ubuntu-3ubuntu1)Máy chủ OpenJDK 64-Bit VM (bản dựng 11.0.7+10-post-Ubuntu-3ubuntu1, chế độ hỗn hợp, chia sẻ)
Mã:
apt-get install nginx curl gnupg2 wget -y
Cài đặt và cấu hình Elasticsearch
trước khi bắt đầu, bạn sẽ cần cài đặt Elasticsearch trong hệ thống của mình. Nó lưu trữ nhật ký và sự kiện từ Logstash và cung cấp khả năng tìm kiếm nhật ký theo thời gian thực.Đầu tiên, thêm kho lưu trữ Elastic vào hệ thống của bạn bằng lệnh sau:
Mã:
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Mã:
apt-get update -y
apt-get install elasticsearch -y
Mã:
nano /etc/elasticsearch/elasticsearch.yml
Mã:
network.host: localhost
Mã:
systemctl start elasticsearch
systemctl enable elasticsearch
Mã:
curl -X GET "localhost:9200"
Mã:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "AVRzLjAbQTK-ayYQc0GaMA", "version" : { "number" : "7.8.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65", "build_date" : "2020-06-14T19:35:50.234439Z", "build_snapshot" : false, "lucene_version" : "8.5.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search"}
Cài đặt và cấu hình Kibana
Tiếp theo, bạn sẽ cần cài đặt Kibana trong hệ thống của mình. Kibana cho phép bạn phân tích dữ liệu được lưu trữ trên Elasticsearch. Bạn có thể cài đặt nó chỉ bằng cách chạy lệnh sau:
Mã:
apt-get install kibana -y
Mã:
systemctl start kibana
systemctl enable kibana
Mã:
echo "admin:`openssl passwd -apr1`" | tee -a /etc/nginx/htpasswd.users
Mã:
Mật khẩu:Đang xác minh - Mật khẩu:admin:$apr1$8d05.YO1$E0Q8QjfNxxxPtD.unmDs7/
Mã:
nano /etc/nginx/sites-available/kibana
Mã:
server { listen 80; server_name kibana.example.com; auth_basic "Quyền truy cập bị hạn chế"; auth_basic_user_file /etc/nginx/htpasswd.users; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Nâng cấp $http_upgrade; proxy_set_header Kết nối 'nâng cấp'; proxy_set_header Máy chủ $host; proxy_cache_bypass $http_upgrade; }}
Mã:
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
Mã:
systemctl restart nginx
Cung cấp tên người dùng và mật khẩu Kibana của bạn, rồi nhấp vào nút Đăng nhập. Bạn sẽ thấy màn hình sau:
Lúc này, bảng điều khiển Kibana đã được cài đặt trong hệ thống của bạn. Bây giờ bạn có thể tiến hành bước tiếp theo.
Cài đặt và cấu hình Logstash
Logstash được sử dụng để xử lý các bản ghi được gửi bởi beats. Bạn có thể cài đặt nó bằng cách chạy lệnh sau:
Mã:
apt-get install logstash -y
Mã:
nano /etc/logstash/conf.d/02-beats-input.conf
Mã:
input { beats { port => 5044 }}
Mã:
nano /etc/logstash/conf.d/30-elasticsearch-output.conf
Mã:
output { if [@metadata][pipeline] { elasticsearch { hosts => ["localhost:9200"] manage_template => false index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" pipeline => "%{[@metadata][pipeline]}" } } else { elasticsearch { hosts => ["localhost:9200"] manage_template => false index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" } }}
Mã:
sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t
Mã:
Kết quả xác thực cấu hình: OK. Thoát Logstash
Mã:
systemctl start logstash
systemctl enable logstash
Cài đặt và cấu hình Filebeat
Ngăn xếp ELK sử dụng Filebeat để thu thập dữ liệu từ nhiều nguồn khác nhau và chuyển chúng đến Logstash.Bạn có thể cài đặt Filebeat bằng lệnh sau:
Mã:
apt-get install filebeat -y
Mã:
nano /etc/filebeat/filebeat.yml
Mã:
#output.elasticsearch: # Mảng máy chủ để kết nối.# hosts: ["localhost:9200"]
Mã:
output.logstash: # Logstash hosts: ["localhost:5044"]
Mã:
filebeat modules enable system
Bạn có thể tải đường ống thu thập cho mô-đun hệ thống bằng lệnh sau:
Mã:
filebeat setup --pipelines --modules system
Mã:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Mã:
Hoàn tất thiết lập chỉ mục.
Mã:
filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601
Mã:
Ghi đè chính sách ILM đã bị vô hiệu hóa. Đặt `setup.ilm.overwrite:true` để bật.Thiết lập chỉ mục đã hoàn tất.Đang tải bảng điều khiển (Kibana phải đang chạy và có thể truy cập được)Đã tải bảng điều khiểnThiết lập ML bằng setup --machine-learning sẽ bị xóa trong 8.0.0. Vui lòng sử dụng ứng dụng ML thay thế.Xem thêm: https://www.elastic.co/guide/en/elastic-stack-overview/current/xpack-ml.htmlĐã tải cấu hình tác vụ học máyĐã tải đường ống Ingest
Mã:
systemctl start filebeat
systemctl enable filebeat
Truy cập Bảng điều khiển Kibana
Lúc này, tất cả các thành phần của ELK đã được cài đặt và định cấu hình. Bây giờ, hãy mở trình duyệt web của bạn và nhập URL http://kibana.example.com. Bạn sẽ thấy bảng điều khiển Kibana trong màn hình sau:Trong ngăn bên trái, nhấp vào Khám phá và chọn mẫu chỉ mục filebeat-* được xác định trước để xem dữ liệu Filebeat trong màn hình sau:
Bây giờ, Kibana cung cấp rất nhiều tính năng. Hãy thoải mái khám phá chúng theo ý muốn của bạn.