Từ Chí Kiên
Intern
I. Phân biệt giám sát dịch vụ và giám sát hạ tầng
1. Giám sát dịch vụ
1.1. Định nghĩa
Giám sát dịch vụ là quá trình đo lường và theo dõi hiệu suất, tính sẵn sàng của một dịch vụ, ứng dụng hoặc hệ thống. Hoạt động đảm bảo dịch vụ có thể vận hành tối ưu, đồng thời khắc phục kịp thời mọi sự cố hoặc vấn đề phát sinh, việc này đòi hỏi việc sử dụng các công cụ và kỹ thuật để theo dõi nhiều chỉ số hiệu năng khác nhau. [1] [2]
1.2. Mục tiêu
Phát hiện các vấn đề có thể ảnh hưởng đến hiệu năng hoặc tính sẵn sàng của dịch vụ hay ứng dụng, chẳng hạn như sự cố mạng hoặc lỗi phần mềm. Thông qua việc giám sát dịch vụ, người quản trị có thể nhanh chóng xác định và giải quyết các sự cố trước khi chúng gây ảnh hưởng đến người dùng cuối.
1.3. Chỉ số giám sát
Tính sẵn sàng: Một hệ thống giám sát mạnh mẽ sẽ kiểm tra xem các dịch vụ có đang hoạt động hay không. Đây là một trong những chỉ số cơ bản cần theo dõi để xác định xem dịch vụ được giám sát có khả dụng hay không.
Thời gian phản hồi: Về cơ bản, thời gian phản hồi là khoảng thời gian hệ thống cần để phản hồi lại một yêu cầu đầu vào cụ thể.
Tỷ lệ lỗi: Tỷ lệ lỗi thể hiện phần trăm các lỗi xảy ra trong quá trình truyền tải dữ liệu.
1.4. Tầm quan trọng
Trải nghiệm người dùng cuối: Trong kỷ nguyên số, khách hàng mong muốn được cung cấp dịch vụ ngay lập tức. Việc để họ phải chờ đợi sẽ gây ra sự khó chịu và làm giảm mức độ tin cậy.
Giảm thiểu chi phí: Hầu hết các tổ chức đều phụ thuộc vào dịch vụ, đặc biệt là trong lĩnh vực thương mại điện tử và bán hàng trực tuyến. Tình trạng gián đoạn dịch vụ hoặc hiệu suất kém sẽ gây tổn thất lớn về doanh thu.
Đáp ứng SLA: Nhiều tổ chức tuân thủ các Thỏa thuận Mức độ Dịch vụ (SLA) để đảm bảo đạt được các mục tiêu kinh doanh. Việc triển khai các công cụ giám sát dịch vụ linh hoạt giúp theo dõi hiệu suất và phát hiện các "điểm mù" trong hệ thống mạng máy chủ.
2. Giám sát hạ tầng
2.1. Định nghĩa
Thu thập dữ liệu về tình trạng và hiệu suất từ máy chủ, máy ảo, container, cơ sở dữ liệu và các thành phần backend khác trong hệ thống công nghệ. [3] [4]
2.2. Mục tiêu
Liên tục theo dõi, đo lường và phân tích các môi trường công nghệ thông tin nhằm ngăn ngừa thời gian ngừng hoạt động, đảm bảo tính sẵn sàng cao và tối ưu hóa hiệu suất hệ thống
2.3. Chỉ số giám sát
Mức sử dụng CPU: cao có thể dẫn đến hiệu năng chậm chạp hoặc tình trạng ứng dụng bị quá thời gian chờ
Mức sử dụng bộ nhớ: Thiếu hụt bộ nhớ có thể khiến ứng dụng bị treo/đột ngột dừng hoạt động hoặc buộc hệ thống phải chuyển sang sử dụng bộ nhớ ảo trên đĩa, vốn có tốc độ chậm hơn nhiều.
Mức sử dụng đĩa: Dung lượng đĩa đã được sử dụng trên thiết bị lưu trữ vật lý hoặc ảo. Việc cạn kiệt dung lượng đĩa có thể làm ứng dụng ngừng hoạt động hoặc ngăn cản quá trình ghi dữ liệu và tệp log.
I/O đĩa: Tốc độ và khối lượng các thao tác đọc/ghi trên đĩa, chỉ số cao cho thấy cường độ hoạt động lớn, có thể làm chậm các ứng dụng hoặc cơ sở dữ liệu phụ thuộc vào việc truy xuất đĩa.
Thông lượng mạng: Lượng dữ liệu được truyền tải vào và ra khỏi hệ thống thông qua giao diện mạng. Tình trạng nghẽn lưu lượng mạng có thể làm giảm khả năng phản hồi của dịch vụ hoặc thậm chí gây gián đoạn hệ thống.
Độ trễ mạng: Thời gian cần thiết để dữ liệu di chuyển từ nguồn đến đích. Độ trễ cao dẫn đến tình trạng ứng dụng bị giật và trải nghiệm người dùng kém.
2.4. Tầm quan trọng
Độ tin cậy cao hơn: Việc liên tục theo dõi tình trạng của máy chủ, mạng và ứng dụng giúp phát hiện các vấn đề trước khi chúng ảnh hưởng đến người dùng.
Khắc phục sự cố nhanh hơn: Nhờ các cảnh báo theo thời gian thực và nhật ký chi tiết, đội ngũ kỹ thuật có thể nhanh chóng xác định nguyên nhân gốc rễ và xử lý sự cố kịp thời.
Quản lý tài nguyên hiệu quả hơn: Việc nắm bắt được xu hướng sử dụng tài nguyên tính toán, bộ nhớ, lưu trữ và băng thông cho phép lập kế hoạch năng lực thông minh hơn, tối ưu hóa chi phí và mở rộng quy mô tài nguyên hiệu quả.
Hiệu năng được nâng cao: Việc sớm phát hiện các điểm nghẽn hiệu năng và vấn đề về độ trễ giúp duy trì tốc độ cũng như khả năng phản hồi tối ưu của hệ thống, từ đó cải thiện trải nghiệm người dùng cuối.
Tăng cường khả năng bảo mật: Việc sớm phát hiện các dấu hiệu bất thường giúp đẩy nhanh quá trình điều tra và ứng phó với các mối đe dọa bảo mật tiềm tàng.
Hỗ trợ tuân thủ và kiểm toán: Các dữ liệu log và chỉ số hệ thống đóng vai trò là bằng chứng quan trọng cho công tác kiểm toán và tuân thủ quy định, giúp đáp ứng các yêu cầu của ngành.
II. Luồng hoạt động Prometheus
1. Giới thiệu
Prometheus là một công cụ mã nguồn mở mạnh mẽ, được sử dụng rộng rãi để thu thập, lưu trữ và phân tích các chỉ số trong khuôn khổ kiến trúc Prometheus tại các môi trường cloud-native hiện đại. [5]
2. Luồng hoạt động
Gồm 2 thành phần chính
- Prometheus server: chịu trách nhiệm thu thập, lưu trữ và truy vấn các chỉ số. Hệ thống này sử dụng cơ chế "pull", thu thập thông tin từ các điểm cuối HTTP được xác định trước do các exporter hoặc ứng dụng cung cấp.
- Alertmanager quản lý các cảnh báo do Prometheus kích hoạt, thực hiện việc định tuyến, loại bỏ trùng lặp và tích hợp với các hệ thống thông báo bên ngoài, qua đó đảm bảo các vấn đề được giải quyết kịp thời.
Như vậy, Prometheus hoạt động bằng cách thu thập dữ liệu từ các ứng dụng, cơ sở dữ liệu, máy chủ Linux và container, lưu trữ chúng trong cơ sở dữ liệu chuỗi thời gian (TSDB) của mình, đồng thời cung cấp dữ liệu thông qua máy chủ HTTP.
Rồi tích hợp với các công cụ khám phá dịch vụ như Kubernetes và Consul, đồng thời gửi cảnh báo đến Alert Manager; thành phần này sau đó chuyển tiếp các cảnh báo đó tới các nền tảng như Email, Slack và PagerDuty.
TÀI LIỆU THAM KHẢO
[1] https://360monitoring.com/wiki/service-monitoring/
[2] https://www.manageengine.com/network-monitoring/service-monitoring.html
[3] https://logz.io/blog/infrastructure-monitoring/#benefits-of-infrastructure-monitoring
[4] https://logz.io/blog/infrastructure-monitoring/#benefits-of-infrastructure-monitoring
[5] https://middleware.io/blog/how-prometheus-work/
1. Giám sát dịch vụ
1.1. Định nghĩa
Giám sát dịch vụ là quá trình đo lường và theo dõi hiệu suất, tính sẵn sàng của một dịch vụ, ứng dụng hoặc hệ thống. Hoạt động đảm bảo dịch vụ có thể vận hành tối ưu, đồng thời khắc phục kịp thời mọi sự cố hoặc vấn đề phát sinh, việc này đòi hỏi việc sử dụng các công cụ và kỹ thuật để theo dõi nhiều chỉ số hiệu năng khác nhau. [1] [2]
1.2. Mục tiêu
Phát hiện các vấn đề có thể ảnh hưởng đến hiệu năng hoặc tính sẵn sàng của dịch vụ hay ứng dụng, chẳng hạn như sự cố mạng hoặc lỗi phần mềm. Thông qua việc giám sát dịch vụ, người quản trị có thể nhanh chóng xác định và giải quyết các sự cố trước khi chúng gây ảnh hưởng đến người dùng cuối.
1.3. Chỉ số giám sát
Tính sẵn sàng: Một hệ thống giám sát mạnh mẽ sẽ kiểm tra xem các dịch vụ có đang hoạt động hay không. Đây là một trong những chỉ số cơ bản cần theo dõi để xác định xem dịch vụ được giám sát có khả dụng hay không.
Thời gian phản hồi: Về cơ bản, thời gian phản hồi là khoảng thời gian hệ thống cần để phản hồi lại một yêu cầu đầu vào cụ thể.
Tỷ lệ lỗi: Tỷ lệ lỗi thể hiện phần trăm các lỗi xảy ra trong quá trình truyền tải dữ liệu.
1.4. Tầm quan trọng
Trải nghiệm người dùng cuối: Trong kỷ nguyên số, khách hàng mong muốn được cung cấp dịch vụ ngay lập tức. Việc để họ phải chờ đợi sẽ gây ra sự khó chịu và làm giảm mức độ tin cậy.
Giảm thiểu chi phí: Hầu hết các tổ chức đều phụ thuộc vào dịch vụ, đặc biệt là trong lĩnh vực thương mại điện tử và bán hàng trực tuyến. Tình trạng gián đoạn dịch vụ hoặc hiệu suất kém sẽ gây tổn thất lớn về doanh thu.
Đáp ứng SLA: Nhiều tổ chức tuân thủ các Thỏa thuận Mức độ Dịch vụ (SLA) để đảm bảo đạt được các mục tiêu kinh doanh. Việc triển khai các công cụ giám sát dịch vụ linh hoạt giúp theo dõi hiệu suất và phát hiện các "điểm mù" trong hệ thống mạng máy chủ.
2. Giám sát hạ tầng
2.1. Định nghĩa
Thu thập dữ liệu về tình trạng và hiệu suất từ máy chủ, máy ảo, container, cơ sở dữ liệu và các thành phần backend khác trong hệ thống công nghệ. [3] [4]
2.2. Mục tiêu
Liên tục theo dõi, đo lường và phân tích các môi trường công nghệ thông tin nhằm ngăn ngừa thời gian ngừng hoạt động, đảm bảo tính sẵn sàng cao và tối ưu hóa hiệu suất hệ thống
2.3. Chỉ số giám sát
Mức sử dụng CPU: cao có thể dẫn đến hiệu năng chậm chạp hoặc tình trạng ứng dụng bị quá thời gian chờ
Mức sử dụng bộ nhớ: Thiếu hụt bộ nhớ có thể khiến ứng dụng bị treo/đột ngột dừng hoạt động hoặc buộc hệ thống phải chuyển sang sử dụng bộ nhớ ảo trên đĩa, vốn có tốc độ chậm hơn nhiều.
Mức sử dụng đĩa: Dung lượng đĩa đã được sử dụng trên thiết bị lưu trữ vật lý hoặc ảo. Việc cạn kiệt dung lượng đĩa có thể làm ứng dụng ngừng hoạt động hoặc ngăn cản quá trình ghi dữ liệu và tệp log.
I/O đĩa: Tốc độ và khối lượng các thao tác đọc/ghi trên đĩa, chỉ số cao cho thấy cường độ hoạt động lớn, có thể làm chậm các ứng dụng hoặc cơ sở dữ liệu phụ thuộc vào việc truy xuất đĩa.
Thông lượng mạng: Lượng dữ liệu được truyền tải vào và ra khỏi hệ thống thông qua giao diện mạng. Tình trạng nghẽn lưu lượng mạng có thể làm giảm khả năng phản hồi của dịch vụ hoặc thậm chí gây gián đoạn hệ thống.
Độ trễ mạng: Thời gian cần thiết để dữ liệu di chuyển từ nguồn đến đích. Độ trễ cao dẫn đến tình trạng ứng dụng bị giật và trải nghiệm người dùng kém.
2.4. Tầm quan trọng
Độ tin cậy cao hơn: Việc liên tục theo dõi tình trạng của máy chủ, mạng và ứng dụng giúp phát hiện các vấn đề trước khi chúng ảnh hưởng đến người dùng.
Khắc phục sự cố nhanh hơn: Nhờ các cảnh báo theo thời gian thực và nhật ký chi tiết, đội ngũ kỹ thuật có thể nhanh chóng xác định nguyên nhân gốc rễ và xử lý sự cố kịp thời.
Quản lý tài nguyên hiệu quả hơn: Việc nắm bắt được xu hướng sử dụng tài nguyên tính toán, bộ nhớ, lưu trữ và băng thông cho phép lập kế hoạch năng lực thông minh hơn, tối ưu hóa chi phí và mở rộng quy mô tài nguyên hiệu quả.
Hiệu năng được nâng cao: Việc sớm phát hiện các điểm nghẽn hiệu năng và vấn đề về độ trễ giúp duy trì tốc độ cũng như khả năng phản hồi tối ưu của hệ thống, từ đó cải thiện trải nghiệm người dùng cuối.
Tăng cường khả năng bảo mật: Việc sớm phát hiện các dấu hiệu bất thường giúp đẩy nhanh quá trình điều tra và ứng phó với các mối đe dọa bảo mật tiềm tàng.
Hỗ trợ tuân thủ và kiểm toán: Các dữ liệu log và chỉ số hệ thống đóng vai trò là bằng chứng quan trọng cho công tác kiểm toán và tuân thủ quy định, giúp đáp ứng các yêu cầu của ngành.
II. Luồng hoạt động Prometheus
1. Giới thiệu
Prometheus là một công cụ mã nguồn mở mạnh mẽ, được sử dụng rộng rãi để thu thập, lưu trữ và phân tích các chỉ số trong khuôn khổ kiến trúc Prometheus tại các môi trường cloud-native hiện đại. [5]
2. Luồng hoạt động
Gồm 2 thành phần chính
- Prometheus server: chịu trách nhiệm thu thập, lưu trữ và truy vấn các chỉ số. Hệ thống này sử dụng cơ chế "pull", thu thập thông tin từ các điểm cuối HTTP được xác định trước do các exporter hoặc ứng dụng cung cấp.
- Alertmanager quản lý các cảnh báo do Prometheus kích hoạt, thực hiện việc định tuyến, loại bỏ trùng lặp và tích hợp với các hệ thống thông báo bên ngoài, qua đó đảm bảo các vấn đề được giải quyết kịp thời.
Như vậy, Prometheus hoạt động bằng cách thu thập dữ liệu từ các ứng dụng, cơ sở dữ liệu, máy chủ Linux và container, lưu trữ chúng trong cơ sở dữ liệu chuỗi thời gian (TSDB) của mình, đồng thời cung cấp dữ liệu thông qua máy chủ HTTP.
Rồi tích hợp với các công cụ khám phá dịch vụ như Kubernetes và Consul, đồng thời gửi cảnh báo đến Alert Manager; thành phần này sau đó chuyển tiếp các cảnh báo đó tới các nền tảng như Email, Slack và PagerDuty.
TÀI LIỆU THAM KHẢO
[1] https://360monitoring.com/wiki/service-monitoring/
[2] https://www.manageengine.com/network-monitoring/service-monitoring.html
[3] https://logz.io/blog/infrastructure-monitoring/#benefits-of-infrastructure-monitoring
[4] https://logz.io/blog/infrastructure-monitoring/#benefits-of-infrastructure-monitoring
[5] https://middleware.io/blog/how-prometheus-work/
Bài viết liên quan
Được quan tâm
Bài viết mới