Vấn đề của các hệ thống giám sát theo chiều dọc

Khi tìm hiểu về hệ thống theo dõi uptime website, tôi bắt gặp một câu hỏi rất thú vị của tác giả Tuấn Dev, đại ý là:

Bản thân các hệ thống theo dõi uptime thì cái gì hoặc ai theo dõi uptime cho nó?!

Bởi nếu hệ thống theo dõi uptime mà bị downtime, các kết quả từ nó sẽ bớt chính xác.

Đây là điều dễ hiểu.

Nếu một công cụ theo dõi uptime mà bản thân nó chỉ có uptime 99%, thì nó sẽ không thể đưa ra thống kê chính xác hơn 99%, do 1% thời gian còn lại nó không thể biết được các website nó đang theo dõi đang ở trạng thái uptime hay downtime (gián đoạn truy cập).

Chúng ta sẽ gặp lại hiện tượng này ở các công ty gia đình.

Các công ty có cấu trúc lãnh đạo theo chiều dọc, cấp trên giám sát và ra quyết định cho cấp dưới.

Câu hỏi nảy sinh là: Ai sẽ là người giám sát cấp cao nhất?

Tất nhiên bạn có thể nói là, chính những người lao động, những cấp dưới khác giám sát cấp trên.

Điều đó đúng phần nào, nhưng đó chỉ là giám sát không chính thức. Và giám sát không chính thức gặp rất nhiều giới hạn.

Bạn không thể yêu cầu kiểm tra hồ sơ sổ sách theo định kỳ với giám sát không chính thức. Bạn không thể biết được các quyết định được thực hiện vào thời điểm nào và vì lý do gì trong giám sát không chính thức.

Nói tóm lại giám sát không chính thức sẽ không có đầy đủ và kịp thời các thông tin quan trọng nhất.

Hệ quả: người quản trị trong công ty gia đình có thể lạm quyền, mà chủ yếu ở đây là sẽ thực hiện các quyết định có lợi nhất cho họ, dù có thể gây hại nghiêm trọng đến quyền lợi của người lao động bên dưới, hoặc/và cả xã hội nói chung.

Bất lợi căn bản của hệ thống giám sát theo chiều dọc, là bản thân nó không có hệ thống giám sát cho cấp cao nhất. Điều này tạo ra lỗ hổng về thông tin, tạo cơ hội cho các sai lầm tiếp diễn trong bóng tối.

Một ví dụ nữa là về hệ thống cân bằng tải (load balancing).

cân bằng tải
Ảnh từ relipasoft

Hệ thống cân bằng tải giúp website duy trì được uptime cao hơn. Nguyên lý của nó như sau:

  • Bên cạnh máy chủ bạn đang có, bạn thuê thêm một máy chủ nữa, lý tưởng nhất là có cấu hình tương tự
  • Máy chủ thứ hai (máy chủ dự phòng) này sao chép toàn bộ nội dung của máy chủ thứ nhất (máy chủ chính)
  • Một hệ thống cân bằng tải kết nối cả hai máy chủ chính và dự phòng. Hệ thống cân bằng tải nằm giữa người dùng và 2 máy chủ
  • Khi có một yêu cầu đến website, hệ thống cân bằng tải sẽ kiểm tra xem máy chủ chính có ổn hay không, nếu ổn nó sẽ điều hướng truy cập về đây. Trong trường hợp ngược lại, máy chủ chính gặp vấn đề, hệ thống cân bằng tải sẽ điều hướng lưu lượng về máy chủ dự phòng giúp cho website không bị gián đoạn

Nhưng dường như chúng ta quên mất điều vô cùng quan trọng:

  • Hệ thống trên đã được lý tưởng hóa, khi hệ thống cân bằng tải được giả định là có uptime 100%không gặp bất cứ lỗi nào trong việc ra quyết định chuyển hướng, điều trong đời thực không bao giờ xảy ra

Nói cách khác, vấn đề ở đây là: bản thân hệ thống cân bằng tải cũng có thể gặp lỗi và gây gián đoạn website! tức là bản thân nó cũng phải có yếu tố giám sát khác để tránh hiện tượng này.

