Hướng dẫn sử dụng lệnh sar để giám sát CPU, bộ nhớ, I/O và mạng trên Linux

Giới thiệu về lệnh sar và vai trò trong giám sát hệ thống

Bạn đang tìm cách theo dõi hiệu suất máy chủ Linux của mình một cách chính xác và chi tiết? Việc quản trị một hệ thống mà không có công cụ giám sát hiệu quả giống như lái một chiếc xe không có bảng điều khiển. Bạn sẽ không biết khi nào hệ thống sắp hết tài nguyên, khi nào ứng dụng hoạt động chậm bất thường, hay nguyên nhân gốc rễ của sự cố là gì. Điều này có thể dẫn đến tình trạng hệ thống vận hành không ổn định, ảnh hưởng trực tiếp đến trải nghiệm người dùng và hoạt động kinh doanh. May mắn thay, Linux cung cấp một công cụ mạnh mẽ có tên là sar (System Activity Reporter).

Lệnh sar là một tiện ích tuyệt vời, đi kèm trong gói sysstat, cho phép bạn thu thập, báo cáo và phân tích dữ liệu hiệu suất hệ thống theo thời gian. Bạn có thể xem lại lịch sử hoạt động của CPU, bộ nhớ, ổ đĩa I/O, mạng và nhiều thông số khác. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu từ A-Z về lệnh sar, từ cách cài đặt, các tham số cơ bản, cách phân tích dữ liệu để tìm ra điểm nghẽn, cho đến các ví dụ thực hành và mẹo xử lý sự cố. Hãy cùng bắt đầu hành trình làm chủ công cụ giám sát mạnh mẽ này nhé!

Cách cài đặt và cấu hình lệnh sar trên Linux

Để bắt đầu sử dụng sar, trước tiên bạn cần chắc chắn rằng gói sysstat đã được cài đặt trên hệ thống của mình. Đây là bộ công cụ chứa lệnh sar và nhiều tiện ích giám sát hữu ích khác. Quá trình cài đặt và cấu hình khá đơn giản và nhanh chóng trên hầu hết các bản phân phối Linux phổ biến hiện nay.

Cài đặt công cụ sysstat chứa lệnh sar

Tùy thuộc vào hệ điều hành Linux bạn đang sử dụng, câu lệnh cài đặt sẽ có một chút khác biệt. Đa số các quản trị viên hệ thống hiện nay đều làm việc với các bản phân phối dựa trên Debian/Ubuntu hoặc Red Hat/CentOS. Dưới đây là hướng dẫn chi tiết cho cả hai.

Đối với các hệ thống dựa trên Debian/Ubuntu, bạn chỉ cần mở terminal và chạy lệnh sau với quyền quản trị:

sudo apt-get update && sudo apt-get install sysstat -y

Đối với các hệ thống dựa trên Red Hat/CentOS, bạn sẽ sử dụng trình quản lý gói yum hoặc dnf:

sudo yum install sysstat -y

Hoặc nếu bạn dùng phiên bản CentOS/RHEL mới hơn:

sudo dnf install sysstat -y

Sau khi cài đặt hoàn tất, bạn có thể kiểm tra phiên bản để xác nhận mọi thứ đã sẵn sàng. Lệnh sar -V sẽ hiển thị thông tin phiên bản của sysstat. Đồng thời, bạn nên kiểm tra trạng thái của dịch vụ sysstat để đảm bảo nó đang hoạt động và sẵn sàng thu thập dữ liệu.

systemctl status sysstat

Nếu dịch vụ chưa được kích hoạt, bạn có thể khởi động và cho phép nó chạy cùng hệ thống bằng lệnh:

sudo systemctl start sysstat && sudo systemctl enable sysstat

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/kiem-tra-trang-thai-dich-vu-sysstat.png

Cấu hình và kích hoạt thu thập dữ liệu sar

Mặc dù sar có thể chạy theo thời gian thực để hiển thị dữ liệu tức thì, sức mạnh thực sự của nó nằm ở khả năng tự động thu thập và lưu trữ dữ liệu lịch sử. Điều này được thực hiện thông qua một cron job được thiết lập sẵn khi bạn cài đặt sysstat.

