Hướng dẫn ngăn xếp ELK: Kibana là gì, Logstash & Elaticsearch?

Ngăn xếp ELK là gì?

Ngăn xếp ELK là tập hợp ba sản phẩm nguồn mở - Elaticsearch, Logstash, và Kibana. Ngăn xếp ELK cung cấp tính năng ghi nhật ký tập trung để xác định sự cố với máy chủ hoặc ứng dụng. Nó cho phép bạn tìm kiếm tất cả các bản ghi ở một nơi duy nhất. Nó cũng giúp tìm ra sự cố trên nhiều máy chủ bằng cách kết nối nhật ký trong một khung thời gian cụ thể.

  • E viết tắt của ElasticSearch: dùng để lưu trữ nhật ký
  • L viết tắt của LogStash: được sử dụng cho cả việc vận chuyển cũng như xử lý và lưu trữ nhật ký
  • K là viết tắt của Kibana: là một công cụ trực quan (giao diện web) được lưu trữ thông qua Nginx hoặc Apache

ElasticSearch, LogStash và Kibana đều được phát triển, quản lý và bảo trì bởi một công ty có tên là Elastic.

ELK Stack được thiết kế để cho phép người dùng lấy dữ liệu từ bất kỳ nguồn nào, ở bất kỳ định dạng nào và tìm kiếm, phân tích và trực quan hóa dữ liệu đó trong thời gian thực.

Ngăn xếp ELK Archikiến trúc

Trong hướng dẫn về ngăn xếp ELK này, chúng ta sẽ tìm hiểu về kiến ​​trúc ELK:

Đây là kiến ​​trúc đơn giản của ngăn xếp ELK

Ngăn xếp ELK Archikiến trúc
Ngăn xếp ELK Archikiến trúc
  • Nhật ký: Nhật ký máy chủ cần được phân tích được xác định
  • Logstash: Thu thập dữ liệu nhật ký và sự kiện. Nó thậm chí còn phân tích và chuyển đổi dữ liệu
  • Tìm kiếm đàn hồi: Dữ liệu được chuyển đổi từ Logstash is Lưu trữ, tìm kiếm và lập chỉ mục.
  • Kibana: Kibana sử dụng Elaticsearch DB để khám phá, trực quan hóa và chia sẻ

Tuy nhiên, cần thêm một thành phần nữa hoặc Thu thập dữ liệu có tên Beats. Điều này khiến Elastic phải đổi tên ELK thành Elastic Stack.

Ngăn xếp ELK Archikiến trúc với Beats

Khi xử lý lượng dữ liệu rất lớn, bạn có thể cần Kafka, RabbitMQ để đệm và phục hồi. Về bảo mật, có thể sử dụng nginx.

Ngăn xếp ELK Archikiến trúc

Bây giờ trong hướng dẫn ngăn xếp đàn hồi này, Hãy cùng tìm hiểu sâu về tất cả các sản phẩm nguồn mở này:

Elaticsearch là gì?

Elaticsearch là một Cơ sở dữ liệu NoSQL. Nó dựa trên công cụ tìm kiếm Lucene và được xây dựng bằng API RESTful. Nó cung cấp khả năng triển khai đơn giản, độ tin cậy tối đa và quản lý dễ dàng. Nó cũng cung cấp các truy vấn nâng cao để thực hiện phân tích chi tiết và lưu trữ tất cả dữ liệu một cách tập trung. Nó rất hữu ích để thực hiện tìm kiếm nhanh các tài liệu.

Elasticsearch cũng cho phép bạn lưu trữ, tìm kiếm và phân tích khối lượng dữ liệu lớn. Nó chủ yếu được sử dụng như một công cụ cơ bản để cung cấp năng lượng cho các ứng dụng đã hoàn thành các yêu cầu tìm kiếm. Nó đã được áp dụng trong các nền tảng công cụ tìm kiếm cho các ứng dụng web và di động hiện đại. Ngoài tìm kiếm nhanh, công cụ này còn cung cấp các phân tích phức tạp và nhiều tính năng nâng cao.

Các tính năng của tìm kiếm đàn hồi

  • Máy chủ tìm kiếm nguồn mở được viết bằng cách sử dụng Java
  • Được sử dụng để lập chỉ mục cho bất kỳ loại dữ liệu không đồng nhất nào
  • Có giao diện web API REST với đầu ra JSON
  • Tìm kiếm toàn văn bản
  • Tìm kiếm gần thời gian thực (NRT)
  • Kho lưu trữ tài liệu JSON được phân chia, sao chép có thể tìm kiếm
  • Kho lưu trữ tài liệu phân tán dựa trên REST & JSON không có lược đồ
  • Hỗ trợ đa ngôn ngữ & định vị địa lý

