Giải đáp bộ 3 công cụ monitoring/logging stack: ELK, Grafana và Prometheus
Last updated: December 09, 2025 Xem trên toàn màn hình
- 04 Mar 2020
Kinh nghiệm lập dự toán chi phí dự án phần mềm theo phương pháp Man-Month 39/2595 - 01 Jul 2023
Phương pháp Shuhari - Làm sao học ít hiểu nhiều? 25/992 - 15 Apr 2020
Phần mềm BPM là gì? So sánh với ERP và các phần mềm Workflows 14/575 - 14 Aug 2022
Khác biệt giữa tiêu chí hoàn thành DOD (Definition of Done) với tiêu chí nghiệm thu (Acceptance Criteria) 12/513 - 01 Apr 2022
Chi phí nhà thầu phụ chiếm bao nhiêu phần trăm gói thầu? 10/165 - 14 Aug 2024
Eventual Consistency và Strong Consistency trong Cơ sở dữ liệu phân tán 10/163 - 12 May 2021
Các yêu cầu thay đổi (Change Requests) - nỗi ám ảnh của team dự án phần mềm 9/381 - 04 Jan 2023
Đánh giá nhân sự theo chuẩn người Nhật 8/406 - 01 Aug 2022
"Sponsored Content" là gì? Khác nhau giữa Sponsored Content và Native Advertising? 8/822 - 01 Sep 2020
Co-founder là gì? Vai trò của các Co-Founder khi lập nghiệp. 6/225 - 01 Feb 2022
Thách thức với doanh nghiệp chuyển đổi số trong thời đại VUCA 5/710 - 08 Mar 2022
Mô hình nguồn mở hoạt động ra sao? 5/204 - 03 Oct 2021
Elsa Speak: Công nghệ sẽ khai phóng tiềm năng ngôn ngữ nhờ tích hợp AI 5/516 - 01 Jun 2025
Thiết Kế Hướng Miền (Domain-Driven Design) hình thành như thế nào trong kiến trúc Lưới Dữ Liệu (Data Mesh)? 5/60 - 14 May 2024
Chiến lược răng lược là gì? Làm thế nào để tận dụng chiến lược răng lược trong kinh doanh? 4/218 - 14 Jan 2024
Airtable là ứng dụng gì? 4/237 - 01 May 2023
[Tư vấn CNTT] Quản lý ngân sách CNTT cho doanh nghiệp 4/182 - 08 Mar 2020
Vì sao doanh nghiệp cần phải tạo Web bán hàng? 4/165 - 19 Aug 2020
Lift & Shift - Phương pháp tối ưu dịch chuyển hệ thống phần mềm qua đám mây 4/152 - 03 Oct 2021
Khác biệt giữa thiết kế phần mềm và thiết kế công trình xây dựng 3/507 - 03 Feb 2020
Sản phẩm OEM và ODM là gì? 3/471 - 27 Dec 2024
Chuyển hình ảnh thành văn bản có thể chỉnh sửa cực nhanh – Khám phá ngay! 3/182 - 28 Aug 2024
K-INNOVATION: SỰ KIỆN XÚC TIẾN THƯƠNG MẠI VIỆT NAM - HÀN QUỐC 3/319 - 13 Sep 2024
Cấp quyền và Hủy quyền người dùng (User Provisioning & Deprovisioning) là gì? 3/48 - 06 Mar 2023
KISA - Mô hình đánh giá an toàn thông tin của Hàn Quốc 2/131 - 25 Apr 2018
Bảo hộ bản quyền phần mềm dưới khía cạnh sở hữu trí tuệ như thế nào? 2/145 - 09 Feb 2021
Tầm nhìn là gì? Tí dụ minh họa cụ thể về tầm nhìn 2/127 - 17 Aug 2020
Mục tiêu dự án là gì? Làm thế nào để xác định mục tiêu? 1/231 - 18 Mar 2018
Dịch vụ Hosting cho Website là gì? Các lời khuyên chọn Hosting tốt nhất 1/237 - 17 Feb 2018
Hệ luỵ khi sử dụng Web Hosting từ nhà cung cấp kém chất lượng /143
Sự khác biệt chính giữa ELK Stack, Grafana, và Prometheus nằm ở mục đích sử dụng chính (Logs vs. Metrics) và vai trò của mỗi công cụ trong hệ thống giám sát.
ELK Stack chuyên về Quản lý và Phân tích Log.
Prometheus chuyên về Thu thập và Lưu trữ Metrics (số liệu thời gian).
Grafana chuyên về Trực quan hóa (Visualization) dữ liệu từ nhiều nguồn khác nhau, bao gồm cả ELK Stack và Prometheus.
Tổng quan về ELK Stack, Grafana và Prometheus
| Công cụ | Mục đích chính | Vai trò | Loại dữ liệu chính | Mô hình thu thập |
| ELK Stack | Quản lý, tìm kiếm và phân tích Logs (nhật ký) và dữ liệu sự kiện. | Một giải pháp trọn gói (End-to-end) để xử lý dữ liệu phi cấu trúc. | Logs (dạng văn bản, sự kiện) | Push-based (Logstash/Beats đẩy dữ liệu) |
| Prometheus | Thu thập, lưu trữ và xử lý Metrics (các số liệu thời gian). | Cơ sở dữ liệu chuỗi thời gian (Time-series Database) và hệ thống cảnh báo. | Metrics (số liệu, giá trị theo thời gian) | Pull-based (Prometheus chủ động kéo dữ liệu qua HTTP) |
| Grafana | Trực quan hóa và tạo Dashboard. | Giao diện người dùng để phân tích và hiển thị dữ liệu từ nhiều nguồn khác nhau. | Đa dạng (Metrics, Logs, Traces...) | Không tự thu thập (Chỉ truy vấn nguồn dữ liệu) |
Chi tiết về từng công cụ
1. ELK Stack (Elasticsearch, Logstash, Kibana)
ELK là viết tắt của bộ ba công cụ mã nguồn mở:
- Elasticsearch: Công cụ tìm kiếm và phân tích phân tán, dùng để lưu trữ và tìm kiếm dữ liệu log.
- Logstash: Công cụ thu thập, xử lý, và chuyển đổi dữ liệu log từ nhiều nguồn khác nhau trước khi gửi đến Elasticsearch.
- Kibana: Giao diện web dùng để trực quan hóa dữ liệu log đã được lưu trữ trong Elasticsearch, tạo dashboard và thực hiện các truy vấn tìm kiếm toàn văn (full-text search).
- Ứng dụng chính: Phân tích log hệ thống, log ứng dụng, theo dõi hoạt động người dùng, Phân tích Sự kiện và Thông tin Bảo mật (SIEM).
- Điểm mạnh: Mạnh mẽ trong việc xử lý dữ liệu phi cấu trúc (Logs) và tìm kiếm toàn văn tốc độ cao.
2. Prometheus
Prometheus là một hệ thống giám sát và cảnh báo mã nguồn mở.
- Mục tiêu chính: Thu thập và lưu trữ Metrics (số liệu) dưới dạng chuỗi thời gian (time-series). Metrics là các giá trị số được gắn nhãn theo thời gian, ví dụ: mức sử dụng CPU, dung lượng RAM còn trống, số lượng yêu cầu HTTP/s.
- Cơ chế hoạt động: Sử dụng mô hình Pull-based - Prometheus chủ động truy vấn các endpoint (thường là
/metrics) của các ứng dụng hoặc máy chủ theo định kỳ để lấy dữ liệu. - Ngôn ngữ truy vấn: Sử dụng PromQL mạnh mẽ để truy vấn và tính toán dữ liệu chuỗi thời gian phức tạp.
- Alertmanager: Thường được kết hợp với Alertmanager để xử lý và định tuyến các cảnh báo.
- Điểm mạnh: Rất phù hợp để giám sát hạ tầng và các hệ thống Microservices, đặc biệt là trong môi trường Kubernetes.
3. Grafana
Grafana là một nền tảng trực quan hóa và phân tích dữ liệu.
- Vai trò chính: Cung cấp một giao diện người dùng đẹp mắt, linh hoạt để tạo các bảng điều khiển (Dashboard). Grafana không tự thu thập hay lưu trữ dữ liệu.
- Nguồn dữ liệu đa dạng: Grafana hoạt động bằng cách kết nối với nhiều nguồn dữ liệu khác nhau (gọi là Data Sources) như Prometheus, Elasticsearch (tức là ELK), InfluxDB, MySQL, CloudWatch...
- Tính năng: Xây dựng biểu đồ, đồ thị, bảng dữ liệu, và cũng có tính năng cảnh báo (Alerting) dựa trên dữ liệu từ các nguồn được kết nối.
- Điểm mạnh: Khả năng tổng hợp và trực quan hóa dữ liệu từ nhiều hệ thống giám sát khác nhau trên cùng một giao diện.
Ứng dụng phù hợp (Best Fit)
Trong một hệ thống giám sát toàn diện (Observability Stack), các công cụ này thường được sử dụng như sau:
- Thu thập Logs: ELK Stack (với Logstash/Beats và Elasticsearch) thu thập, lưu trữ và cho phép tìm kiếm log chi tiết.
- Thu thập Metrics: Prometheus thu thập và lưu trữ các số liệu hiệu suất theo thời gian.
- Trực quan hóa: Grafana đóng vai trò là giao diện trung tâm, kết nối với Elasticsearch (để hiển thị Logs) và Prometheus (để hiển thị Metrics) trên các Dashboard tùy chỉnh.
Kết Luận
Tóm lại, ELK Stack, Prometheus, và Grafana là ba trụ cột quan trọng trong lĩnh vực Observability. ELK là giải pháp toàn diện cho Logs và tìm kiếm, Prometheus là nền tảng chuyên biệt cho Metrics (số liệu thời gian) và cảnh báo, còn Grafana đóng vai trò là giao diện Trực quan hóa linh hoạt, tổng hợp dữ liệu từ cả hai nguồn trên để cung cấp cái nhìn toàn diện về sức khỏe hệ thống.
Sự kết hợp của chúng tạo nên một hệ thống giám sát mạnh mẽ, giúp đội ngũ vận hành đưa ra quyết định nhanh chóng và chính xác.









Link copied!
Mới cập nhật