Tệp cấu hình chính của sysstat thường nằm tại /etc/default/sysstat trên Ubuntu/Debian hoặc /etc/sysconfig/sysstat trên CentOS/RHEL. Bạn có thể mở tệp này để tùy chỉnh. Một trong những tham số quan trọng nhất là ENABLED="true". Hãy chắc chắn rằng giá trị này được đặt thành true để kích hoạt việc thu thập dữ liệu tự động.

# /etc/default/sysstat on Ubuntu/Debian
ENABLED="true"

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/cau-hinh-kich-hoat-thu-thap-du-lieu-sar.png

Tiếp theo, bạn cần xem xét tệp cron job của sysstat, thường đặt tại /etc/cron.d/sysstat. Tệp này định nghĩa tần suất thu thập dữ liệu. Mặc định, sar thường được cấu hình để thu thập dữ liệu mỗi 10 phút. Nếu bạn cần dữ liệu chi tiết hơn, bạn có thể chỉnh sửa tệp này để giảm khoảng thời gian xuống, ví dụ như 1 hoặc 2 phút. Tuy nhiên, hãy lưu ý rằng việc thu thập dữ liệu quá thường xuyên có thể gây ra một chút tải phụ cho hệ thống.

Sau khi chỉnh sửa, bạn không cần phải khởi động lại cron. Dịch vụ sẽ tự động nhận các thay đổi ở lần chạy tiếp theo. Dữ liệu thu thập được sẽ được lưu trữ trong thư mục /var/log/sysstat/ hoặc /var/log/sa/, với các tệp được đặt tên theo ngày (ví dụ: saDD, trong đó DD là ngày trong tháng).

Hướng dẫn sử dụng các tham số cơ bản của lệnh sar

Sau khi đã cài đặt và cấu hình, giờ là lúc khám phá cách sử dụng sar để trích xuất những thông tin hữu ích về hệ thống. Lệnh sar rất linh hoạt với nhiều tham số khác nhau, mỗi tham số tập trung vào một khía cạnh cụ thể của hiệu suất hệ thống. Chúng ta sẽ bắt đầu với ba nhóm tham số quan trọng nhất: CPU, bộ nhớ và I/O mạng.

Theo dõi CPU

CPU là trái tim của máy chủ, và việc giám sát tải CPU là một trong những nhiệm vụ cơ bản nhất. Tham số phổ biến nhất để xem thông tin về CPU là -u. Khi bạn chạy lệnh sar -u, nó sẽ hiển thị số liệu thống kê về việc sử dụng CPU.

sar -u 1 5

Lệnh trên sẽ báo cáo hoạt động CPU mỗi giây (1) và lặp lại 5 lần (5).

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/theo-doi-cpu-bang-lenh-sar.png

Kết quả trả về sẽ bao gồm các cột quan trọng sau:

  • %user: Tỷ lệ phần trăm thời gian CPU thực thi các tiến trình ở cấp độ người dùng (ứng dụng).
  • %nice: Tỷ lệ phần trăm thời gian CPU thực thi các tiến trình người dùng với độ ưu tiên đã được điều chỉnh (nice).
  • %system: Tỷ lệ phần trăm thời gian CPU thực thi các tiến trình ở cấp độ kernel (hệ điều hành).
  • %iowait: Tỷ lệ phần trăm thời gian CPU ở trạng thái rảnh nhưng phải chờ một hoạt động I/O (ví dụ: đọc/ghi đĩa) hoàn tất. Chỉ số này cao là dấu hiệu của tắc nghẽn ở hệ thống lưu trữ.
  • %steal: Tỷ lệ phần trăm thời gian mà một CPU ảo phải chờ CPU vật lý phục vụ một máy ảo khác. Chỉ số này chỉ có ý nghĩa trong môi trường ảo hóa.
  • %idle: Tỷ lệ phần trăm thời gian CPU hoàn toàn rảnh rỗi. Nếu chỉ số này thấp liên tục, có nghĩa là máy chủ của bạn đang chịu tải cao.

