Cách cài đặt phần mềm Logstash Logfile Analytics trên Ubuntu 20.04

theanh

Administrator
Nhân viên
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.

Đ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
Sau khi cài đặt, hãy xác minh phiên bản java đã cài đặt bằng lệnh sau:
Mã:
java -version
Bạn sẽ thấy đầu ra sau:
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ẻ)
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:
Mã:
apt-get install nginx curl gnupg2 wget -y
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.

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
Tiếp theo, hãy cập nhật kho lưu trữ và cài đặt Elasticsearch bằng lệnh sau:
Mã:
apt-get update -y
apt-get install elasticsearch -y
Sau khi cài đặt, hãy chỉnh sửa tệp cấu hình mặc định của Elasticsearch:
Mã:
nano /etc/elasticsearch/elasticsearch.yml
Bỏ chú thích và thay đổi giá trị của tệp như hiển thị bên dưới:
Mã:
network.host: localhost
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:
Mã:
systemctl start elasticsearch
systemctl enable elasticsearch
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:
Mã:
curl -X GET "localhost:9200"
Nếu mọi thứ ổn, bạn sẽ thấy kết quả sau:
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"}
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.

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
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:
Mã:
systemctl start kibana
systemctl enable kibana
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.
Mã:
echo "admin:`openssl passwd -apr1`" | tee -a /etc/nginx/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:
Mã:
Mật khẩu:Đang xác minh - Mật khẩu:admin:$apr1$8d05.YO1$E0Q8QjfNxxxPtD.unmDs7/
Tiếp theo, tạo tệp cấu hình máy chủ ảo Nginx để phục vụ Kibana:
Mã:
nano /etc/nginx/sites-available/kibana
Thêm các dòng sau:
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; }}
Lưu và đóng tệp, sau đó bật tệp máy chủ ảo Nginx bằng lệnh sau:
Mã:
ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
Tiếp theo, khởi động lại dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl restart nginx
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.

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
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:
Mã:
nano /etc/logstash/conf.d/02-beats-input.conf
Thêm các dòng sau:
Mã:
input { beats { port => 5044 }}
Lưu và đóng tệp, sau đó tạo tệp cấu hình Elasticsearch bằng lệnh sau:
Mã:
nano /etc/logstash/conf.d/30-elasticsearch-output.conf
Thêm các dòng sau:
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}" } }}
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:
Mã:
sudo -u logstash /usr/share/logstash/bin/logstash --path.settings /etc/logstash -t
Nếu mọi thứ đều ổn, bạn sẽ thấy đầu ra sau:
Mã:
Kết quả xác thực cấu hình: OK. Thoát Logstash
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:
Mã:
systemctl start logstash
systemctl enable logstash
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.

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
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:
Mã:
nano /etc/filebeat/filebeat.yml
Bình luận các dòng sau:
Mã:
#output.elasticsearch: # Mảng máy chủ để kết nối.# hosts: ["localhost:9200"]
Sau đó, bỏ chú thích các dòng sau:
Mã:
output.logstash: # Logstash hosts: ["localhost:5044"]
Lưu và đóng tệp, sau đó bật mô-đun hệ thống bằng lệnh sau:
Mã:
filebeat modules enable system
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:
Mã:
filebeat setup --pipelines --modules system
Tiếp theo, tải mẫu bằng lệnh sau:
Mã:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Bạn sẽ thấy thông báo sau output:
Mã:
Hoàn tất thiết lập chỉ mục.
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:
Mã:
filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601
Bạn sẽ thấy đầu ra sau:
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
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:
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.

Kết luận​

Xin chúc mừng! Bạn đã cài đặt và cấu hình Logstash thành công trên máy chủ Ubuntu 20.04. Bây giờ bạn có thể thu thập và phân tích nhật ký hệ thống từ một vị trí trung tâm. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên