HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
–––––––––––––––––––––––––––––––––––––––
HÀ ĐA SĨ
NGHIÊN CỨU XÂY DỰNG HỆ THỐNG GIÁM SÁT
QUẢN TRỊ MẠNG VÀ ỨNG DỤNG TẠI TẬP ĐOÀN VNPT
LUẬN VĂN THẠC SĨ KỸ THUẬT
HÀ NỘI – 2019
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
–––––––––––––––––––––––––––––––––––––––
HÀ ĐA SĨ
NGHIÊN CỨU XÂY DỰNG HỆ THỐNG GIÁM SÁT
QUẢN TRỊ MẠNG VÀ ỨNG DỤNG TẠI TẬP ĐOÀN VNPT
CHUYÊN NGÀNH: KỸ THUẬT VIỄN THÔNG
MÃ SỐ: 8.52.02.08
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. VŨ TUẤN LÂM
HÀ NỘI – 2019
Cuối cùng, tôi xin chân thành gửi lời cảm ơn tới gia đình đã kiên trì chia sẻ
và động viên tôi trong suốt quá trình thực hiện nội dung luận văn.
Hà Nội, tháng 11 năm 2018
Tác giả luận văn
Hà Đa Sĩ
iii
MỤC LỤC
LỜI CAM ĐOAN ........................................................................................................i
LỜI CẢM ƠN ............................................................................................................ ii
MỤC LỤC ................................................................................................................. iii
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT ...........................................................v
DANH MỤC CÁC BẢNG BIỂU ..............................................................................vi
DANH MỤC CÁC HÌNH VẼ.................................................................................. vii
MỞ ĐẦU .....................................................................................................................1
Chương 1 – TỔNG QUAN VỀ CÁC HỆ THỐNG GIÁM SÁT MẠNG VÀ ỨNG
DỤNG .........................................................................................................................3
Giới thiệu chương .....................................................................................................3
1.1. Giao thức giám sát mạng SNMP .......................................................................3
1.1.1. Giám sát thiết bị mạng ..................................................................................3
1.1.2. Hai phương thức giám sát Poll và Alert .......................................................5
1.1.3. Giới thiệu giao thức SNMP ..........................................................................7
1.1.4. Các khái niệm nền tảng của SNMP ..............................................................9
1.1.5. Các phương thức của SNMP ........................................................................9
1.1.6. Các cơ chế bảo mật cho SNMP ..................................................................10
Control ....................................................................................................................32
3.2.1. Giới thiệu về Oracle Cloud Control 12c .....................................................32
3.2.2. Các thành phần của Oracle Cloud Control .................................................33
3.2.3. Quản trị hệ thống cơ sở dữ liệu sử dụng Oracle Cloud Control .................35
3.3. Thực nghiệm và đánh giá kết quả ....................................................................40
3.3.1. Cài đặt hệ quản trị CSDL và agent để theo dõi ..........................................40
3.3.2. Kết quả thực hiện tại Tập đoàn VNPT .......................................................50
3.4. Kết luận chương 3 ............................................................................................57
KẾT LUẬN ...............................................................................................................60
TÀI LIỆU THAM KHẢO .........................................................................................63
v
DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT
Viết tắt
Nghĩa tiếng Anh
Nghĩa tiếng Việt
ACL
Access Control List
Danh Sách Điều Khiển Truy Cập
DB
Database
Mạng Cục Bộ
PRTG
Paessler Router Traffic Grapher
Trình vẽ Lưu lượng Bộ điều
hướng của Paessler
RDBMS
Relational Database Management
Hệ Quản Trị Cơ Sở Dữ Liệu
System
Quan Hệ
Simple Network Management
Giao Thức Quản Lý Mạng Đơn
Protocol
Giản
SQL
VPN
Virtual Private Network
Mạng Riêng Ảo
WAN
Wide Area Network
Mạng Diện Rộng
WLAN
Wireless LAN
Mạng LAN Không Dây
SNMP
vi
DANH MỤC CÁC BẢNG BIỂU
Bảng 1.1: So sánh Poll và Alert ..................................................................................6
Bảng 1.2: Các loại bản tin SNMP ...............................................................................9
Bảng 3.1: So sánh Oracle Cloud Control và PRTG ..................................................54
Bảng 3.2: So sánh Oracle Enterprise Manager 11g và Oracle Cloud Control 12c ...55
Bảng 3.3: So sánh Oracle Enterprise Manager 11g và Oracle Cloud Control 12c ...56
Hình 3.1: Theo dõi hiệu năng của hệ quản trị cơ sở dữ liệu trong thời gian thực ....30
Hình 3.2: Theo dõi các câu lệnh SQL đang chạy ......................................................31
Hình 3.3: Các thành phần của hệ cơ sở dữ liệu Microsoft SQL Server ....................31
Hình 3.4: Theo dõi các câu lệnh chạy trên cơ sở dữ liệu Microsoft SQL Server .....32
viii
Hình 3.5: Hình ảnh tổng quan về Oracle Cloud Control ..........................................33
Hình 3.6: Các thành phần của Oracle Cloud Control ...............................................34
Hình 3.7: Tải về Oracle Database 12c ......................................................................40
Hình 3.8: Các file đã tải về........................................................................................41
Hình 3.9: Cài đặt trên Windows ................................................................................41
Hình 3.10: Cài đặt và tạo database Oracle ................................................................41
Hình 3.11: Các bước cài Oracle Database 12c ..........................................................42
Hình 3.12: Tạo mới một Windows user ....................................................................42
Hình 3.13: Cài đặt plugin ..........................................................................................43
Hình 3.14: Thiết lập bộ nhớ ......................................................................................43
Hình 3.15: Thiết lập bộ mã hóa .................................................................................44
Hình 3.16: Thiết lập mật khẩu cho user ....................................................................44
Hình 3.17: Deploy từ EM12C ...................................................................................45
Hình 3.18: Add Host Targets -> Add Host ................................................................45
Hình 3.19: Điền hostname/IP, chọn platform ...........................................................46
Hình 3.20: Tạo mới Named Credential .....................................................................46
Hình 3.21: Mở port giữa 2 hệ thống..........................................................................47
Hình 3.22: Deploy Agent ..........................................................................................47
Hình 3.23: Quá trình deploy......................................................................................47
Hình 3.24: Chạy script root.sh ..................................................................................48
Hình 3.25: Add Targets Using Guided Process .........................................................48
Hình 3.26: Nhập tên server vừa deploy agent ...........................................................48
Cloud Control tại Tập đoàn VNPT, phục vụ trực tiếp cho tiến trình công tác.
Hiện nay, tại Việt Nam, việc nghiên cứu ứng dụng phần mềm Oracle Cloud
Control còn rất hạn chế. Trong khi đó, các phần mềm PRTG, Nagios và Cacti được
sử dụng phổ biến hơn. Còn lại, trên thế giới, việc nghiên cứu ứng dụng phần mềm
Oracle Cloud Control đã và đang được thực hiện rộng rãi, với nhiều tài liệu, sách
báo có chất lượng chuyên môn và hàm lượng kiến thức cao, phục vụ thiết thực cho
việc học tập, nghiên cứu và áp dụng vào công việc của học viên.
2
Vì những lẽ đó, học viên xin chọn đề tài “Nghiên Cứu Xây Dựng Hệ Thống
Giám Sát Quản Trị Mạng Và Ứng Dụng Tại Tập Đoàn VNPT” làm đề tài luận
văn thạc sĩ của mình.
Việc thực hiện đề tài này, về mặt lý luận, sẽ giúp học viên hiểu rõ về cơ chế
hoạt động, cách thức cấu hình và các vấn đề liên quan đến việc quản lý, giám sát,
điều khiển và báo cáo tình trạng của các hệ thống; hiểu rõ về cơ sở dữ liệu, các
thành phần của một hệ quản trị cơ sở dữ liệu, bao gồm cả phần cứng và phần mềm.
Về mặt thực tiễn, học viên có thể nghiên cứu, xây dựng thành công các hệ thống
giám sát bằng PRTG, Nagios và Cacti, đồng thời có phương án cải tiến, nâng cao
chất lượng hoạt động giám sát hệ thống dịch vụ của Tập đoàn VNPT. Quan trọng
hơn, học viên có thể nghiên cứu, xây dựng thành công hệ thống giám sát ứng dụng
cơ sở dữ liệu bằng phần mềm Oracle Cloud Control.
Đề tài nghiên cứu của học viên được thực hiện tại Tập đoàn VNPT, nơi học
viên đang công tác. Về mặt lý luận, học viên sẽ tận dụng các tài liệu hướng dẫn sử
dụng phần mềm do công ty sản xuất phần mềm cung cấp; vận dụng các kiến thức về
hệ thống Công nghệ Thông tin đã học và tích lũy qua tiến trình làm việc; kết hợp
với việc trao đổi, thảo luận với giảng viên hướng dẫn, chúng ta học, đồng nghiệp và
những người có kiến thức về các vấn đề liên quan. Về mặt thực tiễn, học viên sẽ
tiến hành cài đặt phần mềm trên các hệ thống máy tính trong môi trường thử
dụng bộ nhớ RAM.
+ Chúng ta không thể kết nối vào từng máy để xem vì số lượng máy nhiều và
vì các HĐH khác nhau có cách thức kiểm tra khác nhau.
+ Để giải quyết vấn đề này chúng ta có thể dùng một ứng dụng SNMP giám
sát được máy chủ, nó sẽ lấy được thông tin từ nhiều HĐH khác nhau.
Ứng dụng này có thể trông giống như hình dưới đây:
4
Hình 1.1: Bài toán giám sát tài nguyên máy chủ
– Bài toán thứ hai: Giám sát lưu lượng trên các port của switch, router
+ Chúng ta có hàng ngàn thiết bị mạng (network devices) của nhiều hãng
khác nhau, mỗi thiết bị có nhiều port. Làm thế nào để giám sát lưu lượng đang
truyền qua tất cả các port của các thiết bị suốt 24/24, kịp thời phát hiện các port sắp
quá tải?
+ Chúng ta cũng không thể kết nối vào từng thiết bị để gõ lệnh lấy thông tin
vì thiết bị của các hãng khác nhau có lệnh khác nhau.
+ Để giải quyết vấn đề này chúng ta có thể dùng một ứng dụng SNMP giám
sát lưu lượng, nó sẽ lấy được thông tin lưu lượng đang truyền qua các thiết bị của
nhiều hãng khác nhau.
Ứng dụng này có thể trông giống như hình dưới đây:
Hình 1.2: Giám sát lưu lượng trên các port của switch, router
– Bài toán thứ ba: Hệ thống tự động cảnh báo sự cố tức thời
5
6
không trả lời, nếu Manager hỏi thì Device phải trả lời. Bằng cách hỏi thường xuyên,
Manager sẽ luôn cập nhật được thông tin mới nhất từ Device.
– Phương thức Alert:
Nguyên tắc hoạt động: Mỗi khi trong Device xảy ra một sự kiện (event) nào
đó thì Device sẽ tự động gửi thông báo cho Manager, gọi là Alert. Manager không
hỏi thông tin định kỳ từ Device.
Device chỉ gửi những thông báo mang tính sự kiện chứ không gửi những
thông tin thường xuyên thay đổi, nó cũng sẽ không gửi Alert nếu chẳng có sự kiện
gì xảy ra. Chẳng hạn khi một port down/up thì Device sẽ gửi cảnh báo, còn tổng số
byte truyền qua port đó sẽ không được Device gửi đi vì đó là thông tin thường
xuyên thay đổi. Muốn lấy những thông tin thường xuyên thay đổi thì Manager phải
chủ động đi hỏi Device, tức là phải thực hiện phương thức Poll.
– So sánh phương thức Poll và Alert
Hai phương thức Poll và Alert là hoàn toàn khác nhau về cơ chế. Một ứng
dụng giám sát có thể sử dụng Poll hoặc Alert, hoặc cả hai, tùy vào yêu cầu cụ thể
trong thực tế. Bảng sau so sánh những điểm khác biệt của 2 phương thức. Ký hiệu
so sánh: (+) Ưu điểm, (–) Nhược điểm.
Bảng 1.1: So sánh Poll và Alert
POLL
(+) Có thể chủ động lấy những thông
tin cần thiết từ các đối tượng mình
quan tâm, không cần lấy những thông
tin không cần thiết từ những nguồn
không quan tâm.
(+) Có thể lập bảng trạng thái tất cả các
thông tin của Device sau khi poll qua
một lượt các thông tin đó. VD Device
đến tất cả các Device. Có thể dễ dàng
thay đổi một Manager khác.
(–) Nếu tần suất poll thấp, thời gian chờ
giữa 2 chu kỳ poll (polling interval) dài
sẽ làm Manager chậm cập nhật các thay
đổi của Device. Nghĩa là nếu thông tin
Device đã thay đổi nhưng vẫn chưa đến
lượt poll kế tiếp thì Manager vẫn giữ
những thông tin cũ.
(–) Có thể bỏ sót các sự kiện : khi
Device có thay đổi, sau đó thay đổi trở
lại như ban đầu trước khi đến lượt poll
kế tiếp thì Manager sẽ không phát hiện
được.
(–) Khi đường truyền gián đoạn và
Device có sự thay đổi thì nó vẫn gửi
Alert cho Manager, nhưng Alert này sẽ
không thể đến được Manager. Sau đó
mặc dù đường truyền có thông suốt trở
lại thì Manager vẫn không thể biết
được những gì đã xảy ra.
(–) Phải cài đặt tại từng Device để trỏ
đến Manager. Khi thay đổi Manager thì
phải cài đặt lại trên tất cả Device để trỏ
về Manager mới.
(+) Ngay khi có sự kiện xảy ra thì
Device sẽ gửi Alert đến Manager, do đó
Manager luôn luôn có thông tin mới
nhất tức thời.
SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền
TCP/IP và quản lý các thiết bị có nối mạng TCP/IP. Các thiết bị mạng không nhất
thiết phải là máy tính mà có thể là switch, router, firewall, adsl gateway, và cả một
số phần mềm cho phép quản trị bằng SNMP.
SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc bản
tin và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP version
3). Sử dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tập
trung từ xa toàn mạng của mình.
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trong
mạng. Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ít chi phí.
SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát.
Không có giới hạn rằng SNMP có thể quản lý được cái gì. Khi có một thiết bị mới
với các thuộc tính, tính năng mới thì người chúng ta có thể thiết kế “custom” SNMP
để phục vụ cho riêng mình.
SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chế
của các thiết bị hỗ trợ SNMP. Các thiết bị khác nhau có hoạt động khác nhau nhưng
đáp ứng SNMP là giống nhau. VD chúng ta có thể dùng 1 phần mềm để theo dõi
dung lượng ổ cứng còn trống của các máy chủ chạy HĐH Windows và Linux; trong
9
khi nếu không dùng SNMP mà làm trực tiếp trên các HĐH này thì chúng ta phải
thực hiện theo các cách khác nhau.
SNMP có 4 phiên bản: SNMPv1, SNMPv2c, SNMPv2u và SNMPv3. Các
phiên bản này khác nhau ở định dạng bản tin và phương thức hoạt động. Hiện tại
SNMPv2 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần
mềm hỗ trợ nhất. Trong khi đó chỉ có một số thiết bị và phần mềm hỗ trợ SNMPv3.
1.1.4. Các khái niệm nền tảng của SNMP
Agent gửi GetResponse cho Manager để trả lời khi
nhận được GetRequest/GetNextRequest
Agent tự động gửi Trap cho Manager khi có một sự
kiện xảy ra đối với một object nào đó trong agent.
10
Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì. OID
trong GetRequest cho biết nó muốn lấy thông tin của object nào. OID trong
GetResponse cho biết nó mang giá trị của object nào. OID trong SetRequest chỉ ra
nó muốn thiết lập giá trị cho object nào. OID trong Trap chỉ ra nó thông báo sự kiện
xảy ra đối với object nào. Đối với các phương thức Get/Set/Response thì SNMP
Agent lắng nghe ở port UDP 161, còn phương thức trap thì SNMP Trap Receiver
lắng nghe ở port UDP 162.
1.1.6. Các cơ chế bảo mật cho SNMP
Một Trạm Quản lý SNMP có thể quản lý/giám sát nhiều thành phần SNMP,
thông qua hoạt động gửi request và nhận trap. Tuy nhiên một thành phần SNMP có
thể được cấu hình để chỉ cho phép các Trạm Quản lý SNMP nào đó được phép quản
lý/giám sát mình. Các cơ chế bảo mật này gồm có: community string, view và
SNMP access control list.
1.1.7. Cấu trúc bản tin SNMP
SNMP chạy trên nền UDP. Cấu trúc của một bản tin SNMP bao gồm:
version, community và data. Phần Data trong bản tin SNMP gọi là PDU (Protocol
Data Unit). SNMPv1 có 5 phương thức hoạt động tương ứng 5 loại PDU. Tuy nhiên
chỉ có 2 loại định dạng bản tin là PDU và Trap–PDU; trong đó các bản tin Get,
GetNext, Set, GetResponse có cùng định dạng là PDU, còn bản tin Trap có định
dạng là Trap–PDU.
cho chúng ta. Giao diện web PRTG để theo dõi cấu hình và xem xét dữ liệu giám
sát là giống nhau cho cả PRTG được Paessler lưu trữ và PRTG tự lưu trữ.
1.2.2. Nagios
Nagios Core, phiên bản mã nguồn mở của nền tảng giám sát Nagios, là một
tiêu chuẩn công nghiệp để giám sát mạng được lưu trữ trên các hệ thống kiểu Unix,
chẳng hạn như GNU / Linux hoặc BSD. Nó thường được sử dụng bởi các quản trị
viên mạng và hệ thống để kiểm tra kết nối giữa các máy chủ và đảm bảo rằng các
dịch vụ mạng đang chạy như mong đợi. [6]
Việc giám sát hệ thống trong Nagios được chia thành hai loại đối tượng: máy
chủ (host) và dịch vụ (service). Máy chủ đại diện cho thiết bị thực hoặc ảo trên
mạng của chúng ta (máy chủ, bộ định tuyến, máy trạm, máy in, v.v.). Các dịch vụ là
12
các chức năng cụ thể, ví dụ, một máy chủ Secure Shell (SSH) (tiến trình sshd trên
máy) có thể được coi là một dịch vụ được giám sát. Mỗi dịch vụ được kết hợp với
một máy chủ mà nó đang chạy. Ngoài ra, máy có thể được nhóm lại thành các nhóm
lưu trữ. [10]
Nagios đi kèm với một bộ plugin tiêu chuẩn cho phép kiểm tra hiệu suất cho
hầu như tất cả các dịch vụ mà công ty của chúng ta có thể cung cấp. Hơn nữa, nếu
chúng ta cần thực hiện một kiểm tra đặc biệt (ví dụ, kết nối với một dịch vụ Web và
gọi các phương thức), rất dễ dàng để viết các plugin của riêng chúng ta. Và đó
không phải là tất cả – chúng có thể được viết bằng bất kỳ ngôn ngữ nào và mất
không đến 15 phút để viết một lệnh kiểm tra hoàn chỉnh.
1.2.3. Cacti
Cacti là một ứng dụng đo đạc và vẽ biểu đồ nguồn mở. Phiên bản đầu tiên
của Cacti được phát hành vào ngày 23 tháng 9 năm 2001, và cung cấp một giao diện
– Thực hiện sao lưu cấu hình mạng
– Tích hợp các phần mềm quản lý mạng khác
– Theo dõi phần cứng mạng
Nhiều phần mở rộng hoặc bổ sung được duy trì và được hỗ trợ bởi chính
nhóm Cacti, trong khi những phần khác được duy trì bởi cộng đồng Cacti và nhà
phát triển của từng phần mở rộng. [11]
1.3 Ưu nhược điểm của các phần mềm giám sát phổ biến
Phần mềm PRTG: Là phần mềm giám sát mạng chuyên nghiệp, với tính năng
giám sát mạnh mẽ. Tuy nhiên, PRTG là phần mềm trả phí, các chức năng đối với
bản thử nghiệm giới hạn. Ngoài ra, client chỉ hỗ trợ trên hệ điều hành windows,
không linh hoạt như các phần mềm nguồn mở khác.
Phần mềm Nagios: Chức năng chính của Nagios là giám sát tình trạng hoạt
động của các máy chủ, sau đó được phát triển thêm các plugin để giám sát mạng
lưới. Bởi vậy ưu điểm của Nagios là làm việc tốt với các cảnh báo không đồng bộ từ
hệ thống, SNMP trap. Tuy nhiên các tính năng về thống kê lưu lượng mạng lưới
không thực sự tốt, cần phải cài thêm các gói từ bên thứ 3.
Phần mềm Cacti: Cacti được phát triển từ phần mềm MRTG dùng để đo
lường lưu lượng qua các interface của thiết bị mạng, và sau đó được mở rộng để đo
lường, thống kê, vẽ biểu đồ các tham số nhận về từ giao thức SNMP. Bởi vậy, ưu
14
điểm của Cacti là hỗ trợ việc tạo các biểu đồ, báo cáo một cách dễ dàng. Tuy nhiên,
nhược điểm là không hỗ trợ nhiều các tính năng phát hiện sự cố mạng, nhận các báo
cáo không đồng bộ từ SNMP trap và không có các công cụ để tự vẽ bản đồ mạng
lưới.
1.4. Kết luận chương 1
Trong chương này, học viên sẽ trình bày hiện trạng hệ thống tại Tập đoàn
VNPT, giới thiệu về các hệ thống đang được áp dụng tại đây, cũng như phân tích
ưu, nhược điểm và các vấn đề cần cải thiện.
2.1. Hiện trạng hệ thống giám sát quản trị mạng và ứng dụng tại
Tập đoàn VNPT
2.1.1. Mô hình hệ thống
– Mô hình hệ thống tại IDC Tòa nhà Internet:
VN2
SRX1400
SRX1400
Connect
Internet via
VDC0
4x1GE
4x1GE
LB Citrix
LB Citrix
EX 3300
VC
APP
DMZ
Với mô hình hệ thống tại IDC tòa nhà Internet, thiết bị firewall SRX1400
cluster làm nhiệm vụ kiểm soát traffic từ vùng Internet vào vùng DMZ. Thiết bị