Bằng cách theo dõi các chỉ số này, bạn có thể nhanh chóng xác định xem CPU có phải là nguyên nhân gây ra sự chậm chạp của hệ thống hay không. Để hiểu sâu hơn về Linux là gì cũng như kiến trúc nhân hay Kernel Linux, bạn có thể tham khảo các bài viết chi tiết của chúng tôi.

Giám sát bộ nhớ

Bộ nhớ (RAM) là một tài nguyên quan trọng khác. Khi hệ thống hết RAM, nó sẽ bắt đầu sử dụng không gian hoán đổi (swap), vốn chậm hơn rất nhiều và làm giảm hiệu suất đáng kể. Để giám sát việc sử dụng bộ nhớ, bạn có thể dùng lệnh sar -r.

sar -r 1 3

Lệnh này sẽ cung cấp báo cáo về bộ nhớ mỗi giây, lặp lại 3 lần.

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/giam-sat-bo-nho-bang-lenh-sar.png

Các cột chính trong báo cáo bộ nhớ bao gồm:

  • kbmemfree: Dung lượng bộ nhớ trống (tính bằng kilobyte).
  • kbmemused: Dung lượng bộ nhớ đã sử dụng.
  • %memused: Tỷ lệ phần trăm bộ nhớ đã sử dụng. Đây là chỉ số quan trọng để theo dõi. Nếu nó tiến gần đến 100%, bạn cần phải xem xét nâng cấp RAM hoặc tối ưu hóa ứng dụng.
  • kbbuffers: Dung lượng bộ nhớ được dùng làm bộ đệm (buffers).
  • kbcached: Dung lượng bộ nhớ được dùng làm bộ nhớ cache cho hệ thống tệp.
  • kbcommit: Dung lượng bộ nhớ cần thiết cho khối lượng công việc hiện tại.
  • %commit: Tỷ lệ phần trăm của kbcommit so với tổng bộ nhớ (RAM + swap). Nếu giá trị này vượt quá 100%, hệ thống có thể gặp rủi ro về bộ nhớ.

Ngoài ra, để xem thông tin về việc sử dụng không gian swap, bạn có thể dùng lệnh sar -S. Việc theo dõi cả RAM và swap sẽ cho bạn một cái nhìn toàn diện về tình trạng bộ nhớ của hệ thống. Nếu bạn muốn nắm vững hơn về khái niệm Ram là gì hay các chuẩn RAM hiện đại như DDR4 là gì, các bài viết trong hệ thống của chúng tôi sẽ rất hữu ích.

Theo dõi hoạt động I/O và mạng

Hoạt động đầu vào/đầu ra (I/O) của đĩa và lưu lượng mạng là hai yếu tố có thể gây ra tình trạng nghẽn cổ chai nghiêm trọng. sar cung cấp các tham số chuyên dụng để giám sát chúng.

Để theo dõi hoạt động I/O của thiết bị lưu trữ, bạn sử dụng tham số -b. Lệnh này báo cáo số liệu thống kê về tốc độ đọc/ghi.

sar -b 1 3

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/theo-doi-hoat-dong-io-bang-lenh-sar.png

Các chỉ số quan trọng bao gồm:

  • tps: Tổng số yêu cầu truyền dữ liệu được gửi đến thiết bị mỗi giây (bao gồm cả đọc và ghi).
  • rtps: Số yêu cầu đọc mỗi giây.
  • wtps: Số yêu cầu ghi mỗi giây.
  • bread/s: Lượng dữ liệu được đọc từ thiết bị mỗi giây (tính bằng block).
  • bwrtn/s: Lượng dữ liệu được ghi vào thiết bị mỗi giây (tính bằng block).

Nếu bạn thấy chỉ số %iowait từ lệnh sar -u cao, việc phân tích kết quả từ sar -b sẽ giúp bạn xác định xem hệ thống đĩa có đang quá tải hay không.

Để giám sát lưu lượng mạng, bạn sử dụng tham số -n kết hợp với từ khóa DEV để xem thông tin trên các giao diện mạng.

