3.4.4. Cấu trúc phân cấp gói
Services Config Log Datastnicture Accounting V______________ Chnrt / --- Coníig Librarỵ . File Regex ( ^ MLibrary l ___________J
Chương 3 MODULE CẰI ĐẶT VẦ THEO DÕI CẤC DỊCH vụ MẠNG
3.4.3.1. Cấu trúc lớp trong từng gói nhỏ
ServerIufo.java r Services.Coníig c 01111 ectỉon.java CanuectByS SH.j a va Sen ice.java
SVTH: Nguyễn Thành Nhân Trang 30
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
SVTH: Nguyễn Thành Nhân Trang 32
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CẮC DỊCH vụ MẠNG
3.5. CHỨC NĂNG CỦA MODULE
3.5.1. Chức năng cài đặt dịch vụ
Trong quá trình quản lý các dịch vụ, bằng nhiều lý do chúng ta phải cấu hình lại các thông số, hoặc là gở bỏ dịch vụ đó ra khỏi hệ thống. Với yêu cầu đó, module cung cấp ba chức năng trong cài đặt dịch vụ:
> Cài đặt mới dịch vụ. > Gỡ bỏ dịch vụ. > Cấu hình dịch vụ.
3.5.1.1. Cài đặt dịch vụ
Đổ thực hiện cài đặt dịch vụ, tiến hành gọi hàm public boolean installQ bên trong lớp của dịch vụ đó. Module sẽ thực thi câu lệnh cài đặt thông qua ssh đến server hiện hành. Nếu kết quả trả về là true, tiến trình cài đặt thành công, ngược lại việc cài đặt thất bại.
3.5.1.2. Gờ bỏ dịch vụ
Thực thi hàm pubttc boolean removeị) bên trong lớp của dịch vụ đó. Nếu kết quả trả về là tme, tiến trình gỡ bỏ thành công, ngược lại việc gỡ bỏ thất bại.
3.5.1.3. Cấu hình dịch vụ
Việc cấu hình dịch vụ thông qua các bước gọi hàm sau:
V Gọi hàm abstract public void loadConfigToXmlDoc(Strỉng fileCofigName)
tương ứng cho từng dịch vụ để tải cấu hình về máy cục bộ và chuyển chúng về định dạng xml.
V Phía giao diện sẽ sử dụng fĩle xml này và thể hiện thông số cho người dùng. Sau khi người dùng chỉnh sửa sẽ lưu trở lại fĩle xml đó.
V Gọi hàm abstract public void comertXmlToConfìg(Node node) để chuyển từ định dạng xml sang cấu hình của từng dịch vụ. Riêng với Apache, gọi hàmpublic void
convertXmlsToConfigs().
V Gọi hàm abstract public void upĩoadConfígFile(String fíleConfígName) để upload file cấu hình lên server.
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
3.5.2. Chức năng điều khiển các dịch vụ
Chức năng này bao gồm: Tắt dịch vụ, mở dịch vụ, khởi động lại dịch vụ.
3.5.2.1. Tắt dịch vụ
Thực thi hàm public boolean stopO của dịch vụ để tắt dịch vụ. Kết quả trả về tme nếu stop thành công, ngược lại là stop không thành công.
3.5.2.2. Khởi động dịch vụ
Thực thi hàmpúblic boolean startQ của dịch vụ để tắt dịch vụ. Kết quả trả về true nếu start thành công, ngược lại là không thành công.
3.5.2.3. Khởi động lại dịch vụ
Thực thi hàm publỉc boolean restartị) của dịch vụ để tắt dịch vụ. Kết quả trả về true nếu khởi động lại thành công, ngược lại là không thành công.
3.5.3. Chức năng theo dõi dịch vụ
Chức năng theo dõi dịch vụ bao gồm phân tích log để vẽ biểu đồ và lập thống kê cho từng dịch vụ. Mỗi dịch vụ sẽ có những loại biểu đồ khác nhau và những thống kê khác nhau phục vụ cho việc theo dõi của nhà quản trị.
Module cung cấp chức năng cho phép chọn thống kê và vẽ sơ đồ trong khoảng thời gian nào, và kiểu thống kê là theo mốc thời gian từng giây, từng phút, từng giờ... +- ỊỊTTP Server
> Biểu đồ đếm số lượt yêu cầu (request) vào webserver trong từng khoảng thời gian. Cấu trúc xml cho biểu đồ:
<?xml version="l.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Sun Jan 09 21:37:27 ICT 2011</x> <value>4.0</value>
</node> <node>
<x>Tue Jan 11 09:43:54 ICT 2011</x> <value>2.0</value>
</node> </chartbase>
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
> Biểu đồ đếm số lượt truy cập thất bại trong từng khoảng thời gian, cấu trúc xml cho biểu đồ:
<?xml version="1.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Sun Jan 09 21:37:27 ICT 2011</x> <value>420</value>
</node> <node>
<x>Tue Jan 11 09:43:54 ICT 2011</x> <value>200</value>
</node> <node>
<x>Wed Jan 12 12:19:21 ICT 2011</x> <value>209</value>
</node> </chartbase>
> Biểu đồ biểu diễn dung lượng tải qua webserver trong từng khoảng thòi gian. Cấu trúc xml cho biểu đồ:
<?xml version="l.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Sat Jan 08 18:34:50 ICT 2011</x> <value>14.0</value>
</node> <node>
<x>Sun Jan 09 17:39:41 ICT 2011</x> <value>2.0</value>
</node> <node>
<x>Sun Jan 09 21:03:08 ICT 2011</x> <value>3.0</value>
</node> <node>
<x>Sun Jan 09 22:33:47 ICT 2011</x> <value>3.0</value>
</node> </chartbase>
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
4- FTP Server
> Biểu đồ dung lượng download trong mỗi khoảng thời gian, cấu trúc xml:
<?xml version="1.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Fri May 06 02:51:54 ICT 2011</x> <value>17 42 9.0</value>
</node> </chartbase>
> Biểu đồ dung lượng upload trong mỗi khoảng thời gian.
<?xml version="1.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Fri May 06 02:58:24 ICT 2011</x> <value>1442.0</value>
</node> </chartbase>
> Biểu đồ tốc độ download đạt được trong từng khoảng thời gian.
<?xml version="1.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Fri May 06 02:51:54 ICT 2011</x> <value>651.38</value>
</node> </chartbase>
> Biểu đồ tốc độ upload đạt được trong từng khoảng thời gian.
<?xml version="1.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Fri May 06 02:58:24 ICT 2011</x> <value>42.0</value>
</node>
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
> Biểu đồ tròn biểu thị tỉ lệ download thành công ữong tổng số lượt
<?xml version="1.ũ" encoding="UTF-8" ?> <chartcircle> <node> <name>Download success</name> <value>100.0</value> </node> <node> <name>Download fail</name> <value>0.0</value> </node> download.
> Biểu đồ ttòn biểu thị tỉ lệ upload thành công ttên tổng số lượt upload.
<?xml version="l.0" encoding="UTF-8" ?> <chartcircle> <node> <name>Upload success</name> <value>100.0</value> </node> <node> <name>Upload fail</name> <value>0.0</value> </node>
> Bảng thống kê tổng hợp về ftp (thời gian, số lượt download, số lượt download thất bại, số lượt upload, số lượt upload thất bại, số phiên đăng nhập, số phiên đãng nhập thất bại).
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG <?xml version="1.0" encoding="UTF-8" ?> <accountinguser> <node> <date>24-4-2011 23</date> <username>anonymous</username> <ip>172.16.22.126</ip> <loginok>9</loginok> <loginfail>5</loginfail> <downloadok>0</downloadok> <downloadfail>0</downloadfail> <uploadok>0</uploadok> <uploadfail>ũ</uploadfail> </node> <node> <date>25-4-2011 0</date> <username>anonymous</username> <ip>172.16.22.126</ip> <loginok>Ũ</loginok> <loginfail>2</loginfail> <downloadok>0</downloadok> <downloadfail>0</downloadfail> <uploadok>0</uploadok> <uploadfail>ũ</uploadfail> </node> <node> <date>25-4-2011 9</date> <username>anonymous</username> <ip>172.16.22.126</ip> <loginok>ũ</loginok> <loginfail>l</loginfail> <downloadok>0</downloadok> <downloadfail>0</downloadfail> <uploadok>0</uploadok> <uploadfail>0</uploadfail> </node> </accountinguser>
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
4- ProxyServer
> Bảng thống kê từ chối truy cập (Denied access) bao gồm: thòi gian truy cập, ip của Client, url bị từ chối, kiểu dữ liệu.
<?xml version="1.0" encoding="UTF-8" ?> <deniedaccesssquid> <node> <ip>l 92.168.1.11K/ ip> <url>http://mp3.zing.vn</url> <date>5-5-2 011 19:48:18</date> <datatype>text/html</datatype> </node> <node> <ip>192.168.1.111</ip> <url>http://yahoo.com</url> <date>5-5-2 011 19:45:44</date> <datatỵpe>text/html</datatype> </node> <node> <ip>l 92.168.1.11K/ ip> <url>http://yahoo.com/favicon.ico</url> <date>5-5-2 011 19:45:44</date> <datatype>text/html</datatype> </node> </deniedaccesssquid>
> Biểu đồ dung lượng tải qua proxy server trong mỗi khoảng thời gian.
<?xml version="1.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Thu May 05 19:27:01 ICT 2011</x> <value>625216.0</value>
</node> </chartbase>
> Biểu đồ biểu thị số lượt truy cập trong mỗi khoảng thòi gian.
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
> Biểu đồ biểu thị số lượt từ chối truy cập trong mỗi khoảng thòi gian.
<?xml version="1.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Thu May 05 19:45:44 ICT 2011</x> <value>2.0</value>
</node> <node>
<x>Thu May 05 19:45:47 ICT 2011</x> <value>l.0</value>
</node> <node>
<x>Thu May 05 19:48:18 ICT 2011</x> <value>l.0</value>
</node> </chartbase>
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
> Thống kê tổng hợp về proxy server bao gồm: Thòi gian,số lượt truy cập, dung lượng truy cập, số lượt hợp lệ, dung lượng hợp lệ, số lượt bị từ chối truy cập, dung lượng bị từ chối.
<?xml version="1.0" encoding="UTF-8" ?> <recordsquidlog>
<node>
<date>Thu May 05 19:58:09 ICT 2011</date> <request>136</request> <bỵtesrequest>625216</bytesrequest> <requestaccept>132</requestaccept> <bytesaccept>619312</bytesaccept> <requestdenied>4</requestdenied> <bytesdenied>5 904</bytesdenied> </node> 4- DNS Server
> Biểu đồ số lượt truy vấn ữong mỗi khoảng thòi gian.
<?xml version="l.0" encoding="UTF-8" ?> <chartbase>
<node>
<x>Sat Apr 02 14:12:16 ICT 2011</x> <value>120.0</value>
</node> <node>
<x>Sat Apr 02 17:38:43 ICT 2011</x> <value>1209.0</value>
</node> <node>
<x>Sat Apr 02 19:03:24 ICT 2011</x> <value>1398.0</value>
</node> <node>
<x>Sat Apr 02 20:03:25 ICT 2011</x> <value>478.0</value>
</node>
Thông số các loại biểu đồ và thống kê phía trên được lưu trữ dạng xml cung cấp cho phía giao diện để thể hiện cho người dùng.
SVTH: Nguyễn Thành Nhân Trang 41
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
3.6. CÁC GIẢI THUẬT xử LÝ CỦA MODULE
3.6.1. Quy trình tải file và upload file
Hình 3.8 Quy trình download file
Trong sơ đồ trên, việc xác định dịch vụ được người dùng chọn trực tiếp trên giao diện sau khi dịch vụ đó đã được khởi tạo. Quá trình xác định đường dẫn được thực hiện bởi việc load íĩle pathFile.xml (file lưu trữ thông tin đường dẫn của dịch vụ). Sau khi xác định được vị trí của file, tiến hành tải về máy cục bộ, thực hiện việc giải nén cho trường hợp xử lý các log file.
Quá trình upload lên server được thực hiện ngược lại
Hình 3.9 Quy trình upload file lên server
3.6.2. Quy trình cấu hình dịch vụ
Vói kĩ thuật cấu hình từ xa, các íĩle cấu hình sẽ được tải về máy trạm. Sau đó chuyển thành định dạng xml và load lên giao diện cấu hình.
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
Sau khi cấu hình hoàn tất, các thông số được lưu trở lại định dạng xml rồi tiến hành chuyển về định dạng cấu hình ban đầu và upload lên server.
Tổng kết quy trình cấu hình dịch vụ như sau 4- Chuyển cấu hình thành định dạng xml
Hình 3.10 Chuyển cấu hình thành định dạng xml
Trong sơ đồ trên, điều kiện là giá trị hữu ích có nghĩa dòng đó là một dòng cấu hình đúng nghĩa, không phải dòng hắng, không phải dòng chú thích. Quá trình lưu tài liệu xml xuống đĩa sẽ tham khảo đường dẫn cục bộ ữong pathýile.xml.
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
4- Chuyển định dạng xml thành cấu hình và tải lên server
Hình 3.11 Chuyển định dạng xml thành cấu hình và upload lên server
Điều kiện là phần tử cấu hình có nghĩa rằng đây là một thể chứa giá trị cấu hình, không phải các thể trung gian. Sau khi đọc hết file, định dạng cấu hình sẽ được lưu xuống cục bộ trước, sau đó tiến hành upload lên server. Qua trình này cũng cần tham khảo đường dẫn ở pathỷile.xml.
Chương 3 MODƯLE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
3.6.3. Quy trình phân tích nhật kí
r't
start
Tải file nhật kí về mảy trạm
I
Hình 3.12 Quy trình phân tích nhật ký
Nội dung íUe nhật kí thông thường lưu trữ rất nhiều thông tin về hoạt động củã các dịch vụ. Do vậy, khỉ đọc lên từng dòng, chứng tâ thực hiện lọc lấy các thông tin cần thiết. Điều này được thực hiện nhờ vào các hàm xử lý chuỗi và biểu thức chính quy. Sau khỉ quá trình phân tích được thực hiện xong, kết quả sẽ được lưu trữ lại ở cục bộ.
0 IN H
S H y S ecv ec . c lt . d tu . ed u . v n .
0 I N A
1 7 2 . 1 6 . 2 2 . 1 2 6
Chương 3 MODULE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
3.7. GIỚI THIỆU DEMO CỦA MODULE THIẾT KẾ GIAO DIỆN
3.7.1. Giao diện chính 3.7.2. Thêm server [ j Serverắ LũJ Ten Senter Dia.CN.IP Dia_dii_ma ng Domainnam cancel
SVTH: Nguyễn Thành Nhân Trang 46
Chương 3 MODƯLE CÀI ĐẶT VÀ THEO DÕI CÁC DỊCH vụ MẠNG
3.7.3. Điều khiền dịch vụ
3.7.4. Cấu hình VSFTPD
SVTH: Nguyễn Thành Nhân Trang 47
Chương 4 KẾT LUẬN
CHƯƠNG 4 KẾT LUẬN
4.1. KÉT QUẢ ĐẠT Được
Sau quá trình nghiên cứu, học hỏi, kết quả mang lại là một khối kiến thức lớn về cài đặt và quản trị hệ thống mạng linux, bản thân có thể cài đặt và cấu h ình thành thạo các dịch vụ ữong đề tài.
Trên cơ sở đó, tiến hành phân tích yêu cầu, thiết kế và xây dựng được một module tương đối hoàn chỉnh, độc lập với giao diện nên có khả năng tái sử dụng cao. Module dùng để kết nối đến máy chủ linux, cấu hình, điều khiển và theo dõi các dịch vụ, các yêu cầu đặt ra được giải quyết, các biểu đồ và thống kê đa dạng đáp ứng được yêu cầu theo dõi hệ thống của nhà quản trị. Module có thể chạy độc lập với môi trường, đã kiểm tra trên hai nền là Linux và Windows.
Thông qua đề tài, kiến thức về lập trình hướng đối tượng cũng như về ngôn ngữ lập trình java được củng cố đáng kể.
4.2. HẠN CHẾ CỦA MODULE VÀ HƯỚNG PHÁT TRIỀN
Bên cạnh những kết quả đạt được, module vẫn còn một số hạn chế sau:
4- Đầu tiên, module chưa thể bắt được lỗi đường truyền ữong quá trình kết nối đến server.
4- Nếu các dịch vụ mạng đã tồn tại trước khi chạy ứng dụng thì chúng phải được cấu hình theo đúng chuẩn, đặt biệt là chuẩn của logrìle. Lý do của hạn chế này là do người lập trình chưa có đủ kiến thức về các cách cấu hình dịch vụ mạng. Từ đó gói phụ trách phân tích file cấu hình và log chưa thật sự tối ưu.
4- Module không hỗ trợ theo dõi dịch vụ một cách định thời. Điều này có nghĩa là khi một dịch vụ bị ngưng hoạt động thì ứng dụng phải được refresh lại mói có thể phát hiện được.
4- Để thực hiện được việc cấu hình, nhất thiết tài khoản đăng nhập phải có được quyền root.
4- Danh sách các server cũng như các dịch vụ trên server được load từ xml. Có nghĩa là khi một server bị chết, server đó vẫn còn tồn tại trong ứng dụng cho đến khi nào chúng ta thực hiện xóa nó trong xml (ứng dụng có hỗ ừợ xóa trên giao diện).
SVTH: Nguyễn Thành Nhân Trang 48
Chương 4 KẾT LUẬN
4- Các lớp được xây dựng chưa thật sự tối ưu, điều này gây khó khăn cho việc sử dụng lại.
Vói những hạn chế đó, hướng phát triển của module được đặt ra như sau:
4- Xây dựng thêm một gói hỗ trợ cơ chế đa luồng để có thể cập nhật trạng thái của server và dịch vụ một cách định thòi.
4- Chỉnh sửa module cho phép người dùng adminisữator có thể cấu hình dịch vụ.
4- Một vấn đề quan trọng được đặt ra là làm sao có thể quản lý được các dịch vụ khi nó không được cấu hình theo đúng chuẩn. Giải pháp là tiếp tục nghiên cứu các dịch vụ mạng để có thể xây dựng được một gói phân tích dịch vụ hoàn thiện.
4.3. TỒNG KÉT
Qua một thòi gian dài nghiên cứu và thực hiện luận văn, những khó khăn gặp phải không ít khi đề tài về xây dựng công cụ quản trị mạng trên linux thật sự còn quá mói. Tuy vậy, nhờ sự động viên và giúp đỡ của thầy cô và bạn bè, những khó khăn đó cũng dần được giải quyết. Thông qua đây, tôi đã nhận thấy rằng kỷ luật làm việc thật sự rất quan trọng để chúng ta có thể đạt được những thành quả lớn. Nhìn lại một chặn đường, thấy những gì mình đạt được trong đề tài còn quá ít. Nhưng bù lại, tôi đã học được những bài học quý giá: Kỷ luật làm việc, sự kiên trì ữong tìm hiểu cái mới, xây dựng nền tảng trước khi đi vào cái chi tiết. Cảm ơn tất cả đã cho tôi nhiều bài học và kinh nghiệm.
SVTH: Nguyễn Thành Nhân Trang 49
PHỤ LỤC. CÁC FILE CẤU HÌNH DỊCH vụ
CHƯƠNG 5 PHẦN PHỤ LỤC
5.1.CÁC FILE CẤU HÌNH DỊCH vụ
5.1.1. Bind 9
4- File /etc/bind/named.conf.local
ĩũne ,rcit. ctu. eclu.vn" { type ttiaster;
f ile "/etc/bind/ zones/dU3. cit-. ctu. edu. vn";
};
zone ,r2 2 .16 . 172 . in- addr . arpa" { t yp e Itiaster;
tile "/etc/kind/zoties/dJũ.22.16.172,r;
4- Phân giải ữiuận /etc/bind/zones/db.cit.ctu.edu.vn
?TTL s6400
0 IN SOÀ MyServer.cit.ctu.edu. vn. root.iL-it. ctu.edu. vn. (
1 604800 86400 2419200 604800 ]
a c l all 3CC all a c l
atanager proto cache object
a c l localhost src 127.0.0.1/32 a c l co loealhosc dsc 127.0.0.0/8 a c l to localhost dst 0.0.0.0/32 a c l localnet src 10. 0.0.0/8 a c l localnet 3CC 172 .16.0.0/12 a c l localnet src 192 .168.0.0/16 a c l SSL ports poct 443 a c l SSL porta poct 563