Ưu điểm của Elaticsearch

  • Lưu trữ dữ liệu không có lược đồ và cũng tạo lược đồ cho dữ liệu của bạn
  • Thao tác bản ghi dữ liệu của bạn theo bản ghi với sự trợ giúp của API nhiều tài liệu
  • Thực hiện lọc và truy vấn dữ liệu của bạn để biết thông tin chi tiết
  • Dựa trên Apache Lucene và cung cấp API RESTful
  • Cung cấp khả năng mở rộng theo chiều ngang, độ tin cậy và khả năng đa người thuê để sử dụng lập chỉ mục theo thời gian thực để giúp tìm kiếm nhanh hơn
  • Giúp bạn mở rộng quy mô theo chiều dọc và chiều ngang

Các thuật ngữ quan trọng được sử dụng trong Tìm kiếm đàn hồi

Bây giờ trong hướng dẫn ELK này, hãy cùng tìm hiểu về các thuật ngữ chính được sử dụng trong ElasticSearch:

Hạn Sử dụng
Cluster Một cụm là một tập hợp các nút cùng chứa dữ liệu và cung cấp khả năng tìm kiếm và lập chỉ mục được kết hợp.
Node Một nút là một instance elaticsearch. Nó được tạo khi một phiên bản elaticsearch bắt đầu.
Chỉ số Chỉ mục là một tập hợp các tài liệu có đặc điểm giống nhau. ví dụ: dữ liệu khách hàng, danh mục sản phẩm. Nó rất hữu ích trong khi thực hiện các hoạt động lập chỉ mục, tìm kiếm, cập nhật và xóa. Nó cho phép bạn xác định bao nhiêu chỉ mục trong một cụm duy nhất.
Tài liệu Đây là đơn vị thông tin cơ bản có thể được lập chỉ mục. Nó được biểu thị bằng cặp JSON (khóa: giá trị). '{“người dùng”: “nullcon”}'. Mỗi Tài liệu riêng lẻ được liên kết với một loại và một id duy nhất.
Mảnh vỡ Mỗi chỉ mục có thể được chia thành nhiều mảnh để có thể phân phối dữ liệu. Mảnh là phần nguyên tử của chỉ mục, có thể được phân phối trên cụm nếu bạn muốn thêm nhiều nút hơn.

Là gì Logstash?

Logstash là công cụ đường ống thu thập dữ liệu. Nó thu thập dữ liệu đầu vào và nguồn cấp dữ liệu vào Elaticsearch. Nó thu thập tất cả các loại dữ liệu từ các nguồn khác nhau và cung cấp dữ liệu đó để sử dụng tiếp.

Logstash có thể hợp nhất dữ liệu từ các nguồn khác nhau và chuẩn hóa dữ liệu đến các điểm đến mong muốn của bạn. Nó cho phép bạn làm sạch và dân chủ hóa tất cả dữ liệu của mình để phân tích và trực quan hóa các trường hợp sử dụng.

Nó bao gồm ba thành phần:

  • Đầu vào: chuyển nhật ký để xử lý chúng thành định dạng mà máy có thể hiểu được
  • Bộ Lọc: Là tập hợp các điều kiện để thực hiện một hành động hoặc sự kiện cụ thể
  • Đầu ra: Người ra quyết định cho sự kiện hoặc nhật ký đã xử lý

Đặc điểm của Logstash

Trong hướng dẫn về LogStash này, chúng ta hãy tìm hiểu về các tính năng của LogStash:

  • Các sự kiện được chuyển qua từng giai đoạn bằng cách sử dụng hàng đợi nội bộ
  • Cho phép các đầu vào khác nhau cho nhật ký của bạn
  • Lọc/phân tích nhật ký của bạn

Lợi thế của Logstash

  • Ưu đãi tập trung xử lý dữ liệu
  • Nó phân tích nhiều loại dữ liệu và sự kiện có cấu trúc/phi cấu trúc
  • ELK LogStash cung cấp các plugin để kết nối với nhiều loại nguồn đầu vào và nền tảng khác nhau

Kibana là gì?

Kibana là một công cụ trực quan hóa dữ liệu hoàn thiện ngăn xếp ELK. Công cụ này được sử dụng để trực quan hóa các tài liệu Elasticsearch và giúp các nhà phát triển có cái nhìn sâu sắc nhanh chóng về nó. Bảng điều khiển Kibana cung cấp nhiều sơ đồ tương tác, dữ liệu không gian địa lý và đồ thị để trực quan hóa các yêu cầu phức tạp.