sar -n DEV 1 3

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/theo-doi-luu-luong-mang-bang-lenh-sar.png

Lệnh này sẽ hiển thị lưu lượng trên từng giao diện mạng (ví dụ: eth0, lo). Các cột cần chú ý:

  • IFACE: Tên giao diện mạng.
  • rxpck/s: Số gói tin (packet) nhận được mỗi giây.
  • txpck/s: Số gói tin gửi đi mỗi giây.
  • rxkB/s: Lượng dữ liệu nhận được mỗi giây (tính bằng kilobyte).
  • txkB/s: Lượng dữ liệu gửi đi mỗi giây (tính bằng kilobyte).

Các chỉ số này cực kỳ hữu ích để phát hiện các vấn đề về mạng, chẳng hạn như lưu lượng truy cập tăng đột biến hoặc các cuộc tấn công DDoS tiềm tàng.

Phân tích dữ liệu thu thập từ lệnh sar để đánh giá hiệu suất hệ thống

Thu thập dữ liệu chỉ là bước đầu tiên. Giá trị thực sự của sar nằm ở khả năng phân tích các dữ liệu lịch sử này để hiểu rõ hơn về hoạt động của hệ thống, xác định các vấn đề tiềm ẩn và lập kế hoạch cho tương lai. Thay vì chỉ nhìn vào dữ liệu tức thời, việc phân tích xu hướng qua nhiều ngày hoặc nhiều tuần sẽ mang lại những hiểu biết sâu sắc hơn.

Xác định các nguyên nhân gây nghẽn cổ chai (bottleneck)

Nghẽn cổ chai (bottleneck) xảy ra khi một tài nguyên cụ thể bị quá tải, làm chậm toàn bộ hệ thống. Dữ liệu từ sar là công cụ chẩn đoán tuyệt vời để tìm ra những điểm nghẽn này.

Ví dụ, bạn có thể bắt đầu bằng cách kiểm tra việc sử dụng CPU với sar -u -f /var/log/sysstat/saDD (thay DD bằng ngày bạn muốn phân tích). Nếu bạn thấy cột %idle liên tục ở mức thấp (dưới 10%) và %user hoặc %system rất cao trong giờ cao điểm, thì CPU có thể là điểm nghẽn. Tuy nhiên, nếu %idle thấp nhưng %iowait lại cao, vấn đề không nằm ở CPU mà là ở hệ thống lưu trữ. Lúc này, bạn cần chuyển sang phân tích kết quả của sar -b để xem tốc độ đọc/ghi đĩa có đạt đến giới hạn vật lý của thiết bị hay không.

Tương tự, nếu hệ thống hoạt động chậm chạp và bạn thấy sar -r báo cáo %memused luôn ở mức trên 95% và sar -S cho thấy hoạt động swap diễn ra liên tục, thì bộ nhớ chính là nguyên nhân. Việc thiếu RAM buộc hệ thống phải sử dụng swap trên đĩa, vốn chậm hơn hàng nghìn lần, gây ra tình trạng “trì trệ” cho các ứng dụng.

Bằng cách kết hợp và đối chiếu dữ liệu từ các tham số khác nhau, bạn có thể khoanh vùng chính xác tài nguyên nào đang bị quá tải và gây ra sự cố hiệu suất. Để tìm hiểu thêm về các hệ điều hành Linux phổ biến có thể cài đặt và sử dụng cùng công cụ giám sát, bạn có thể tìm hiểu về các bản phân phối như Linux Lite, Mx Linux, Garuda Linux, Fedora hay Debian.

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/xac-dinh-nguyen-nhan-gay-nghen-co-chai.png

Sử dụng dữ liệu sar để lập kế hoạch tối ưu và nâng cấp hệ thống

Giám sát không chỉ để giải quyết sự cố. Dữ liệu lịch sử từ sar còn là một nguồn thông tin vô giá cho việc lập kế hoạch năng lực (capacity planning). Bằng cách phân tích dữ liệu trong một khoảng thời gian dài (vài tuần hoặc vài tháng), bạn có thể xác định được các xu hướng sử dụng tài nguyên.

