Vzwatchd là một daemon giám sát OpenVZ thông báo cho quản trị viên máy chủ qua email khi đạt đến giới hạn của vùng chứa. OpenVZ là công nghệ ảo hóa Linux Kernel thường được các dịch vụ lưu trữ web sử dụng, đây là lõi miễn phí của ứng dụng ảo hóa virtuozzo thương mại. OpenVZ là một ảo hóa nhẹ có ít chi phí hơn KVM hoặc XEN, giống như một nhà tù Linux LXC nhưng có các tùy chọn giới hạn nâng cao để xác định số lượng tài nguyên mà một máy ảo có thể sử dụng và hỗ trợ hạn ngạch hệ thống tệp.
Hướng dẫn này giải thích cách cài đặt và cấu hình daemon vzwatchd trên Debian và Ubuntu.
Bạn đã thuê máy chủ ảo từ một công ty lưu trữ mà không biết công ty đó sử dụng công nghệ ảo hóa nào chưa? Chạy lệnh sau để kiểm tra xem nó có sử dụng OpenVZ không:
Nếu đầu ra tương tự như bên dưới, thì máy chủ của bạn sử dụng OpenVZ hoặc công nghệ tương thích và bạn có thể sử dụng vzwatchd để giám sát vserver.
Đầu ra hiển thị giới hạn của máy ảo, mỗi dòng mô tả một giới hạn và cột được vzwatchd theo dõi là cột cuối cùng đếm tần suất đạt đến giới hạn.
Đầu tiên tôi sẽ cài đặt công cụ make và trình soạn thảo nano, make được CPAN sử dụng để xây dựng vzwatchd và sau đó tôi sẽ sử dụng nano để chỉnh sửa tệp cấu hình:
Tiếp theo tôi sẽ cài đặt vzwatchd từ CPAN bằng lệnh này:
Nếu đây là lần đầu tiên bạn sử dụng CPAN trên máy chủ, tập lệnh sẽ hỏi bạn một vài câu hỏi về cấu hình CPAN cơ bản:
Trả lời cả hai câu hỏi bằng "có".
Trình cài đặt bây giờ sẽ tải xuống, biên dịch và cài đặt nhiều mô-đun Perl:
Nó là quan trọng là bạn phải thấy dòng
ở cuối đầu ra biên dịch. Nếu bạn gặp lỗi, hãy chạy lại lệnh. Tôi phải chạy lệnh hai lần để biên dịch thành công tất cả các mô-đun.
Để kiểm tra xem quá trình cài đặt có thành công không, hãy chạy lệnh:
Lệnh này sẽ kiểm tra quá trình cài đặt và tạo một tệp cấu hình mẫu.
Tệp cấu hình sẽ trông như thế này sau khi bạn chỉnh sửa, chỉ khác là địa chỉ email của bạn không nằm trong đó.
Các thay đổi là:
Và khởi động daemon giám sát vzwatchd:
Bây giờ bạn sẽ nhận được thông báo qua email khi máy chủ ảo OpenVZ của bạn đạt đến một trong các giới hạn của vùng chứa OpenVZ.
Hướng dẫn này giải thích cách cài đặt và cấu hình daemon vzwatchd trên Debian và Ubuntu.
1 Máy chủ ảo của tôi có sử dụng OpenVZ không
Bạn đã thuê máy chủ ảo từ một công ty lưu trữ mà không biết công ty đó sử dụng công nghệ ảo hóa nào chưa? Chạy lệnh sau để kiểm tra xem nó có sử dụng OpenVZ không:
Mã:
cat /proc/user_beancounters
Mã:
root@www:/# cat /proc/user_beancounters
Phiên bản: 2.5
uid resource held maxheld barrier limit failcnt
101: kmemsize 190939926 274194432 9223372036854775807 9223372036854775807 0
trang bị khóa 0 3211 1048576 1048576 0
trang riêng tư 749006 781311 9223372036854775807 9223372036854775807 0
trang shmpage 22506 30698 9223372036854775807 9223372036854775807 0
trang giả 0 0 9223372036854775807 9223372036854775807 0
numproc 237 312 9223372036854775807 9223372036854775807 0
physpages 486543 804959 0 1048576 0
vmguarpages 0 0 3145728 9223372036854775807 0
oomguarpages 233498 242378 1048576 9223372036854775807 0
numtcpsock 111 298 9223372036854775807 9223372036854775807 0
numflock 253 294 9223372036854775807 9223372036854775807 0
numpty 1 12 9223372036854775807 9223372036854775807 0
numsiginfo 0 33 9223372036854775807 9223372036854775807 0
tcpsndbuf 7083944 11209000 9223372036854775807 9223372036854775807 0
tcprcvbuf 3300832 10792248 9223372036854775807 9223372036854775807 0
othersockbuf 261256 1008400 9223372036854775807 9223372036854775807 0
dgramrcvbuf 0 5152 9223372036854775807 9223372036854775807 0
numothersock 166 526 1024 1024 0
dcachesize 168291899 247843839 9223372036854775807 9223372036854775807 0
tệp số 3098 5205 9223372036854775807 9223372036854775807 0
giả 0 0 9223372036854775807 9223372036854775807 0
giả 0 0 9223372036854775807 9223372036854775807 0
giả 0 0 9223372036854775807 9223372036854775807 0
numiptent 28 35 9223372036854775807 9223372036854775807 0
2Cài đặt vzwatchd
Vzwatchd được viết bằng Perl, được tải xuống và cài đặt từ kho lưu trữ CPAN của Perl bằng lệnh CPAN.Cài đặt các điều kiện tiên quyết
Tôi sẽ thực hiện các bước sau với tư cách là người dùng root, chạy sudo -s trên Ubuntu để trở thành root:
Mã:
sudo -s
Mã:
apt-get install make nano
Mã:
cpan -i App::OpenVZ::BCWatch
Mã:
Bạn có muốn cấu hình tự động càng nhiều càng tốt không? [có]
Mã:
Bạn có muốn tôi tự động chọn một số trang web phản chiếu CPAN cho bạn không? (Điều này có nghĩa là kết nối với Internet) [có]
Trình cài đặt bây giờ sẽ tải xuống, biên dịch và cài đặt nhiều mô-đun Perl:
Mã:
root@rz3:~# cpan -i App::OpenVZ::BCWatch
CPAN.pm yêu cầu cấu hình, nhưng hầu hết có thể được thực hiện tự động.
Nếu bạn trả lời 'không' bên dưới, bạn sẽ vào hộp thoại tương tác cho từng tùy chọn cấu hình.
Bạn có muốn cấu hình tự động nhiều nhất có thể không? [có] có
Tự động cấu hình mọi thứ trừ 'urllist'.
Bây giờ bạn cần chọn các trang web phản chiếu CPAN của mình. Bạn có thể để tôi
chọn các trang web phản chiếu cho bạn, bạn có thể chọn chúng từ danh sách hoặc bạn
có thể nhập chúng bằng tay.
Bạn có muốn tôi tự động chọn một số trang web phản chiếu CPAN
cho bạn không? (Điều này có nghĩa là kết nối với Internet) [có] có
Đang cố gắng lấy danh sách phản chiếu từ Internet
Đang lấy bằng LWP:
http://www.perl.org/CPAN/MIRRORED.BY
Đang tìm kiếm phản chiếu CPAN gần bạn (vui lòng kiên nhẫn)
.............................. xong!
Danh sách url mới
http://www.planet-elektronik.de/CPAN/
http://cpan.noris.de/
http://cpan.lnx.sk/
Tự động cấu hình hoàn tất.
cam kết: đã viết '/root/.cpan/CPAN/MyConfig.pm'
Bạn có thể chạy lại cấu hình bất kỳ lúc nào bằng 'o conf init' trong shell CPAN
Đang lấy bằng LWP:
http://www.planet-elektronik.de/CPAN/authors/01mailrc.txt.gz
Sắp đọc '/root/.cpan/sources/authors/01mailrc.txt.gz'
..................................................................XONG
Đang tải bằng LWP:
http://www.planet-elektronik.de/CPAN/modules/02packages.details.txt.gz
Sắp đọc '/root/.cpan/sources/modules/02packages.details.txt.gz'
Cơ sở dữ liệu được tạo vào Thứ Hai, ngày 13 tháng 4 năm 2015 23:29:02 GMT
..............
Phiên bản CPAN.pm mới (v2.10) đã có sẵn.
[Phiên bản đang chạy hiện tại là v1.960001]
Bạn có thể muốn thử
cài đặt CPAN
tải lại cpan
để nâng cấp CPAN.pm và chạy phiên bản mới mà không cần thoát khỏi
phiên hiện tại.
[... cắt ...]
CPAN.pm: Sắp biên dịch G/GW/GWOLF/Config-File-1.50.tar.gz
Đang biên dịch Config-File
GWOLF/Config-File-1.50.tar.gz
./Build -- OK
Đang chạy thử nghiệm Biên dịch
t/pod.t ........... Chương trình con main::all_pod_files_ok được định nghĩa lại tại /usr/local/share/perl/5.14.2/Test/Pod.pm dòng 90.
t/pod.t ........... ok
t/pod_coverage.t .. ok
t/test.t .......... 1/11 Ký tự không hợp lệ trong khóa sẽ được^bỏ qua tại dòng 10 - Bỏ qua tại /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm dòng 41, dòng 10.
Định dạng dòng không hợp lệ ở dòng 11: 'dòng không đúng định dạng cũng cần bị loại bỏ (không có dấu bằng)' tại /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm dòng 35, dòng 11.
t/test.t .......... ok
Tất cả các thử nghiệm đều thành công.
Files=3, Tests=13, 0 wallclock secs (0,03 usr 0,00 sys + 0,13 cusr 0,02 csys = 0,18 CPU)
Kết quả: PASS
GWOLF/Config-File-1.50.tar.gz
./Build test -- OK
Đang chạy Build install
Đang xây dựng Config-File
Đang cài đặt /usr/local/share/perl/5.14.2/Config/File.pm
Đang cài đặt /usr/local/man/man3/Config::File.3pm
GWOLF/Config-File-1.50.tar.gz
./Build install -- OK
Đang chạy Build cho S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
Đã được giải nén vào thư mục /root/.cpan/build/App-OpenVZ-BCWatch-0.04-4Al97O
CPAN.pm: Đang biên dịch S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
Đang biên dịch App-OpenVZ-BCWatch
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build -- OK
Đang chạy thử nghiệm Biên dịch
t/00-load.t ....... ok
t/basic.t ......... ok
t/pod-coverage.t .. ok
t/pod.t ........... ok
Tất cả các thử nghiệm đều thành công.
Tệp=4, Thử nghiệm=6, 0 giây đồng hồ ( 0,04 usr 0,01 sys + 0,27 cusr 0,04 csys = 0,36 CPU)
Kết quả: PASS
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build test -- OK
Đang chạy Build install
Đang xây dựng App-OpenVZ-BCWatch
Đang cài đặt /usr/local/man/man1/vzwatchd.1p
Đang cài đặt /usr/local/share/perl/5.14.2/App/OpenVZ/BCWatch.pm
Đang cài đặt /usr/local/man/man3/App::OpenVZ::BCWatch.3pm
Đang cài đặt /usr/local/bin/vzwatchd
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build install -- OK
Mã:
./Build install -- OK
Để kiểm tra xem quá trình cài đặt có thành công không, hãy chạy lệnh:
Mã:
vzwatchd check
Mã:
root@server:~# vzwatchd check
/etc/vzwatchd.conf không tồn tại, đang tạo một tệp với các giá trị mặc định.
Chỉnh sửa /etc/vzwatchd.conf cho phù hợp với nhu cầu của bạn, sau đó khởi động lại /usr/local/bin/vzwatchd.
3 Cấu hình và kích hoạt vzwatchd
Bây giờ tôi sẽ chỉnh sửa tệp vzwatchd.conf và đặt địa chỉ email cho các tin nhắn thông báo.
Mã:
nano /etc/vzwatchd.conf
Mã:
mail[from] = [emailprotected]
mail[to] = [emailprotected]
mail[subject] = vzwatchd trên server.example.com: NOTICE
sleep = 60
verbose = 0
monitor_fields = failcnt
_active = 1
- Dòng "mail[from]" chứa địa chỉ người gửi của email thông báo.
- Dòng "mail[to]" chứa địa chỉ email sẽ nhận thông báo.
- Giá trị trong dòng "_active" phải được thay đổi thành 1 để kích hoạt vzwatchd.
- Khi bạn chạy nhiều máy chủ OpenVZ thì có thể thay đổi "mail[subject]" để chứa tên máy chủ.
Mã:
vzwatchd install
Mã:
root@server:~# vzwatchd install
+ /usr/sbin/update-rc.d vzwatchd defaults
update-rc.d: cảnh báo: /etc/init.d/vzwatchd thiếu thông tin LSB
update-rc.d: xem
Đang thêm khởi động hệ thống cho /etc/init.d/vzwatchd ...
/etc/rc0.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc1.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc6.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc2.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc3.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc4.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc5.d/S20vzwatchd -> ../init.d/vzwatchd
Mã:
vzwatchd start
Mã:
root@server:~# vzwatchd start
Đang khởi động máy chủ /usr/local/bin/vzwatchd