Nó có thể được sử dụng để tìm kiếm, xem và tương tác với dữ liệu được lưu trữ trong các thư mục Elaticsearch. Kibana giúp bạn thực hiện nâng cao phân tích dữ liệu và trực quan hóa dữ liệu của bạn dưới nhiều dạng bảng, biểu đồ và bản đồ.

Trong Kibana có nhiều phương pháp khác nhau để thực hiện tìm kiếm trên dữ liệu của bạn.

Dưới đây là các loại tìm kiếm phổ biến nhất:

Loại tìm kiếm Sử dụng
Tìm kiếm văn bản miễn phí Nó được sử dụng để tìm kiếm một chuỗi cụ thể
Tìm kiếm cấp trường Nó được sử dụng để tìm kiếm một chuỗi trong một trường cụ thể
Câu lệnh logic Nó được sử dụng để kết hợp các tìm kiếm thành một câu lệnh logic.
Tìm kiếm lân cận Được sử dụng để tìm kiếm các thuật ngữ trong phạm vi ký tự cụ thể.

Bây giờ trong hướng dẫn Kibana này, chúng ta hãy tìm hiểu về các tính năng quan trọng của Kibana:

Các tính năng của Kinbana:

  • Bảng điều khiển giao diện người dùng mạnh mẽ có khả năng hiển thị thông tin được lập chỉ mục từ cụm đàn hồi
  • Cho phép tìm kiếm thông tin được lập chỉ mục theo thời gian thực
  • Bạn có thể tìm kiếm, xem và tương tác với dữ liệu được lưu trữ trong Elaticsearch
  • Thực hiện truy vấn trên dữ liệu và hiển thị kết quả dưới dạng biểu đồ, bảng và bản đồ
  • Bảng điều khiển có thể cấu hình để phân chia và sắp xếp nhật ký logstash trong elasticsearch
  • Có khả năng cung cấp dữ liệu lịch sử dưới dạng đồ thị, biểu đồ, v.v.
  • Bảng điều khiển thời gian thực có thể cấu hình dễ dàng
  • Kibana ElasticSearch cho phép tìm kiếm thông tin được lập chỉ mục theo thời gian thực

Ưu điểm và nhược điểm của Kinbana

  • Dễ dàng hình dung
  • Tích hợp hoàn toàn với Elaticsearch
  • công cụ trực quan
  • Cung cấp khả năng phân tích, lập biểu đồ, tóm tắt và gỡ lỗi theo thời gian thực
  • Cung cấp giao diện trực quan và thân thiện với người dùng
  • Cho phép chia sẻ ảnh chụp nhanh của nhật ký được tìm kiếm thông qua
  • Cho phép lưu bảng thông tin và quản lý nhiều bảng thông tin

Tại sao phải phân tích nhật ký?

Trong cơ sở hạ tầng môi trường dựa trên đám mây, hiệu suất và sự cô lập là rất quan trọng. Hiệu suất của máy ảo trên đám mây có thể thay đổi dựa trên tải, môi trường và số lượng người dùng hoạt động cụ thể trong hệ thống. Do đó, độ tin cậy và lỗi nút có thể trở thành một vấn đề quan trọng.

Nền tảng quản lý nhật ký có thể giám sát tất cả các vấn đề nêu trên cũng như xử lý nhật ký hệ điều hành, nhật ký máy chủ NGINX, IIS để phân tích lưu lượng truy cập web, nhật ký ứng dụng và nhật ký trên AWS (Amazon các dịch vụ web).

Quản lý nhật ký giúp các kỹ sư DevOps, quản trị viên hệ thống đưa ra quyết định kinh doanh tốt hơn. Do đó, phân tích nhật ký thông qua Elastic Stack hoặc các công cụ tương tự là rất quan trọng.

ELK so với Splunk

nai ở bắc âu Splunk
Elk là công cụ nguồn mở Splunk là một công cụ thương mại.
Elk stack không cung cấp Solaris Tính di động vì Kibana. Ưu đãi rải rác Solaris Tính di động.
Tốc độ xử lý bị hạn chế nghiêm ngặt. Cung cấp các quy trình chính xác và nhanh chóng.
ELK là một tập hợp công nghệ được tạo ra bằng sự kết hợp Elastic Search-Logstash-Kibana. Splunk là một công cụ độc quyền. Nó cung cấp cả giải pháp tại chỗ và đám mây.
Trong ELK, Tìm kiếm, Phân tích và Hình ảnh hóa chỉ có thể thực hiện được sau khi ngăn xếp ELK được thiết lập. Splunk là gói quản lý dữ liệu hoàn chỉnh theo ý của bạn.
Công cụ ELK không hỗ trợ tích hợp với các công cụ khác. Splunk là một công cụ hữu ích để thiết lập tích hợp với các công cụ khác.

