Cách cài đặt ELK Stack (Elasticsearch, Logstash và Kibana) trên Ubuntu 20.04

Tác giả Network Engineer, T.M.Hai 04, 2021, 01:12:28 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt ELK Stack (Elasticsearch, Logstash và Kibana) trên Ubuntu 20.04


Elastic Stack - được gọi là ELK (Elasticsearch, Logstash và Kibana) là một nền tảng mã nguồn mở mạnh mẽ để phân tích dữ liệu. Nó cung cấp một bộ tính năng toàn diện để lập chỉ mục, tìm kiếm, giám sát và phân tích dữ liệu trong thời gian thực.

Elastic Stack có thể được triển khai tại chỗ hoặc trên đám mây. Nó được sử dụng bởi các công ty khởi nghiệp và các doanh nghiệp lớn, bao gồm Netflix, Facebook, Goldman Sachs, The Guardian và Thomson Reuters.

Elastic Stack được tạo thành từ ba thành phần cốt lõi:

  • Elasticsearch: Công cụ phân tích và tìm kiếm lập chỉ mục dữ liệu nhanh chóng và cung cấp kết quả tìm kiếm nhanh.
  • Logstash: Một công cụ đường dẫn nhật ký thu thập, phân tích cú pháp và lưu trữ nhật ký từ nhiều nguồn.
  • Kibana: Một công cụ phân tích và trực quan hóa dữ liệu cho phép bạn tìm kiếm, xem, phân tích và chia sẻ dữ liệu.

Mỗi thành phần này cung cấp các tính năng và lợi ích riêng biệt.

Elasticsearch là công cụ phân tích và tìm kiếm nhanh, có thể mở rộng và dễ sử dụng, lập chỉ mục dữ liệu nhanh chóng và cung cấp kết quả tìm kiếm nhanh. Nó hoàn hảo cho các ứng dụng thời gian thực như tìm kiếm trang web, danh mục sản phẩm, hỗ trợ khách hàng và phân tích sự kiện bảo mật.

Logstash là một công cụ đường dẫn nhật ký thu thập, phân tích cú pháp và lưu trữ nhật ký từ nhiều nguồn. Nó giúp bạn lấy dữ liệu của mình đến nơi cần đến, khi nào cần đến đó. Logstash cũng có thể được sử dụng để giám sát hệ thống của bạn trong thời gian gần như thực, vì vậy bạn có thể xác định và khắc phục sự cố trước khi chúng trở nên nghiêm trọng.

Kibana là một công cụ phân tích và trực quan hóa dữ liệu cho phép bạn tìm kiếm, xem, phân tích và chia sẻ dữ liệu. Với Kibana, bạn có thể nhanh chóng tìm thấy thông tin chi tiết trong dữ liệu của mình và xem hoạt động kinh doanh của bạn như thế nào. Kibana giúp dễ dàng tạo trang tổng quan tùy chỉnh, vì vậy bạn có thể theo dõi các chỉ số quan trọng nhất đối với mình.

Elastic Stack là một trong những giải pháp dữ liệu lớn phổ biến nhất và vì một lý do chính đáng. Nó dễ dàng thiết lập, nó có thể mở rộng và cung cấp nhiều tính năng để lập chỉ mục, tìm kiếm, giám sát và phân tích dữ liệu.

Nếu bạn đang tìm kiếm một nền tảng mã nguồn mở mạnh mẽ để phân tích dữ liệu, Elastic Stack rất đáng để xem xét.

ELK Stack được thiết kế để cho phép các nhà phát triển nhanh chóng đưa dữ liệu vào trạng thái có thể tìm kiếm và phân tích được mà không cần đội quân tư vấn. Người dùng có thể lấy dữ liệu từ bất kỳ nguồn nào và sử dụng Kibana và / hoặc Logstash để trực quan hóa dữ liệu trong một chuỗi thời gian.

