Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ điện toán đám mây (Cloud Computing) đã tạo ra bước dịch chuyển lớn trong phương thức lưu trữ và vận hành hệ thống thông tin. Mô hình lưu trữ đám mây giúp các cá nhân và tổ chức cắt giảm đáng kể chi phí đầu tư phần cứng ban đầu, đồng thời tiết kiệm diện tích lắp đặt phòng máy chủ vật lý. Đi cùng với xu hướng này là nhu cầu cấp thiết về việc theo dõi, kiểm soát và duy trì trạng thái hoạt động liên tục của hạ tầng máy chủ từ xa nhằm ngăn ngừa nguy cơ tắc nghẽn, suy giảm hiệu năng hoặc gián đoạn dịch vụ.
Đề tài khóa luận "Xây dựng Web Server quản lý tài nguyên máy chủ Linux" do sinh viên Nguyễn Hoàng Hà thực hiện dưới sự hướng dẫn của TS. Nguyễn Văn Thuỷ tại Khoa Công nghệ Thông tin 1, Học viện Công nghệ Bưu chính Viễn thông (tháng 12 năm 2021) tập trung vào bài toán xây dựng công cụ giám sát máy chủ Linux dựa trên nền tảng nguồn mở Prometheus và Grafana.
Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định theo văn bản gồm:
- Nghiên cứu thực trạng, phân loại máy chủ và các yếu tố ảnh hưởng trực tiếp đến hiệu suất vận hành hệ thống máy chủ.
- Khảo sát, đánh giá các công cụ quản lý máy chủ hiện hành trên thị trường, bao gồm cả giải pháp thương mại và nguồn mở.
- Nghiên cứu sâu về cơ sở dữ liệu chuỗi thời gian (TSDB), nguyên lý hoạt động của toolkit giám sát Prometheus và công cụ trực quan hóa Grafana.
- Phân tích kiến trúc, thiết kế mô hình kết nối giữa máy chủ giám sát và máy chủ mục tiêu (Target Server).
- Hiện thực hóa việc cài đặt, cấu hình môi trường máy chủ trên hệ điều hành Linux (bản phân phối CentOS 7) và thiết lập các cổng dịch vụ cần thiết để thu thập dữ liệu tài nguyên.
Phạm vi nghiên cứu của đề tài giới hạn trong không gian quản trị hệ điều hành Linux (CentOS 7 x86_64) được triển khai trên nền tảng ảo hóa VMware Workstation; tập trung vào việc quản lý các tài nguyên phần cứng cốt lõi gồm CPU, RAM, ổ đĩa (Disk), lưu lượng mạng (Network) và các tiến trình hệ điều hành. Mốc thời gian dữ liệu thực tế và số liệu thống kê được tác giả trích dẫn cập nhật đến Quý 1 năm 2021.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết của đề tài xây dựng dựa trên mô hình kiến trúc Client - Server, các nguyên lý ảo hóa hạ tầng (Dedicated Server, VPS, Cloud Server) và lý thuyết về hệ thống đo lường hiệu năng máy chủ. Các chỉ số đo lường hiệu suất được chuẩn hóa gồm:
- Thông lượng (Throughput): Số lượng yêu cầu (requests) mà máy chủ xử lý thành công trong một đơn vị thời gian (request/giây).
- Mức độ sử dụng CPU (CPU Usage): Tỷ lệ phần trăm xử lý của CPU bị chiếm dụng bởi tiến trình hệ thống, dịch vụ nền và phần mềm độc hại.
- Sự tối ưu hóa (Utilization): Mức độ phân bổ và sử dụng hiệu quả tài nguyên phần cứng từ các ứng dụng đã được tối ưu mã nguồn và cấu hình.
- Thời gian hoạt động liên tục (Server Uptime): Tỷ lệ phần trăm thời gian máy chủ thực tế vận hành và cung cấp dịch vụ so với thời gian kỳ vọng, tính theo công thức:
$$\text{Server Uptime} = \left(\frac{\text{Thời gian thực tế máy chủ chạy và cung cấp dịch vụ}}{\text{Tổng thời gian dự kiến máy chủ chạy và cung cấp dịch vụ}}\right) \times 100$$
- Tỷ lệ lỗi/thất bại (Error/Failure Rate): Phần trăm các yêu cầu gửi đến máy chủ nhưng không thể xử lý hoàn tất do lỗi mạng, nghẽn cấu hình hoặc thiếu hụt tài nguyên phần cứng.
Về mặt công nghệ lưu trữ, đề tài khai thác lý thuyết về cơ sở dữ liệu chuỗi thời gian (Time-series Database - TSDB). Dữ liệu chuỗi thời gian (time-series data) là tập hợp các điểm đo lường liên tục được gắn nhãn thời gian (timestamp) theo dõi các sự kiện hoặc biến số biến thiên theo thời gian.
Phương pháp nghiên cứu thực tế được tác giả áp dụng bao gồm:
- Phương pháp phân tích - tổng hợp tài liệu: Thu thập, phân loại kiến trúc hệ điều hành (so sánh nhân Linux với Windows về cơ chế quản lý tệp tin inode/directory, phân luồng thread scheduling, quản lý bộ nhớ và giao tiếp I/O).
- Phương pháp so sánh kỹ thuật: Đối chiếu các giải pháp giám sát thương mại (OpManager, SolarWinds NPM) với giải pháp nguồn mở (Prometheus & Grafana).
- Phương pháp thực nghiệm kỹ thuật: Thiết lập môi trường mạng máy ảo trên VMware Workstation 15 Pro, cài đặt hệ điều hành CentOS 7, cấu hình tường lửa iptables và tích hợp gói dịch vụ Prometheus.
Nguồn dữ liệu của khóa luận bao gồm tài liệu kỹ thuật chuẩn của Red Hat Enterprise Linux, tài liệu kiến trúc Prometheus, Grafana và số liệu thị phần điện toán đám mây toàn cầu trong Quý 1 năm 2021 (tổng doanh thu đạt 39 tỷ USD với thị phần dẫn đầu của AWS 32%, Azure 20%, Google Cloud 9%, Alibaba Cloud 6% và Tencent Cloud 2%).
| Tiêu chí |
Máy chủ vật lý riêng (Dedicated Server) |
Máy chủ ảo (VPS) |
Máy chủ đám mây (Cloud Server) |
| Bản chất phần cứng |
Máy chủ vật lý độc lập (CPU, RAM, HDD, Card mạng riêng biệt) |
Phân chia từ một máy chủ vật lý bằng công nghệ ảo hóa |
Khởi tạo trên hạ tầng ảo hóa điện toán đám mây liên kết nhiều node |
| Khả năng nâng cấp |
Phức tạp, đòi hỏi thay đổi phần cứng thủ công, kỹ năng chuyên sâu |
Nhanh hơn máy chủ vật lý, phụ thuộc tài nguyên máy chủ gốc |
Rất nhanh (vài phút), không giới hạn tài nguyên vật lý đơn lẻ |
| Thời gian gián đoạn (Downtime) |
Bắt buộc phải ngừng hoạt động hệ thống để bảo trì/nâng cấp |
Rất thấp, có thể vận hành linh hoạt |
Gần như bằng không (zero downtime) trong suốt quá trình nâng cấp |
| Chi phí đầu tư |
Tốn kém chi phí mua sắm thiết bị và mặt bằng trạm máy chủ |
Tiết kiệm chi phí phần cứng, chia sẻ tài nguyên |
Tối ưu hóa chi phí dựa trên dung lượng và dịch vụ thực tế sử dụng |
Thiết kế và triển khai hệ thống
Hệ thống quản lý tài nguyên được thiết kế theo kiến trúc phi tập trung, sử dụng mô hình kéo dữ liệu (HTTP pull model) để giám sát các máy chủ đích từ xa.
Kiến trúc tổng thể và các thành phần hệ thống
Hệ thống bao gồm 5 thành phần phối hợp chặt chẽ:
- Target Server: Máy chủ đích chạy hệ điều hành Linux hoặc các dịch vụ container hóa (Docker) cần được giám sát trạng thái tài nguyên.
- Prometheus Server: Đóng vai trò là trung tâm thu thập và lưu trữ dữ liệu chuỗi thời gian, định kỳ gửi các HTTP request tới các endpoint (exporter) trên máy chủ đích để lấy dữ liệu metric. Cấu trúc bên trong Prometheus gồm khối Retrieval (thu thập), khối TSDB Storage (lưu trữ) và máy ảo PromQL (xử lý truy vấn).
- Alertmanager: Thành phần tiếp nhận các cảnh báo được kích hoạt từ Prometheus Server khi các ngưỡng tài nguyên vượt quá quy định, chịu trách nhiệm khử trùng lặp (deduplication), gom nhóm và định tuyến thông báo đến các kênh tiếp nhận.
- Grafana: Ứng dụng web server phân tích và trực quan hóa dữ liệu được viết bằng ngôn ngữ Go và TypeScript (nền tảng giao diện gốc phát triển từ Kibana v3). Grafana kết nối trực tiếp với Prometheus thông qua các câu truy vấn PromQL để hiển thị dữ liệu thành các đồ thị trực quan (CPU, RAM, Disk, Network traffic).
- Admin: Quản trị viên hệ thống tương tác với giao diện dashboard của Grafana qua trình duyệt web và nhận thông báo cảnh báo sự cố từ Alertmanager.
+-----------------------------------------------------------------------------------+
| LUỒNG HOẠT ĐỘNG HỆ THỐNG |
| |
| [Target Server] <--- (1) Thiết lập kết nối & cấu hình --- [Prometheus Server] |
| (Linux/CentOS 7) ---> (2) Kéo metric (HTTP Pull Model) --> (TSDB Storage) |
| | |
| (3) PromQL | (4) Cảnh |
| Truy vấn metric | báo |
| v v
| [Grafana Web] [Alertmanager]
| | |
| +-----+------+
| |
| v
| [Quản trị viên]
+-----------------------------------------------------------------------------------+
Quy trình cài đặt và cấu hình hệ thống thực nghiệm
Tác giả thiết lập môi trường thực nghiệm với các thông số kỹ thuật chi tiết:
- Yêu cầu phần cứng hệ thống máy ảo: RAM 1-2 GB, 2 nhân xử lý (vCPU), 40 GB dung lượng ổ đĩa cứng trống.
- Nền tảng ảo hóa và công cụ điều khiển: VMware Workstation 15 Pro, đĩa cài đặt hệ điều hành CentOS 7 x86_64 Minimal, phần mềm MobaXterm phục vụ kết nối SSH từ xa.
Quy trình phân vùng ổ đĩa theo cấu trúc chuẩn LVM trên CentOS 7 bao gồm:
- Phân vùng
/boot: Dung lượng từ 200 MB trở lên, chịu trách nhiệm lưu trữ các phiên bản Linux kernel dùng cho quá trình khởi động (khoảng 4 bản kernel).
- Phân vùng
swap: Đóng vai trò là bộ nhớ ảo hỗ trợ cho RAM vật lý.
- Phân vùng gốc
/: Chứa toàn bộ cây thư mục hệ điều hành và dữ liệu hệ thống, có thể phân tách thêm các nhánh /home và /var.
Các bước cấu hình hạ tầng mạng và chuẩn bị môi trường dòng lệnh:
# 1. Cập nhật hệ thống và đồng bộ thời gian máy chủ qua giao thức NTP
yum update -y
yum install ntpdate -y
ntpdate pool.ntp.org
# 2. Vô hiệu hóa SELinux để ngăn xung đột quyền truy cập dịch vụ
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# 3. Tắt tường lửa mặc định firewalld và chuyển sang sử dụng iptables-services
systemctl stop firewalld
systemctl disable firewalld
systemctl mask --now firewalld
yum install iptables-services -y
systemctl start iptables
systemctl enable iptables
# 4. Mở các cổng TCP phục vụ dịch vụ quản trị và giám sát
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 3000 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 9090 -j ACCEPT
service iptables save
service iptables restart
# 5. Cài đặt tiện ích wget và tải gói phân phối Prometheus
yum install wget -y
wget https://github.com/prometheus/prometheus/releases/download/v2.x/prometheus-2.linux-amd64.tar.gz
tar -xvzf prometheus-2.linux-amd64.tar.gz
Các cổng mạng chính được cấu hình tương ứng với các chức năng:
- Port 22 (SSH): Phục vụ quản trị dòng lệnh từ xa thông qua MobaXterm.
- Port 3000 (Grafana): Cổng giao diện web mặc định của hệ thống bảng điều khiển trực quan hóa.
- Port 9090 (Prometheus Web UI & API): Cổng tiếp nhận truy vấn PromQL và giao diện quản trị cơ sở dữ liệu chuỗi thời gian.
Nội dung chính theo từng chương
Chương I: Giới thiệu bài toán
Chương I tập trung làm rõ vai trò của máy chủ trong hạ tầng công nghệ thông tin hiện đại và sự chuyển dịch sang điện toán đám mây. Tác giả phân tích kiến trúc Client - Server kinh điển (với ví dụ thực tế về việc chia sẻ máy in qua mạng văn phòng để tối ưu hóa thiết bị ngoại vi thay vì kết nối cục bộ riêng lẻ). Chương này phân chia máy chủ theo hai trục:
- Phân loại theo chức năng: Máy chủ cơ sở dữ liệu (Database server), máy chủ tệp tin (File server - Dropbox, Google Drive), máy chủ thư điện tử (Mail server), máy chủ in (Print server), máy chủ web (Web server - Amazon, Taobao), máy chủ trò chơi (Game server) và máy chủ ứng dụng (Application server chạy hệ thống ERP, CRM).
- Phân loại theo kiến trúc chế tạo: Máy chủ vật lý riêng (Dedicated Server), Máy chủ riêng ảo (VPS) và Máy chủ đám mây (Cloud Server). Tác giả chỉ rõ các ưu thế cốt lõi của Cloud Server gồm tính tiết kiệm chi phí (Cost Savings), an toàn thông tin (Security), khả năng truy cập di động (Mobility), năng lực phục hồi thảm họa (Disaster Recovery), tính năng mở rộng linh hoạt (Scalability) và hỗ trợ đa dạng hệ điều hành (Multi OS Support).
Phần tiếp theo của chương đi sâu vào 6 chỉ số đo lường hiệu năng máy chủ (Throughput, CPU Usage, Utilization, Uptime, Response time, Error/Failure Rate). Tác giả đưa ra ví dụ chứng minh tiêu chuẩn uptime 99,999%/năm của Amazon Web Services (AWS), tương ứng thời gian dừng dịch vụ tối đa chỉ cho phép 52,56 phút/năm, giải thích lý do AWS chiếm tới 32% thị phần điện toán đám mây toàn cầu vào Quý 1 năm 2021.
Cuối chương, tác giả so sánh hiệu năng giữa hệ điều hành Linux và Windows Server, khẳng định Linux có ưu thế vượt trội về hiệu năng vận hành các tác vụ hạt nhân, phân lịch luồng (thread scheduling), quản trị bộ nhớ và xử lý luồng nhập/xuất (I/O) nhờ cơ chế quản lý tệp theo khối dữ liệu chặt chẽ (Directory Entry, Inode, File Content Block) và không bị suy hao tài nguyên do giao diện đồ họa nặng nề như Windows.
Chương II: Tìm hiểu giải pháp quản lý tài nguyên máy chủ
Chương II định nghĩa khái niệm quản lý máy chủ (Server Management) là quy trình quản trị, bảo trì toàn diện phần cứng, phần mềm, chính sách bảo mật và sao lưu dữ liệu nhằm đạt hiệu suất vận hành cao nhất. Ba yêu cầu nền tảng của một công cụ quản lý máy chủ gồm:
- Tính bao phủ (Coverage): Khả năng tương thích và quản lý trên diện rộng nhiều chủng loại máy chủ và ứng dụng.
- Giao diện người dùng (User Interface): Bổ trợ cho giao diện dòng lệnh (terminal) giúp trực quan hóa công việc quản trị.
- Hệ thống cảnh báo (Alerting): Cho phép tùy biến ngưỡng kích hoạt (threshold) và hỗ trợ gửi cảnh báo đa kênh (Email, SMS, Telegram, Slack).
Tác giả khảo sát và so sánh chi tiết ba công cụ quản trị máy chủ phổ biến:
- OpManager: Giải pháp quản lý toàn diện trên Windows, Linux, Unix, Hyper-V, Xen Server. Hỗ trợ nhận diện hơn 300 loại lỗi nghiêm trọng (CPU, Disk, Memory partition), tích hợp các công cụ Ping/Traceroute, kết nối từ xa qua web client, lên lịch bảo trì (Downtime scheduler), giám sát tiến trình hệ điều hành (OS monitor) và tự động hóa quy trình với 80 tác vụ workflow có sẵn. Phần mềm chia làm 3 phiên bản: Free (tối đa 3 thiết bị), Standard/Professional (1.000 thiết bị) và Enterprise (10.000 thiết bị hoặc 100.000 giao diện).
- SolarWinds Network Performance Monitor (NPM): Công cụ chẩn đoán hiệu năng mạng theo thời gian thực với tính năng tự động nhận diện thiết bị (Network Sonar), phân tích đường truyền theo từng chặng (NetPath hop-by-hop), phân tích hiệu năng cân bằng tải F5 BIG-IP (Network Insight) và hệ thống cảnh báo phụ thuộc nhóm logic (Intelligent Network Alerts).
- Prometheus & Grafana: Bộ công cụ giám sát nguồn mở công bố từ năm 2013 (khởi nguồn từ SoundCloud năm 2012). Prometheus hoạt động độc lập, không phụ thuộc vào hạ tầng lưu trữ phân tán, lưu trữ dữ liệu dưới dạng TSDB kết hợp nhãn (label key-value) và sử dụng ngôn ngữ truy vấn mạnh mẽ PromQL. Grafana đóng vai trò hiển thị đồ thị phân tích đa dạng, hỗ trợ liên kết với nhiều nguồn dữ liệu (Prometheus, InfluxDB, Elasticsearch). Tác giả nhận định giải pháp nguồn mở này giúp tối ưu hóa chi phí bản quyền và linh hoạt tùy biến theo nghiệp vụ.
| Đặc điểm kỹ thuật |
ManageEngine OpManager |
SolarWinds NPM |
Prometheus & Grafana |
| Mô hình phần mềm |
Thương mại có phí (Bản Free giới hạn 3 thiết bị) |
Thương mại doanh nghiệp có phí |
Mã nguồn mở hoàn toàn (Open-source) |
| Giao thức thu thập |
SNMP, WMI, CLI, API hệ thống |
SNMP, Packet Inspection, NetPath |
HTTP/HTTPS Pull model từ các Exporter |
| Mô hình lưu trữ dữ liệu |
Cơ sở dữ liệu quan hệ (RDBMS) |
Cơ sở dữ liệu quan hệ (SQL Server) |
Cơ sở dữ liệu chuỗi thời gian (TSDB) |
| Khả năng tự động hóa |
Workflow engine với 80 hành động dựng sẵn |
Tự động quét Network Sonar, Alert logic |
Cấu hình quy tắc cảnh báo qua Alertmanager |
| Tùy biến bảng điều khiển |
Bảng điều khiển cố định theo mẫu nhà sản xuất |
Mẫu dashboard quản trị mạng trực quan |
Tùy biến biểu đồ linh hoạt bằng truy vấn PromQL |
| Chi phí bản quyền (TCO) |
Cao theo số lượng node hoặc interface |
Rất cao, hướng tới doanh nghiệp lớn |
Không tốn chi phí bản quyền phần mềm |
Chương III: Phân tích và thiết kế hệ thống
Chương III đi sâu vào cấu trúc nội tại của các thành phần trong hệ thống giám sát. Tác giả phân tích chi tiết khái niệm Metric (các phép đo số học biến thiên theo thời gian) và cấu trúc của một metric Prometheus gồm tên metric và các nhãn (labels) đính kèm.
Các khối chức năng của Prometheus Server được làm rõ:
- Prometheus Main: Bộ xử lý trung tâm và kho lưu trữ TSDB, áp dụng mô hình dữ liệu đa chiều, ngôn ngữ PromQL, giao thức thu thập HTTP pull và cơ chế khám phá mục tiêu (Service Discovery hoặc cấu hình tĩnh).
- Client Libraries: Các bộ thư viện tích hợp trực tiếp vào mã nguồn ứng dụng để sinh metric theo các định dạng chuẩn (exposition formats).
- Pushgateway: Thành phần trung gian tiếp nhận dữ liệu từ các tiến trình xử lý ngắn hạn (ephemeral/batch jobs) vốn không tồn tại đủ lâu để Prometheus kéo dữ liệu trực tiếp.
- Alertmanager: Cơ chế xử lý cảnh báo chuyên biệt, chịu trách nhiệm nhóm các sự kiện lỗi, lọc trùng lặp và điều hướng cảnh báo tới người quản trị qua Email, PagerDuty hoặc OpsGenie.
Về phía công cụ hiển thị Grafana, chương này mô tả kiến trúc phân tầng gồm tầng front-end (TypeScript) và back-end (Golang). Grafana kết nối vào Prometheus thông qua nguồn dữ liệu (Data Source) được khai báo sẵn, chuyển đổi các biểu thức PromQL thành các đồ thị trực quan (Graph, Singlestat, Table) theo dõi mức tiêu hao CPU, dung lượng RAM, trạng thái đọc/ghi ổ cứng và băng thông mạng. Cuối chương, tác giả tổng hợp toàn bộ quy trình vận hành thành sơ đồ kiến trúc 4 giai đoạn logic từ khởi tạo cấu hình, kéo dữ liệu, truy vấn hiển thị đến cảnh báo tự động.
Chương IV: Cài đặt hệ thống
Chương IV trình bày chi tiết các bước triển khai kỹ thuật thực tế trên môi trường máy ảo. Tác giả giải trình căn cứ lựa chọn hệ điều hành CentOS 7 (phát hành tháng 5 năm 2004 trên nền tảng Red Hat Enterprise Linux - RHEL):
- Khả năng bảo mật nâng cao: Sử dụng module nhân SELinux (Security-Enhanced Linux) áp dụng cơ chế kiểm soát truy cập bắt buộc dựa trên chính sách (policy), cô lập tiến trình khi bị tấn công mạng.
- Vòng đời hỗ trợ dài hạn (Extended Support): Chu kỳ hỗ trợ bảo trì lên tới 10 năm, giúp hệ thống hoạt động ổn định, giảm thiểu tần suất nâng cấp gây downtime, từ đó hạ thấp tổng chi phí sở hữu (TCO).
- Quản lý gói phần mềm tiện lợi: Tích hợp trình quản lý gói YUM (Yellowdog Updater Modified) hỗ trợ tự động giải quyết các phụ thuộc phần mềm.
Phần thực nghiệm cài đặt ghi lại tường tận quy trình tạo máy ảo trên VMware Workstation 15 Pro, quá trình tải đĩa ISO CentOS 7 Minimal, cấu hình phân vùng đĩa cứng thủ công LVM, thiết lập thông số mạng và tài khoản quản trị. Tiếp đó, tác giả sử dụng MobaXterm kết nối SSH vào máy chủ để thực thi chuỗi lệnh hệ thống: cập nhật kho phần mềm, đồng bộ giờ mạng qua ntpdate, tắt dịch vụ firewalld, cài đặt và khởi động dịch vụ iptables-services, bổ sung các luật tường lửa mở cổng 22, 3000, 9090 và tải về gói nhị phân cài đặt Prometheus từ kho lưu trữ GitHub.
Kết quả và đóng góp
Khóa luận đã hoàn thành các mục tiêu nghiên cứu và thực nghiệm kỹ thuật được đề ra:
- Hệ thống hóa cơ sở lý luận quản trị máy chủ: Xây dựng khung phân tích đầy đủ về các yếu tố cấu thành hiệu năng máy chủ (Throughput, CPU Usage, Utilization, Server Uptime, Error Rate) và làm rõ sự khác biệt giữa các mô hình máy chủ vật lý, VPS và Cloud Server.
- Tổng hợp và đối chiếu các giải pháp giám sát: Phân tích ưu nhược điểm kỹ thuật giữa giải pháp thương mại quy mô lớn (OpManager, SolarWinds NPM) và giải pháp nguồn mở (Prometheus & Grafana), làm nổi bật ưu thế của cơ sở dữ liệu chuỗi thời gian TSDB trong việc xử lý dữ liệu giám sát hạ tầng.
- Thiết kế kiến trúc hệ thống giám sát chuẩn hóa: Xây dựng mô hình giám sát 5 thành phần sử dụng phương thức HTTP Pull độc lập, giảm thiểu tải cho máy chủ mục tiêu và hạn chế tối đa các điểm nghẽn lưu trữ tập trung.
- Thực nghiệm hóa quy trình triển khai trên CentOS 7: Hoàn thiện tài liệu hóa từng bước thiết lập môi trường máy chủ Linux, từ cấu hình phân vùng LVM, tối ưu hóa chính sách bảo mật mạng (iptables, vô hiệu hóa SELinux đúng cách để tránh xung đột) đến việc tải và giải nén gói dịch vụ Prometheus trên môi trường thực tế.
Hạn chế và hướng nghiên cứu tiếp
Mặc dù đạt được những kết quả ban đầu về mặt thiết lập kiến trúc và hạ tầng, đồ án còn tồn tại các hạn chế do giới hạn về mặt thời gian và phạm vi triển khai của một đồ án tốt nghiệp đại học:
- Phạm vi thử nghiệm: Hệ thống mới được triển khai và cấu hình cục bộ trên môi trường máy ảo VMware Workstation đơn lẻ, chưa được đánh giá hiệu năng chịu tải trên hệ thống cụm máy chủ phân tán lớn hoặc hạ tầng Cloud Server thương mại thực tế.
- Mức độ hoàn thiện tính năng: Văn bản fulltext dừng lại ở bước giải nén gói nhị phân của Prometheus, chưa thể hiện chi tiết phần cấu hình file
prometheus.yml, việc tích hợp bộ thu thập số liệu nút node_exporter trên máy chủ mục tiêu và các bước thiết kế bảng điều khiển hoàn chỉnh trên giao diện Grafana.
Hướng phát triển tiếp theo mà phạm vi nghiên cứu gợi mở bao gồm:
- Hoàn tất việc cài đặt
node_exporter trên nhiều máy chủ Linux mục tiêu để thu thập chuyên sâu các thông số I/O disk, network throughput và thread load.
- Thiết kế các bảng điều khiển trực quan chuyên sâu trên Grafana, phân loại nhóm metric theo mức độ ưu tiên của quản trị viên.
- Cấu hình các kịch bản cảnh báo ngưỡng (Threshold Alerting) tích hợp trên Alertmanager và kết nối kênh thông báo tự động qua giao diện ứng dụng (Webhook, Telegram bot, Email).
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo phù hợp cho sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật Mạng và An toàn Thông tin đang tiếp cận học phần Quản trị hệ điều hành Linux và Thiết kế hệ thống mạng:
- Phần đáng tham khảo nhất:
- Quy trình cấu hình hệ thống mạng, thiết lập tường lửa
iptables thay thế cho firewalld và các bước tinh chỉnh môi trường máy chủ trên hệ điều hành CentOS 7 (Chương IV).
- Khung lý thuyết và công thức tính toán các chỉ số vận hành máy chủ (Server Uptime, Throughput, Error Rate) được trình bày logic và có dẫn chứng số liệu thực tế từ các nhà cung cấp hạ tầng lớn (Chương I).
- Phân tích kiến trúc dữ liệu chuỗi thời gian TSDB và cơ chế hoạt động của mô hình Prometheus (Chương II và III).
Câu hỏi thường gặp
1. Công thức tính thời gian hoạt động liên tục (Server Uptime) được văn bản xác định như thế nào?
Theo văn bản tại Chương I, chỉ số Server Uptime được tính bằng tỷ lệ phần trăm giữa tổng thời gian máy chủ thực tế hoạt động cung cấp dịch vụ và tổng thời gian dự kiến máy chủ phải hoạt động:
$$\text{Server Uptime} = \left(\frac{\text{Amount of time the server is running and providing service}}{\text{The total amount of time it is expected to run and provide service}}\right) \times 100$$
Ví dụ tiêu chuẩn uptime 99,999%/năm của dịch vụ AWS tương ứng với thời gian gián đoạn cho phép tối đa là 52,56 phút trong cả năm.
2. Vì sao tác giả kết luận Linux có hiệu năng vận hành máy chủ vượt trội hơn Windows?
Tác giả chỉ ra 3 nguyên nhân kỹ thuật cốt lõi:
- Hệ điều hành Linux có dung lượng nhẹ hơn rất nhiều so với Windows.
- Cấu trúc hệ thống tệp tin trong Linux được tổ chức chặt chẽ theo từng khối dữ liệu (Directory Entry, Inode, Content Blocks), giúp tối ưu hóa đáng kể tốc độ xử lý các luồng nhập/xuất dữ liệu (I/O stream), phân lịch luồng và quản lý bộ nhớ.
- Windows sử dụng giao diện người dùng đồ họa phức tạp với nhiều tác vụ hiển thị chạy nền, dẫn đến tiêu tốn nhiều tài nguyên bộ nhớ và CPU hơn so với Linux.
3. Hệ thống Prometheus thu thập dữ liệu metric từ máy chủ mục tiêu bằng cơ chế nào?
Prometheus sử dụng cơ chế kéo dữ liệu qua giao thức mạng HTTP (HTTP pull model). Prometheus Server sẽ định kỳ gửi các yêu cầu HTTP/HTTPS đến các điểm cuối (endpoints hoặc exporters) đã được cấu hình tĩnh hoặc tìm kiếm qua dịch vụ phát hiện (service discovery) trên máy chủ mục tiêu để lấy dữ liệu metric và lưu trữ vào cơ sở dữ liệu chuỗi thời gian (TSDB).
4. Những cổng mạng (ports) nào bắt buộc phải mở trên tường lửa iptables trong quá trình thực nghiệm?
Theo quy trình cài đặt tại Chương IV, tác giả thực hiện mở 3 cổng giao tiếp TCP chính:
- Cổng 22: Giao thức SSH, dùng để kết nối điều khiển dòng lệnh từ xa qua công cụ MobaXterm.
- Cổng 3000: Cổng dịch vụ web mặc định của hệ thống bảng điều khiển Grafana.
- Cổng 9090: Cổng dịch vụ web mặc định và giao diện tiếp nhận truy vấn API của Prometheus Server.
5. Vì sao CentOS 7 được tác giả lựa chọn làm nền tảng hệ điều hành để cài đặt hệ thống?
Văn bản nêu rõ 3 lý do kỹ thuật chính:
- Bảo mật cao: Tích hợp cơ chế SELinux quản lý quyền truy cập bắt buộc dựa trên chính sách phân quyền cho từng tiến trình và tệp tin, hạn chế phạm vi khai thác khi có tấn công mạng.
- Vòng đời hỗ trợ dài hạn (Release Cycle): Các phiên bản chính của CentOS được duy trì hỗ trợ và cập nhật bản vá lỗ hổng trong 10 năm, giúp giảm thời gian bảo trì (downtime) và hạ thấp tổng chi phí sở hữu (TCO).
- Quản lý phần mềm linh hoạt: Sử dụng công cụ YUM giúp quản lý, cập nhật và gỡ bỏ các gói phần mềm cùng các thư viện phụ thuộc một cách nhanh chóng.
Kết luận
Đồ án tốt nghiệp "Xây dựng Web Server quản lý tài nguyên máy chủ Linux" của sinh viên Nguyễn Hoàng Hà đã giải quyết bài toán cấp thiết về việc theo dõi hiệu năng và trạng thái phần cứng máy chủ từ xa trong bối cảnh hạ tầng đám mây phát triển mạnh mẽ. Bằng việc phân tích sâu các chỉ số vận hành hệ thống, đánh giá ưu nhược điểm của các công cụ quản lý hiện hành và hiện thực hóa việc thiết lập môi trường máy chủ CentOS 7 tích hợp bộ công cụ Prometheus - Grafana, đề tài đã xây dựng được nền tảng lý thuyết và thực nghiệm vững chắc cho một hệ thống giám sát hạ tầng mạng nguồn mở. Đây là tài liệu tham khảo có giá trị kỹ thuật cao về mặt phương pháp luận đo lường hiệu năng cũng như quy trình triển khai thực tế các dịch vụ cốt lõi trên hệ điều hành Linux.