Nghiên cứu điển hình

NetFlix

Netflix phụ thuộc rất nhiều vào ngăn xếp ELK. Công ty sử dụng ELK stack để giám sát và phân tích nhật ký bảo mật của hoạt động dịch vụ khách hàng. Nó cho phép họ lập chỉ mục, lưu trữ và tìm kiếm tài liệu từ hơn 800 cụm bao gồm gần XNUMX nút.

LinkedIn

Trang tiếp thị truyền thông xã hội nổi tiếng LinkedIn sử dụng ELK stack để giám sát hiệu suất và bảo mật. Nhóm CNTT đã tích hợp ELK với Kafka để hỗ trợ tải của họ trong thời gian thực. Hoạt động ELK của họ bao gồm hơn 100 cụm trên sáu trung tâm dữ liệu khác nhau.

Tripwire

Tripwire là một hệ thống Quản lý sự kiện thông tin bảo mật trên toàn thế giới. Công ty sử dụng ELK để hỗ trợ phân tích nhật ký gói thông tin.

Trung bình

Medium là một nền tảng xuất bản blog nổi tiếng. Họ sử dụng ngăn xếp ELK để gỡ lỗi các vấn đề sản xuất của mình. Công ty cũng sử dụng ELK để phát hiện DynamoDB lẩu. Hơn nữa, bằng cách sử dụng ngăn xếp này, công ty có thể hỗ trợ 25 triệu độc giả cũng như hàng nghìn bài đăng được xuất bản mỗi tuần.

Ưu điểm và nhược điểm của ngăn xếp ELK

Ưu điểm

  • ELK hoạt động tốt nhất khi nhật ký từ nhiều Ứng dụng khác nhau của doanh nghiệp hội tụ vào một phiên bản ELK duy nhất
  • Nó cung cấp những hiểu biết sâu sắc đáng kinh ngạc cho trường hợp duy nhất này và cũng loại bỏ nhu cầu đăng nhập vào hàng trăm nguồn dữ liệu nhật ký khác nhau
  • Cài đặt tại chỗ nhanh chóng
  • Dễ dàng triển khai Cân theo chiều dọc và chiều ngang
  • Elastic cung cấp nhiều ứng dụng khách ngôn ngữ trong đó có Ruby. Python. PHP, Perl, .NET, Javavà JavaKịch bản và nhiều hơn nữa
  • Có sẵn các thư viện cho các ngôn ngữ lập trình và kịch bản khác nhau

Nhược điểm

  • Các thành phần khác nhau trong ngăn xếp có thể trở nên khó xử lý khi bạn chuyển sang thiết lập phức tạp
  • Không có gì giống như thử và sai. Vì vậy, bạn càng làm nhiều, bạn càng học được nhiều điều trên đường đi

Tổng kết

  • Ghi nhật ký tập trung có thể hữu ích khi cố gắng xác định sự cố với máy chủ hoặc ứng dụng
  • Ngăn xếp máy chủ ELK rất hữu ích để giải quyết các vấn đề liên quan đến hệ thống ghi nhật ký tập trung
  • Ngăn xếp ELK là tập hợp ba công cụ nguồn mở Elaticsearch, Logstash Kibana
  • Elaticsearch là một cơ sở dữ liệu NoSQL
  • Logstash là công cụ đường ống thu thập dữ liệu
  • Kibana là một hình ảnh trực quan hóa dữ liệu giúp hoàn thiện ngăn xếp ELK
  • Trong cơ sở hạ tầng môi trường dựa trên đám mây, hiệu suất và sự cô lập là rất quan trọng
  • Trong ELK, tốc độ xử lý ngăn xếp bị hạn chế nghiêm ngặt trong khi Splunk cung cấp các quy trình chính xác và nhanh chóng
  • Netflix, LinkedIn, Tripware, Medium đều đang sử dụng ELK stack cho doanh nghiệp của họ
  • ELK Syslog hoạt động tốt nhất khi nhật ký từ nhiều Ứng dụng khác nhau của doanh nghiệp hội tụ vào một phiên bản ELK duy nhất
  • Các thành phần khác nhau trong ngăn xếp có thể trở nên khó xử lý khi bạn chuyển sang thiết lập phức tạp

tham khảo của chúng tôi Câu hỏi và câu trả lời phỏng vấn ElasticSearch dành cho ứng viên mới ra trường cũng như có kinh nghiệm.