Elasticsearch là công cụ phân tích và tìm kiếm RESTful phân tán, lập chỉ mục dữ liệu nhanh chóng, cung cấp kết quả tìm kiếm nhanh. Nó hoàn hảo cho các ứng dụng thời gian thực như tìm kiếm trang web, danh mục sản phẩm, hỗ trợ khách hàng và phân tích sự kiện bảo mật.

Trong hướng dẫn này, mình sẽ hướng dẫn bạn các bước cài đặt Elastic Stack trên máy chủ Ubuntu 20.04.

Điều kiện tiên quyết:

  • Cài đặt tối thiểu Ubuntu Server 20.04 LTS với quyền truy cập SSH và người dùng không phải root nhưng có đặc quyền sudo.
  • Có tối thiểu 4 GB RAM, 2 CPU và 20 GB dung lượng ổ cứng.

1. Cập nhật hệ thống

Đó là một thực tiễn tốt để giữ cho các gói máy chủ của bạn được cập nhật. Chạy lệnh sau để cập nhật bộ đệm kho lưu trữ của bạn:

Mã nguồn [Chọn]
$ sudo apt update && sudo apt upgrade -y
Sau khi cập nhật hoàn tất, hãy chạy lệnh bên dưới để cài đặt các phụ thuộc bắt buộc.

Mã nguồn [Chọn]
$ sudo apt install wget apt-transport-https curl gnupg2 -y
2. Cài đặt Java

Elasticsearch yêu cầu Java để chạy. Ubuntu 2.04 đi kèm với Java 8 và Java 11, nhưng một số plugin có thể không tương thích với Java 11, vì vậy mình sẽ cài đặt Java 8.

Chạy lệnh sau để cài đặt Java 8 trên hệ thống của bạn.

Mã nguồn [Chọn]
$ sudo apt install openjdk-8-jdk -y
Sau khi cài đặt xong, bạn có thể kiểm tra phiên bản Java được cài đặt trên hệ thống của mình bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
$ java -version
Đầu ra sẽ trông giống như thế này.


3. Cài đặt Elasticsearch

Kho lưu trữ Ubuntu 20.04 mặc định không chứa Elasticsearch, nhưng có thể dễ dàng cài đặt bằng APT sau khi thêm kho lưu trữ Elastic chính thức từ nhóm nhà phát triển Elasticsearch.

Đầu tiên, tải xuống khóa ký công khai (Elasticsearch thực hiện việc này tự động) bằng cách sử dụng lệnh curl để xác thực các gói. Các gói được ký bằng khóa này để đảm bảo tính xác thực của chúng. Chúng ta sẽ sử dụng các đối số -fsSL để chỉ ra rằng mình muốn tắt mọi tiến trình và cho phép cURL thực hiện yêu cầu đối với URL được chỉ định.

Mã nguồn [Chọn]
$ curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Bạn sẽ nhận được thông báo OK nếu khóa được thêm thành công.


Tiếp theo, thêm kho lưu trữ Elasticsearch vào hệ thống của bạn bằng cách chạy lệnh sau. Chúng ta sẽ thêm elastic-7.x.list vào thư mục sources.list.d. Thư mục sources.list.d là một thư mục đặc biệt trong Ubuntu, nơi bạn có thể thêm các nguồn bổ sung cho phần mềm. Hệ thống APT sử dụng các tập tin này để tìm các gói có sẵn.

Mã nguồn [Chọn]
$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Sau đó, cập nhật bộ nhớ cache của kho lưu trữ của bạn để đọc kho lưu trữ Elasticsearch mới.

Mã nguồn [Chọn]
$ sudo apt update
Bây giờ bạn có thể cài đặt Elasticsearch bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
$ sudo apt install elasticsearch -y
Khi quá trình cài đặt hoàn tất, chúng ta cần phải cấu hình Elasticsearch. Tập tin /etc/elasticsearch/elasticsearch.yml là tập tin cấu hình chính cho tất cả cài đặt Elasticsearch. Chẳng hạn như tham số   Đăng nhập để xem liên kết xác định địa chỉ IP hoặc tên máy chủ để liên kết dịch vụ Elasticsearch.