Ví dụ, bạn có thể vẽ biểu đồ về %memused hoặc %user của CPU theo từng ngày. Nếu bạn thấy một xu hướng tăng dần đều, điều đó cho thấy khối lượng công việc trên máy chủ đang tăng lên. Dựa vào tốc độ tăng trưởng này, bạn có thể dự đoán khi nào tài nguyên sẽ đạt đến ngưỡng giới hạn và lên kế hoạch nâng cấp trước khi sự cố xảy ra. Chẳng hạn, nếu mức sử dụng CPU trung bình tăng 5% mỗi tháng, bạn có thể tính toán được khoảng bao lâu nữa thì cần phải thêm CPU hoặc chuyển sang một máy chủ mạnh hơn.

Việc này giúp chuyển từ cách quản trị hệ thống “phản ứng” (chỉ hành động khi có lỗi) sang “chủ động” (ngăn chặn lỗi trước khi nó xảy ra). Điều này không chỉ giúp duy trì sự ổn định của hệ thống mà còn giúp tối ưu hóa chi phí đầu tư, đảm bảo bạn chỉ nâng cấp khi thực sự cần thiết.

Ví dụ thực hành giám sát hiệu suất bằng lệnh sar

Lý thuyết sẽ trở nên dễ hiểu hơn rất nhiều khi được áp dụng vào thực tế. Trong phần này, chúng ta sẽ đi qua một vài kịch bản thực hành phổ biến để bạn có thể làm quen với cách sử dụng sar trong công việc hàng ngày của một quản trị viên hệ thống.

Thực hành giám sát CPU trong 5 phút với 1 giây lưu ý

Giả sử bạn nhận được phản ánh rằng một ứng dụng web đang chạy rất chậm. Việc đầu tiên bạn cần làm là kiểm tra xem CPU có bị quá tải hay không. Bạn có thể sử dụng lệnh sau để theo dõi hoạt động CPU mỗi giây trong vòng 5 phút (300 giây).

sar -u 1 300

Lệnh này sẽ in ra một dòng mới mỗi giây. Bạn hãy chú ý đến các cột %user, %system và đặc biệt là %iowait%idle. Nếu bạn thấy %idle liên tục ở mức rất thấp (dưới 5%) và %user cao, có thể ứng dụng của bạn đang tiêu thụ quá nhiều CPU. Nếu %iowait cao, vấn đề có thể đến từ việc ứng dụng đang chờ đọc/ghi dữ liệu từ đĩa cứng hoặc cơ sở dữ liệu.

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/vi-du-giam-sat-cpu-bang-sar.png

Theo dõi sự thay đổi lưu lượng mạng trên giao diện eth0

Hãy tưởng tượng bạn đang triển khai một chiến dịch marketing lớn và dự kiến lưu lượng truy cập vào trang web sẽ tăng đột biến. Bạn muốn theo dõi tình hình mạng để đảm bảo máy chủ có thể xử lý được lượng truy cập này. Lệnh sar -n DEV sẽ là trợ thủ đắc lực.

sar -n DEV 5 | grep eth0

Lệnh này sẽ báo cáo lưu lượng mạng mỗi 5 giây và sau đó grep sẽ lọc ra chỉ những dòng liên quan đến giao diện eth0. Bạn hãy quan sát các cột rxkB/s (lưu lượng nhận vào) và txkB/s (lưu lượng gửi đi). Nếu các chỉ số này tăng vọt và gần đạt đến giới hạn băng thông của máy chủ, bạn cần có phương án xử lý kịp thời như sử dụng CDN hoặc nâng cấp gói mạng. Để hiểu rõ hơn về các hệ điều hành Ubuntu và cách cài đặt, bạn có thể tham khảo bài viết Hệ điều hành Ubuntu là gìCài đặt Ubuntu.

Điều tra nguyên nhân sử dụng bộ nhớ bất thường

