Logging là một công cụ dễ dàng và đơn giản và to gan mẽ, ghi lại toàn cục những hoạt động vui chơi của hệ thống.
Bạn đang xem: Tìm hiểu và cài đặt elk elasticsearch logstash kibana
Nhờ có logging, ta hoàn toàn có thể tra cứu giúp lại trạng thái của hệ thống trong vượt khứ, rất nhiều code nào đã được chạy, từ đó tìm ra lỗi và fix thuận tiện hơn.
Tuy nhiên bài toán tập bình thường và so với log của khối hệ thống là vụ việc khó khăn đối với mỗi doanh nghiệp. Hôm nay mình xin trình làng về ELK stack một công cụ mạnh khỏe dùng để quản lý và đối chiếu log tập chung.
Mục lục
1. Technical stack là gì?
2. ELK stack.
3. Những thành phần nằm trong ELK stack.
4. Những trường hợp áp dụng ELK stack.
5. Do sao nên áp dụng ELK stack.
1. Technical stack là gì?
Technical Stack, còn gọi là solution stack, là 1 tập hợp phần đông phần mềm/công nghệ kết hợp chung với nhau, chế tạo thành một căn nguyên để áp dụng có thể vận động được.
Một stack thông thường sẽ được kết cấu bởi những thành phần :
Hệ điều hành. Webserver. Database. Back-end Programming Language.Mỗi thành phía bên trong stack phụ trách một trách nhiệm riêng biệt.
2. ELK stack.
ELK Stack là tập hòa hợp 3 ứng dụng đi bình thường với nhau, giao hàng cho các bước logging. Ba ứng dụng này theo thứ tự là :
Elasticsearch: Cơ sở tài liệu để giữ trữ, tra cứu kiếm với query log. Logstash: tiếp nhận log từ rất nhiều nguồn, kế tiếp xử lý log và ghi dữ liệu vào Elasticsearch. Kibana: đồ họa để quản ngại lý, thống kê lại log. Đọc tin tức từ Elasticsearch.Điểm mạnh mẽ của ELK là kĩ năng thu thập, hiển thị, truy tìm vấn theo thời hạn thực. Có thể đáp ứng truy nã vấn một lượng dữ liệu cực lớn.
Hình dưới đấy là cơ chế hoạt động vui chơi của ELK stack :

