Computer >> Hướng Dẫn Máy Tính >  >> Điện Thoại Thông Minh >> Linux

Cách dùng dstat để giám sát máy chủ Linux/UNIX

Hướng dẫn chi tiết từng bước dùng dstat giám sát máy chủ Linux (hoặc Unix).

Nếu bạn quản trị máy chủ Linux tại văn phòng hoặc trung tâm dữ liệu, muốn duy trì uptime gần 100%. Cần theo dõi tài nguyên hệ thống: bộ nhớ, CPU, ổ đĩa... Thường dùng kết hợp các công cụ có sẵn như "free", "top", "vmstat"... Tôi giới thiệu công cụ cho hầu như tất cả thông tin đó dưới một mái nhà - Dstat. Nhà phát triển Dag Wieers gọi nó "thay thế linh hoạt cho vmstat, iostat, netstat và ifstat", "khắc phục hạn chế và thêm tính năng". Dstat là "mẹ của tất cả công cụ giám sát dòng lệnh". Dễ cài, dễ dùng, dễ tùy chỉnh, tạo báo cáo có thể vẽ đồ thị để thuyết phục sếp.

Cài đặt Dstat

Tải bộ cài Dstat. Truy cập trang chủ https://dag.wieers.com/home-made/dstat/. Kéo xuống phần tải xuống, chọn bản phù hợp với distro Linux. Ví dụ cho Red Hat Enterprise Linux 4:

# wget https://dag.wieers.com/rpm/packages/dstat/dstat-0.6.6-1.el4.rf.noarch.rpm

Cài đặt:

# rpm -Uvh dstat-0.6.6-1.el4.rf.noarch.rpm

Nếu cài thành công không lỗi, xong. Nếu thiếu phụ thuộc, cài gói cần thiết rồi thử lại. Dstat ít phụ thuộc, ít khi gặp vấn đề.

Sử dụng Dstat

Sau khi cài, chạy từ terminal:

# dstat

Kết quả mẫu (nhấn Ctrl+C để thoát):

# dstat 
---total-cpu-usage--- -disk/total -net/total- --paging-- --system--
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_
7 1 91 1 0 0| 0 0 | 0 0 | 0 0 | 0 0
1 0 99 0 0 0| 0 0 | 0 0 | 0 0 |1051 1945
0 0 100 0 0 0| 0 12k|2269B 11.2k| 0 0 |1031 1923
1 0 99 0 0 0| 0 40k| 0 0 | 0 0 |1078 2235
0 0 100 0 0 0| 0 16k|6027B 21.5k| 0 0 |1008 2219

Nhiều tùy chọn cho Dstat. Dễ tùy chỉnh. Nếu chỉ muốn CPU, disk, network:

# dstat -CDN
-disk/total -net/total- --paging-- --system--
_read write|_recv _send|__in_ _out_|_int_ _csw_
0 0 | 0 0 | 0 0 | 0 0
0 12k|2295B 9603B| 0 0 |1053 1957
0 0 | 594B 0 | 0 0 |1002 1893
0 960k| 292B 3346B| 0 0 |1072 2012
0 4096B| 64B 0 | 0 0 |1031 1939

Xem thêm tùy chọn:

# dstat -h

Thử các tùy chọn để quen. Mặc định khoảng đọc dữ liệu 2 giây. Thay đổi khoảng thời gian, ví dụ 10 giây:

# dstat 10

Tính năng hữu ích: cập nhật tổng hợp cho mỗi mục. Dstat cập nhật mỗi 10 giây dòng mới, nhưng dữ liệu thay đổi mỗi giây.

Muốn 5 lần cập nhật, tần suất 3 giây:

# dstat 3 5
---total-cpu-usage--- -disk/total -net/total- --paging-- --system--
usr sys idl wai hiq siq|_read write|_recv _send|__in_ _out_|_int_ _csw_
3 1 95 2 0 0| 0 0 | 0 0 | 0 0 | 0 0
2 11 87 1 0 0| 0 180k|2581B 3239B| 0 0 |1136 697
7 8 85 0 0 0| 0 0 | 115k 106k| 0 0 |1603 3985
2 1 98 0 0 0| 0 0 |77.5k 170k| 0 0 |1744 3856
1 0 100 0 0 0| 0 0 |3451B 9993B| 0 0 |1045 149
2 1 94 4 0 0| 0 276k|20.4k 31.1k| 0 0 |1219 804

Tính năng hữu ích nhất: xuất ra file CSV. Dstat ghi kết quả ra file CSV, sau nhập vào Excel/OpenOffice vẽ đồ thị.

# dstat --output /tmp/dstat_data.csv -CDN

Chạy lệnh trên khi test ứng dụng. Nhấn Ctrl+C khi xong. Mở file dstat_data.csv bằng Excel/OpenOffice, chọn cột cần vẽ đồ thị.

Nhận báo cáo qua Email

Có khi muốn quan sát hiệu suất server trong một thời gian. Thiết lập tiến trình nền chạy Dstat theo khoảng thời gian, tạo báo cáo, gửi mail. Script sau chạy Dstat 3 giờ, đọc mỗi 30 giây, gửi báo cáo đến me@myemailid.com.

#!/bin/bash
dstat --output /tmp/dstat_data_mail.csv -CDN 30 360
mutt -a /tmp/dstat_data_mail.csv -s "Dstat Report for 3 hour run" me@myemailid.com < /dev/null

Lưu script thành dstat_script.sh, cấp quyền thực thi, chạy nền:

# chmod +x dstat_script.sh
# nohup ./dstat_script.sh &

Xong. Bạn sẽ nhận báo cáo sau khi chạy xong. Có thể lên lịch cron hàng ngày để nhận dữ liệu mỗi ngày.

Dstat là công cụ tuyệt vời cho giám sát hiệu năng và gỡ lỗi. Độ chi tiết, tần suất, bản chất dữ liệu do bạn quyết định. Dstat trao quyền biết điều gì đang xảy ra trên server. Dùng khôn ngoan sẽ giảm những đêm mất ngủ.