Một yêu cầu bắt buộc, hệ thống cân bằng tải phải có uptime trên lý thuyết tốt hơn uptime của hosting mà nó giúp phân phối truy cập. Nếu ngược lại, thì chính hệ thống cân bằng tải sẽ làm thời gian gián đoạn của website tính trên trung bình cao hơn so với khi nó không được sử dụng! Load balancing bất ngờ trở thành mắt xích yếu nhất.

Vậy là bạn lại phải thiết kế một hệ thống giám sát có uptime cao hơn uptime của hệ thống cân bằng tải để phát hiện ra thời điểm load balancing bị downtime? Liệu có khả năng như thế được không?

Câu trả lời là KHÔNG. Hệ thống giám sát theo chiều dọc không thể kéo dài đến vô tận, nó sẽ phải dừng lại ở điểm nào đó, và điểm cuối này trở thành vấn đề vì bản thân nó không thể hoạt động 100% như lý tưởng được. Điểm cuối chắc chắn có khả năng gặp vấn đề, điều quan trọng không phải là nó sẽ gặp rắc rối (chúng ta biết rằng sớm muộn nó sẽ có vấn đề), mà là người ta không biết vấn đề ấy xảy ra vào lúc nào và nghiêm trọng ra sao nếu không có gì giám sát. Đây là lúc hệ thống bên ngoài thể hiện giá trị của nó.

Hệ thống giám sát theo chiều ngang

Vấn đề của hệ thống giám sát theo chiều dọc có thể được giải quyết khá đơn giản nếu người ta quyết định mở rộng việc giám sát này theo chiều ngang. Tức là các điểm giám sát sẽ được giám sát chéo nhau, để khi xảy ra lỗi ở bất kỳ điểm nào trong hệ thống, các lỗi này sẽ nhanh chóng được phát hiện và khắc phục (trước khi có khả năng khắc phục nó phải được phát hiện đã).

Hệ thống giám sát kiểu cũ giống như sợi chỉ mỏng manh xuyên qua các chuỗi cần giám sát như các nút hạt, hệ thống giám sát chéo giống như mạng nhện hơn, một điểm trên nó kết nối với nhiều điểm khác và có sự giám sát qua lại lẫn nhau.

Câu hỏi khiến chúng ta băn khoăn là: liệu một hệ thống giám sát bị coi là có chất lượng thấp hơn có giám sát được hệ thống giám sát được coi là có chất lượng cao hơn hay không?

Trực giác nói không, nhưng thực tế nói CÓ:

  • Chẳng hạn 10 hệ thống giám sát uptime cấp dưới có uptime là 99%. Một hệ thống giám sát uptime cấp trên có uptime 99,9%. Liệu 10 hệ thống giám sát uptime cấp dưới có thể đưa ra được kết quả chính xác về uptime của hệ thống cấp trên không? Câu trả lời là có thể được, nếu cả 10 hệ thống giám sát uptime cấp dưới KHÔNG bị downtime cùng một lúc vào khoảng 0,01% thời gian. Điều này là có thể làm được bằng cách phân tán các rủi ro hàng đầu dẫn đến downtime của các hệ thống cấp dưới. Ví dụ như giả sử nguồn điện là nguyên nhân hàng đầu gây downtime, các hệ thống giám sát uptime cấp dưới nên sử dụng các nguồn điện chính khác nhau, cũng như các nguồn dự phòng khác nhau để tránh bị rớt cùng một lúc.
  • Các nhân viên hoàn toàn có khả năng giám sát được cấp trên của mình. Cho dù bạn có giả định là các nhân viên cấp dưới không có năng lực như cấp trên, thì sự phối hợp giữa họ thường đem lại năng lực tốt hơn rất nhiều. Hơn nữa việc giám sát ở đây chủ yếu ở khía cạnh cân bằng lợi ích. Ngăn không cho cấp trên đưa ra các quyết định thiên lệch về lợi ích hoặc vi phạm đạo đức. Hệ thống giám sát cấp dưới có thể không can thiệp được vào quyết định của cấp trên (đây là vấn đề khác), điểm trọng tâm ở đây là hệ thống giám sát cấp dưới nhờ việc giám sát ngược đã phát hiện được vấn đề mà cấp trên đang gặp phải.

Leave a Comment