Hãy mở tập tin bằng trình soạn thảo văn bản nano.

Mã nguồn [Chọn]
$ sudo nano /etc/elasticsearch/elasticsearch.yml
Hầu hết các cài đặt này đã được cấu hình trước nhưng bạn có thể tinh chỉnh chúng theo nhu cầu của mình. Trong ví dụ này, mình chỉ thay đổi cài đặt máy chủ lưu trữ mạng. Chúng ta sẽ bỏ ghi chú và thay đổi máy chủ: thành localhost để Elasticsearch có thể nghe trên bất kỳ giao diện mạng nào. Nếu bạn muốn sử dụng một giao diện mạng cụ thể, bạn có thể thay thế localhost bằng địa chỉ IP hoặc tên máy chủ cụ thể.

Trước:


Sau:


Khi bạn đã thực hiện xong các thay đổi, hãy lưu tập tin bằng cách nhấn CTRL + X, Y và Enter. Bây giờ hãy bắt đầu Elasticsearch bằng lệnh sau. Quá trình khởi động có thể mất vài phút nên hãy kiên nhẫn.

Mã nguồn [Chọn]
$ sudo systemctl start elasticsearch
Để bật Elasticsearch tự động khởi động khi hệ thống khởi động, hãy chạy các lệnh sau.

Mã nguồn [Chọn]
$ sudo systemctl enable elasticsearch
Bây giờ bạn có thể kiểm tra cài đặt bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
$ curl -X GET "localhost:9200"
Bạn sẽ thấy phản hồi sau từ nút cục bộ của mình.


4. Cài đặt Kibana

Bây giờ chúng ta đã thiết lập và chạy Elasticsearch, chúng ta có thể cài đặt Kibana. Kibana là một giao diện trực quan cho Elasticsearch cho phép mình tìm kiếm và trực quan hóa dữ liệu của mình.

Bạn phải luôn cài đặt Kibana Dashboard ngay sau khi cài đặt máy chủ Elasticsearch. Điều này sẽ đảm bảo rằng tất cả các thành phần và cài đặt của Elastic Stack được đặt đúng vị trí.

Chạy lệnh sau để cài đặt Kibana.

Mã nguồn [Chọn]
$ sudo apt install kibana -y
Khi quá trình cài đặt hoàn tất, chúng ta sẽ cần cấu hình Kibana. Tập tin /etc/kibana/kibana.yml là tập tin cấu hình chính cho tất cả cài đặt Kibana. Chẳng hạn như cổng để liên kết dịch vụ Kibana, elasticsearch.url xác định URL Elasticsearch mà kibana sẽ trỏ đến và các cài đặt bảo mật khác.

Hãy mở tập tin này bằng trình soạn thảo văn bản nano.

Mã nguồn [Chọn]
$ sudo nano /etc/kibana/kibana.yml
Trong ví dụ này, mình sẽ bỏ ghi chú những dòng sau: server.port,   Đăng nhập để xem liên kết và elasticsearch.hosts để Kibana trỏ đến đúng URL Elasticsearch.

Trước khi chỉnh sửa:


Sau khi chỉnh sửa:


Bây giờ lưu tập tin bằng cách nhấn CTRL + X, Y và Enter. Bây giờ hãy bắt đầu và kích hoạt Kibana bằng lệnh sau.

Mã nguồn [Chọn]
$ sudo systemctl start kibana && sudo systemctl enable kibana
Bây giờ, hãy mở trình duyệt web yêu thích của bạn và truy cập URL sau.

Mã nguồn [Chọn]
http://localhost:5601/app/kibana#/home
Bạn sẽ được chuyển hướng đến màn hình chào mừng Kibana. Từ đây, bạn có thể bắt đầu sử dụng Kibana. Nếu bạn gặp lỗi "Kibana server not ready yet", hãy cho vài phút để khởi động. Hoặc đảm bảo rằng cả Elasticsearch và Kibana đều đang hoạt động.