Một buổi sáng đẹp trời, bạn nhận được cảnh báo rằng máy chủ sắp hết bộ nhớ. Bạn cần tìm hiểu xem chuyện gì đã xảy ra. sar có thể giúp bạn xem lại lịch sử sử dụng bộ nhớ từ đêm hôm trước. Giả sử hôm nay là ngày 25, bạn có thể dùng lệnh sau để xem lại file log của ngày 24.

sar -r -f /var/log/sysstat/sa24

Lệnh này sẽ hiển thị toàn bộ lịch sử sử dụng bộ nhớ của ngày hôm qua. Bạn có thể lướt qua kết quả và tìm xem thời điểm nào cột %memused bắt đầu tăng đột biến. Khi đã xác định được khoảng thời gian bất thường (ví dụ: khoảng 3 giờ sáng), bạn có thể kiểm tra log của các ứng dụng hoặc cron job chạy vào thời điểm đó. Rất có thể một tiến trình nào đó đã bị rò rỉ bộ nhớ (memory leak) hoặc một tác vụ xử lý dữ liệu lớn đã chiếm hết RAM.

Mẹo tối ưu và xử lý sự cố dựa trên kết quả từ lệnh sar

Sử dụng sar không chỉ dừng lại ở việc quan sát. Dữ liệu mà nó cung cấp là cơ sở để bạn đưa ra những quyết định tối ưu hóa hệ thống và xử lý các sự cố thường gặp một cách hiệu quả. Dưới đây là một số mẹo và hướng dẫn giúp bạn tận dụng tối đa kết quả từ sar.

Mẹo tối ưu hiệu suất hệ thống từ dữ liệu sar

Dữ liệu từ sar cung cấp những gợi ý rõ ràng về nơi bạn cần tập trung nỗ lực tối ưu hóa. Mỗi mẫu dữ liệu đều kể một câu chuyện về hệ thống của bạn.

  • CPU %iowait cao: Nếu bạn thường xuyên thấy chỉ số %iowait cao, điều này cho thấy hệ thống lưu trữ của bạn đang là điểm nghẽn. Các giải pháp có thể bao gồm: nâng cấp từ ổ HDD truyền thống lên SSD để tăng tốc độ đọc/ghi, tối ưu hóa các truy vấn cơ sở dữ liệu để giảm số lần đọc từ đĩa, hoặc sử dụng các cơ chế caching hiệu quả hơn để lưu dữ liệu thường xuyên truy cập trong RAM.
  • CPU %user cao: Một tỷ lệ %user cao liên tục chỉ ra rằng các ứng dụng của bạn đang làm việc rất chăm chỉ. Bạn nên xem xét tối ưu hóa mã nguồn của ứng dụng, đặc biệt là các vòng lặp hoặc thuật toán phức tạp. Sử dụng các công cụ profiling để tìm ra những hàm nào đang chiếm nhiều thời gian CPU nhất. Đôi khi, việc nâng cấp lên một phiên bản ngôn ngữ lập trình hoặc thư viện mới hơn cũng có thể mang lại cải thiện về hiệu suất.
  • Sử dụng Swap liên tục: Nếu sar -S cho thấy hệ thống liên tục phải dùng đến swap, giải pháp rõ ràng nhất là nâng cấp RAM. Không có cách tối ưu phần mềm nào có thể thay thế hoàn toàn việc thiếu hụt tài nguyên vật lý này. Trước khi nâng cấp, bạn cũng nên kiểm tra xem có ứng dụng nào bị rò rỉ bộ nhớ hay không.
  • Lưu lượng mạng cao: Khi sar -n DEV báo cáo lưu lượng mạng gần bão hòa, hãy xem xét các biện pháp như nén dữ liệu truyền đi (ví dụ: bật Gzip/Brotli cho web server), sử dụng mạng phân phối nội dung (CDN) để giảm tải cho máy chủ gốc, hoặc đơn giản là nâng cấp gói băng thông mạng của bạn.

Xử lý các lỗi thường gặp khi dùng lệnh sar