Đầu tiên, log sẽ được mang tới Logstash. (Thông qua nhiều con đường, ví dụ như server giữ hộ UDP request đựng log tới URL của Logstash, hoặc Beat phát âm file log và gửi lên Logstash).
Logstash đang đọc những log này, thêm những thông tin như thời gian, IP, parse tài liệu từ log (server nào, độ nghiêm trọng, văn bản log) ra, sau đó ghi xuống database là Elasticsearch.
Khi ước ao xem log, người dùng vào URL của Kibana. Kibana đã đọc tin tức log trong Elasticsearch, hiển thị lên giao diện cho người dùng query và xử lý.
3. Những thành phía bên trong ELK stack.
3.1. Elasticsearch.
Elasticsearch là một trong RESTful distributed tìm kiếm engine. Phát âm nôm na là nó hỗ trợ khả năng tìm kiếm phân tán qua API. Lưu trữ dữ liệu theo mô hình NoSQL database (cơ sở dữ liệu không có cấu trúc).
Elasticsearch được cho phép bạn tiến hành và phối kết hợp rất nhiều nhiều loại tìm kiếm: gồm cấu trúc, không cấu trúc, geo, metric theo phong cách bạn muốn.
Việc tra cứu kiếm trong một lượng không nhiều dữ liệu rất dễ dàng dàng, tuy nhiên nếu có 1 tỷ dòng dữ liệu thì gắng nào? Elasticsearch chất nhận được bạn gồm cái quan sát để khai quật khuynh phía và các mẫu trong dữ liệu.
Elasticsearch khôn cùng nhanh, thực sự cực kỳ nhanh. Chúng ta có câu vấn đáp ngay tức thời với những dữ liệu nắm đổi.
Bạn có thể chạy nó trên hàng trăm server với sản phẩm petabyte dữ liệu.
Vận hành dễ dàng dàng:
khả năng co giãn, Độ sẵn sàng cao. Dự đoán trước, tin cậy. Đơn giản, trong suốtElasticsearch sử dụng chuẩn RESTful APIs và JSON.
Như nạm nào là 1 trong những RESTful distributed tìm kiếm engine
Distributed & Highly Available search Engine:
từng Index là full shard với 1 số cấu hình của shard. Từng shard gồm một hoặc các replica. Giải pháp xử lý đọc cùng tìm loài kiến trên mõi replica shard.Multi Tenant with Multi Types:
cung cấp nhiều hơn một index. Cung ứng nhiều loại trên một index. Thông số kỹ thuật index cấp độ (số shard, index storage).Various phối of APIs:
HTTP RESTful API. Native Java API. Tất cả API thực hiện thao tác làm việc node auto mỗi lúc định tuyến lại.Document oriented:
Không phải định nghĩa trước schema. Schema hoàn toàn có thể được định nghĩa cho từng loại tùy vào quy trình indexing.Tin cậy.
Tìm tìm (gần) theo thời gian thực.
Xây dựng dựa trên Lucene:
từng shard là một trong Lucene index đầy đủ chức năng. Tất cả các ưu thế của Lucene được khai phá trải qua cấu hình/plugin 1-1 giản.Hoạt đụng nhất quán.
Open Source under the Apache License, version 2 (“ALv2”).
3.2. Logstash.
Logstash có chức năng phân tích cú pháp của các dòng dữ liệu. Bài toán phân tích tạo nên dữ liệu đầu vào sinh sống một dạng cực nhọc đọc, chưa tồn tại nhãn thành một dạng dữ liệu có cấu trúc, được gán nhãn.
Khi cấu hình Logstash luôn có 3 phần: Input, Filter, Output.
Bình thường khi thao tác với Logstash, đã phải thao tác với Filter những nhất. Filter lúc này sử dụng Grok nhằm phân tích dữ liệu.
3.3. Kibana.
Kibana được trở nên tân tiến riêng cho áp dụng ELK, thực hiển biến đổi các truy vấn vấn của người tiêu dùng thành câu truy hỏi vấn mà lại Elasticsearch rất có thể thực hiện tại được. Kết quả hiển thị bằng nhiều cách: theo các dạng biểu đồ.
4. Những trường hợp áp dụng ELK stack.
Với các khối hệ thống hoặc áp dụng nhỏ, ta không cần thực hiện ELK stack làm gì, cứ cần sử dụng thư viện ghi log đi kèm theo với ngôn ngữ, sau đó ghi log ra file rồi gọi bình thường.
Tuy nhiên, cùng với những khối hệ thống lớn nhiều người dùng, có không ít service phân tán (microservice), có nhiều server chạy thuộc lúc… thì bài toán ghi log xuống file không còn kết quả nữa. Hôm nay số lượng máy chủ trên khối hệ thống là to và nhiều bởi vì đó chúng ta không thể sử dụng cách bằng tay là remote vào từng thiết bị rồi gọi log của từng hệ thống được, từ bây giờ ELK stack sẽ xử lý vấn đề đó. ELK stack đang ghi log tập chung vào một chỗ khiến chúng ta cũng có thể dễ dàng cai quản log bên trên toàn hệ thống.
5. Vị sao nên áp dụng ELK stack.
Dễ tích hợp: Dù các bạn có sử dụng Nginx hay Apache, sử dụng MSSQL, MongoDB xuất xắc Redis, Logstash đều có thể đọc hiểu và cách xử trí log của doanh nghiệp nên bài toán tích hợp rất dễ dàng dàng.
Hoàn toàn free: chỉ việc tải về, thiết đặt và dùng, không tốn một đồng như thế nào cả. Công ty tạo ra ELK Stack tìm tiền bằng các dịch vụ cloud hoặc các sản phẩm premium phụ thêm.
Khả năng scale tốt: Logstash cùng Elasticsearch chạy trên các node nên hệ thống ELK cực kì dễ scale. Khi tất cả thêm service, thêm người dùng, muốn log những hơn, bạn chỉ việc thêm node cho Logstash cùng Elasticsearch là xong.
Xem thêm: Kết Quả Xổ Số Miền Nam Ngày 27 Tháng 5 Năm 2020 Hôm Nay Thứ 4
Search và filter bạo dạn mẽ: Elasticsearch chất nhận được lưu trữ tin tức kiểu NoSQL, cung cấp luôn Full-Text search nên vấn đề query rất thuận lợi và dạn dĩ mẽ.