5. Cài đặt Filebeat

Filebeat là một trình gửi nhật ký nhẹ có thể gửi dữ liệu đến Elasticsearch. Bạn có thể cài đặt Filebeat bằng lệnh sau.

Mã nguồn [Chọn]
$ sudo apt install filebeat -y
Khi quá trình cài đặt hoàn tất, bạn cần phải cấu hình Filebeat. Tập tin /etc/filebeat/filebeat.yml là tập tin cấu hình chính cho tất cả cài đặt Filebeat.

Hãy mở tập tin này bằng trình soạn thảo văn bản nano.

Mã nguồn [Chọn]
$ sudo nano /etc/filebeat/filebeat.yml
Bây giờ, bỏ ghi chú dòng output.logstash và dòng host  như được hiển thị bên dưới.

Trước khi chỉnh sửa:


Sau khi chỉnh sửa:


Bây giờ lưu tập tin bằng cách nhấn CTRL + X, Y và Enter.

Bây giờ, hãy kích hoạt mô-đun hệ thống Filebeat, tải mẫu chỉ mục và kết nối Filebeat với Elasticsearch.

Mã nguồn [Chọn]
$ sudo filebeat modules enable system && sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Mã nguồn [Chọn]
$ sudo filebeat setup -E output.logstash.enabled=false -E output.elasticsearch.hosts=['localhost:9200'] -E setup.kibana.host=localhost:5601
Đầu ra mẫu:



Tiếp theo, chạy lệnh sau để bắt đầu và kích hoạt Filebeat.

Mã nguồn [Chọn]
$ sudo systemctl start filebeat && sudo systemctl enable filebeat
Cuối cùng, chạy lệnh sau để xác minh rằng Elasticsearch đang nhận dữ liệu từ Filebeat,

Mã nguồn [Chọn]
$ curl -XGET 'http://localhost:9200/filebeat-*/_search?pretty'
Bạn sẽ thấy dữ liệu tương tự như những gì được hiển thị trong hình ảnh bên dưới. Kết quả này xác nhận rằng Filebeat đang chuyển dữ liệu đến Elasticsearch.


6. Cài đặt Logstash

Bây giờ bạn đã thiết lập thành công Elasticsearch và Kibana, bước cuối cùng là cài đặt Logstash.
Bạn có thể cài đặt Logstash bằng lệnh sau.

Mã nguồn [Chọn]
$ sudo apt install logstash -y
Sau khi cài đặt hoàn tất, bạn có thể khởi động và bật Logstash bằng lệnh sau.

Mã nguồn [Chọn]
$ sudo systemctl start logstash && sudo systemctl enable logstash
Để kiểm tra xem Logstash có hoạt động hay không, bạn có thể chạy lệnh sau để kiểm tra trạng thái của nó.

Mã nguồn [Chọn]
$ sudo systemctl status logstash
Bạn sẽ nhận được kết quả sau.


Bây giờ mình đã cài đặt Logstash, bạn có thể cấu hình nó theo nhu cầu của mình. Bạn có thể tham khảo tài liệu Logstash để biết thêm thông tin.

Khi bạn đã hoàn tất việc cấu hình Logstash, hãy quay lại giao diện web Kibana mà bạn đã mở trong trình duyệt web của mình ở bước trước. Từ đó, bạn có thể bắt đầu quản lý và trực quan hóa dữ liệu của mình.

Xin chúc mừng. Bây giờ bạn đã cài đặt thành công Elastic Stack trên máy chủ Ubuntu 20.04 của mình.


Trong hướng dẫn này, bạn đã học cách cài đặt Elasticsearch, Kibana và Logstash trên máy chủ Ubuntu 20.04. Bạn cũng đã học cách cấu hình cả ba thành phần để chúng giao tiếp với nhau.

Để lại bình luận, đề xuất và câu hỏi của bạn bên dưới. Nếu bài viết này giúp bạn theo bất kỳ cách nào, vui lòng nhấn các nút chia sẻ ở đầu trang này.