Trong quá trình sử dụng sar, đôi khi bạn có thể gặp phải một số vấn đề. Dưới đây là cách khắc phục các lỗi phổ biến.

  • Lỗi không có dữ liệu (Cannot open /var/log/sysstat/saDD: No such file or directory): Lỗi này xảy ra khi bạn cố gắng truy vấn dữ liệu của một ngày trong quá khứ nhưng tệp log không tồn tại. Nguyên nhân có thể là dịch vụ sysstat đã không chạy vào ngày hôm đó. Hãy kiểm tra trạng thái của dịch vụ bằng systemctl status sysstat và đảm bảo nó đang được kích hoạt (enabled). Bạn cũng cần kiểm tra lại tệp cấu hình cron (/etc/cron.d/sysstat) để chắc chắn rằng việc thu thập dữ liệu được lên lịch chính xác.
  • Dịch vụ sysstat không chạy: Nếu dịch vụ sysstat không hoạt động, sar sẽ không thể thu thập dữ liệu lịch sử. Bạn có thể khởi động lại nó bằng sudo systemctl restart sysstat. Nếu dịch vụ vẫn không chạy, hãy kiểm tra log hệ thống (journalctl -u sysstat) để tìm thông báo lỗi cụ thể.
  • Vấn đề thời gian thu thập dữ liệu bị lệch hay không liên tục: Đôi khi bạn có thể thấy các mốc thời gian trong báo cáo của sar không khớp hoặc bị gián đoạn. Điều này thường xảy ra nếu thời gian hệ thống bị thay đổi (ví dụ: đồng bộ hóa NTP không chính xác) hoặc máy chủ bị khởi động lại. Hãy đảm bảo dịch vụ NTP của bạn được cấu hình đúng cách để giữ cho đồng hồ hệ thống luôn chính xác. Các khoảng trống trong dữ liệu thường tương ứng với thời gian máy chủ bị tắt.

Hình minh họa

https://buimanhduc.com/wp-content/uploads/2023/11/xu-ly-loi-thuong-gap-khi-dung-sar.png

Tổng kết và lời khuyên cuối cùng

Qua bài viết này, chúng ta đã cùng nhau khám phá một cách chi tiết về lệnh sar – một công cụ giám sát hệ thống Linux vô cùng mạnh mẽ và linh hoạt. Từ việc cài đặt, tìm hiểu các tham số cơ bản để theo dõi CPU, bộ nhớ, I/O và mạng, cho đến cách phân tích dữ liệu để tìm ra các điểm nghẽn và lập kế hoạch nâng cấp, sar thực sự là một người bạn đồng hành không thể thiếu của bất kỳ quản trị viên hệ thống nào.

Tầm quan trọng của sar không chỉ nằm ở khả năng cung cấp dữ liệu tức thời mà còn ở việc lưu trữ và cho phép phân tích dữ liệu lịch sử. Chính khả năng này giúp chúng ta chuyển từ việc quản trị bị động, chỉ xử lý khi có sự cố, sang một phương pháp chủ động, dự đoán và ngăn ngừa các vấn đề về hiệu suất trước khi chúng ảnh hưởng đến người dùng cuối. Việc duy trì một hệ thống ổn định và hiệu quả phụ thuộc rất nhiều vào việc hiểu rõ cách nó hoạt động dưới các mức tải khác nhau, và sar cung cấp chính xác những thông tin đó.

Lời khuyên cuối cùng của tôi là hãy biến việc sử dụng sar thành một thói quen. Đừng chỉ dùng nó khi hệ thống đã gặp sự cố. Hãy dành thời gian định kỳ để xem lại các báo cáo, tìm hiểu các mẫu sử dụng tài nguyên bình thường của hệ thống bạn. Khi bạn đã quen thuộc với trạng thái “khỏe mạnh” của máy chủ, bạn sẽ dễ dàng và nhanh chóng phát hiện ra bất kỳ dấu hiệu bất thường nào. Chúc bạn thành công trên con đường làm chủ nghệ thuật quản trị hệ thống Linux!

Đánh giá
Tác giả

Mạnh Đức

Có cao nhân từng nói rằng: "Kiến thức trên thế giới này đầy rẫy trên internet. Tôi chỉ là người lao công cần mẫn đem nó tới cho người cần mà thôi !"

Chia sẻ