Nghiên cứu triển khai hệ thống giám sát quản trị mạng trên nền tảng hệ thống mã nguồn mở Nagios Nghiên cứu triển khai hệ thống giám sát quản trị mạng trên nền tảng hệ thống mã nguồn mở Nagios Nghiên cứu triển khai hệ thống giám sát quản trị mạng trên nền tảng hệ thống mã nguồn mở Nagios luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Nguyễn Thế Tài
NGHIÊN CỨU TRIỂN KHAI HỆ THỐNG GIÁM
SÁT QUẢN TRỊ MẠNG TRÊN NỀN TẢNG HỆ THỐNG MÃ NGUỒN MỞ
NAGIOS
LUẬN VĂN THẠC SỸ KHOA HỌC
Chuyên ngành: Truyền thông mạng máy tính
HÀ NỘI - 2018
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
-
Nguyễn Thế Tài
NGHIÊN CỨU TRIỂN KHAI HỆ THỐNG GIÁM
SÁT QUẢN TRỊ MẠNG TRÊN NỀN TẢNG HỆ THỐNG MÃ NGUỒN MỞ
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan bản luận văn là công trình nghiên cứu khoa học, độc lập của tôi Các số liệu, kết quả nêu trong luận văn là trung thực và có nguồn gốc rõ ràng
Người thực hiện
Trang 4
MỤC LỤC
DANH MỤC CÁC TỪ, THUẬT NGỮ VIẾT TẮT 1
DANH MỤC CÁC BẢNG 2
DANH MỤC CÁC HÌNH 3
MỞ ĐẦU 4
CHƯƠNG I TỔNG QUAN VỀ GIÁM SÁT HỆ THỐNG MẠNG VÀ NỀN T ẢNG HỆ THỐNG MÃ NGUỒN MỞ NAGIOS 7
1.1 NGHIÊN CỨU VỀ HỆ THỐNG MẠNG VÀ GIÁM SÁT MẠNG 7
1.2 GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN 9
1.3 NGHIÊN CỨU VỀ CÁC GIẢI PHÁP GIÁM SÁT MẠNG 13
1.4 CÁC GIẢI PHÁP GIÁM SÁT MẠNG 14
1.5 GIỚI THIỆU VỀ NAGIOS 20
1.6 KIẾN TRÚC VÀ TỔ CHỨC HOẠT ĐỘNG 26
1.7 TỔNG QUAN CẤU HÌNH 30
1.8 CÁCH THỨC ĐỊNH NGHĨA TRONG TỆP CẤU HÌNH ĐỐI TƯỢNG 31
1.9 CÁC KHÁI NIỆM CƠ BẢN TRONG NAGIOS 34
1.10 BỘ XỬ LÝ SỰ KIỆN 41
CHƯƠNG II NGHIÊN CỨU NHU CẦU GIÁM SÁT MẠNG TẠI NGÂN HÀNG THƯƠNG MẠI CỔ PHẦN NGOẠI THƯƠNG VIỆT NAM 44
2.1 HỆ THỐNG CÔNG NGHỆ THÔNG TIN NGÂN HÀNG 44
2.2 GIỚI THIỆU HỆ THỐNG MOBILE BANKING CỦA VIETCOMBANK 48
2.3 TRANG BỊ HỆ THỐNG 51
2.4 NHU CẦU GIÁM SÁT MOBILE BANKING TẠI VIETCOMBANK 51
2.5 CÁC THÔNG SỐ GIÁM SÁT HẠ TẦNG 55
CHƯƠNG III KẾT QUẢ TRIỂN KHAI THỰC TẾ TRÊN MẠNG 56
3.1 CÀI ĐẶT TRIỂN KHAI 56
3.2 THỐNG KÊ TÌNH TRẠNG HOẠT ĐỘNG CỦA DỊCH VỤ VÀ HOST 61
3.3 ĐÁNH GIÁ VÀ KẾT LUẬN 67
K ẾT LUẬN 68
TÀI LI ỆU THAM KHẢO 69
Trang 5DANH MỤC CÁC TỪ, THUẬT NGỮ VIẾT TẮT
CNTT Công nghệ thông tin
Vietcombank Ngân hàng Thương
mại cổ phần Ngoại thương Việt Nam
máy đầu cuối được giám sát…(tất cả các thiết bị tham gia vào mạng đều được gọi chung là host)
của một phần mềm
Trang 6DANH M ỤC CÁC BẢNG
Bảng 1 2: Phiên bản SNMP 12
Bảng 1 3: Các phương thức SNMP 13
Bảng 2 1: Thông số giám sát web server .53
Bảng 2 2: Thông số giám sát App server 54
Bảng 2 3: Giám sát từ phía thiết bị Client 55
Bảng 2 4: Các thông số giám sát hạ tầng 55
Trang 7
DANH M ỤC CÁC HÌNH
Hình 1 1: Hoạt động của SNMP 10
Hình 1 2: Bảng so sánh các tính năng của một số phần mềm giám sát 14
Hình 1 3:Giao diện phần mềm giám sát Nagios 15
Hình 1 4: Giao diện phần mềm giám sát Cacti 17
Hình 1 5: Giao diện phần mềm giám sát Icinga 18
Hình 1 6: Giao diện phần mềm giám sát Splunk 19
Hình 1 7: Các đối tượng cần giám sát trên Nagios 20
Hình 1 8: Ví dụ mô tả sự cố 24
Hình 1 9: Kiểm tra trạng thái 26
Hình 1 10: Sơ đồ tổ chức của Nagios 27
Hình 1 11: Các cách thức thực hiện kiểm tra 29
Hình 1 12: Trạng thái SOFT/HARD 35
Hình 1 13: Sự thay đổi trạng thái của dịch vụ 36
Hình 1 14: Mối quan hệ host cha/con 38
Hình 1 15: Phân biệt DOWN-UNREACHABLE 39
Hình 1 16: Ví dụ Xác định lỗi 1 40
Hình 1 17: Ví dụ xác định lỗi 2 40
Hình 2 1: Mô hình ứng dụng hệ thống 49
Hình 2 2: Mô hình giám sát ứng dụng 52
Hình 3 1: Tổng quan tình trạng hoạt động của các dịch vụ được giám sát 61
Hình 3 2: Bảng thống kê các máy chủ được giám sát bằng Nagios 62
Hình 3 3: Các dịch vụ trên mỗi server được giám sát 63
Hình 3 4: Các dịch vụ trên server database được giám sát 64
Hình 3 5: Trạng thái của máy chủ Database 65
Hình 3 6: Cảnh báo dung lượng ổ đĩa máy chủ DB 66
Hình 3 7: Tình trạng hoạt động của máy chủ Web 66
Hình 3 8: Tình trạng hoạt động của máy chủ App 67
Trang 8M Ở ĐẦU
1 Lý do chọn đề tài
Hiện nay CNTT của Việt Nam đang ngày càng phát triển mạnh mẽ Nó đã trở thành một trong những lĩnh vực nghiên cứu chính về mạng máy tính và là một công việc quan trọng không thể thiếu trong các hệ thống máy tính của các tổ chức, doanh nghiệp, trường học… Song song với phát triển hệ thống CNTT là phát triển
và mở rộng hạ tầng CNTT Với việc quản trị một hệ thống hạ tầng CNTT như vậy, yêu cầu phải có những hệ thống hỗ trợ việc giám sát, theo dõi mạng Hệ thống này giúp hạn chế tối đa việc gián đoạn trong quá trình hoạt động và đảm bảo việc khai thác tài nguyên có hiệu quả, an toàn, tin cậy cho các dịch vụ cung cấp
Vietcombank là một trong những ngân hàng TMCP lớn nhất Việt Nam có hệ thống CNTT rất phát triển Để đáp ứng tốt cho việc phát triển CNTT, ngoài việc phát triển cơ sở hạ tầng, việc tăng cường công tác giám sát hệ thống để đảm bảo an toàn, bảo mật thong tin là vô cùng cần thiết nhằm giúp hệ thống hoạt động một cách
ổn định, chính xác, giảm thiểu tối đa các nguy cơ khách quan, chủ quan trong quá trình hoạt động gặp phải
Theo hướng nghiên cứu lĩnh vực trên, Luận văn Thạc sỹ này tập trung vào việc tìm hiểu và triển khai một hệ thống giám sát quản trị mạng dựa trên nền tảng
hệ thống mã nguồn mở Đó là Nagios Nagios là hệ thống giám sát mạng có chi phí đầu tư thấp Tuy nhiên nó có khả năng rất mạnh mẽ trong việc giám sát hoạt động của các thiết bị trên mạng Bởi vậy Nagios rất được tin tưởng và sử dụng rộng rãi trên toàn cầu
2 Lịch sử nghiên cứu
Viết về đề tài Hệ thống giám sát quản trị mạng đã có một vài luận văn được nghiên cứu dựa trên các mã nguồn mở khác nhau như: ICINGA, NAGIOS, SPLUNK,… Sau đây là một vài luận văn đã được các tác giả nghiên cứu:
- Tác giả Trần Quang Minh (2015), Nghiên cứu hệ thống giám sát mạng
mã nguồn mở ICINGA, Luận văn Thạc sỹ Công nghệ Thông tin, Trường Đại học Quốc Gia Hà Nội
Trang 9Luận văn đã thể hiện được ứng dụng hệ thống giám sát, theo dõi mạng ICINGA nhằm kiểm tra, nâng cao khả năng giám sát, quản lý hệ thống, hỗ trợ người quản trị mạng trong việc kiểm tra, xử lý lỗi phát sinh của hệ thống Từ đó, hệ thống
sẽ được đảm bảo hoạt động liên tục, thông suốt và hiệu quả
- Tác giả Đặng Đức Duy (2014), Tìm hiểu, triển khai ứng dụng NagVis trong hệ thống giám sát mạng trên nền tảng mã nguồn mở Nagios, Luận văn Công nghệ thông tin, Trường Đại học Bách Khoa, Hà Nội
Luận văn đã đưa ra giải pháp giám sát tối ưu cho một hệ thống tích hợp ứng dụng plugin NagVis áp dụng vào hệ thống mạng campus trường ĐHBK-HN Hướng tiếp cận là tìm hiểu hệ thống giám sát hệ thống mạng bằng phần mềm mã nguồn mở, sau đó triển khai áp dụng vào hệ thống mạng trường ĐHBK-HN
3 Mục đích, đối tượng và phạm vi nghiên cứu
a Mục đích nghiên cứu
- Nghiên cứu các hệ thống giám sát, theo dõi mạng đang sử dụng và triển khai
hiện nay;
- Đề xuất triển khai ứng dụng hệ thống giám sát, theo dõi mạng Nagios;
- Đánh giá hiệu quả khi triển khai ứng dụng hệ thống giám sát, theo dõi mạng Nagios
b Đối tượng nghiên cứu
Hệ thống kiểm tra, giám sát mã nguồn mở Nagios và các tài liệu, nội dung liên quan đến hệ thống này
c Phạm vi nghiên cứu
Đề tài được nghiên cứu và xây dựng trên mô hình thử nghiệp sử dụng môi trường ảo hóa, mô hình thử nghiệm này đã được áp dụng thực tế tại Vietcombank
4 Tóm tắt đóng góp mới
Sau một thời gian nghiên cứu, tìm hiểu, tôi đã nắm bắt được các chức năng
và đặc điểm của Nagios, tìm hiểu được cách thức tổ chức và hoạt động của hệ
thống Tôi đã triển khai thử nghiệm hệ thống đó trên mạng của một dịch vụ thương
Trang 10mại điện tử tại Ngân hàng cổ phần Ngoại thương Việt Nam và bước đầu có những
nhận xét và đánh giá về hoạt động của hệ thống
5 Phương pháp nghiên cứu
Để nghiên cứu và ứng dụng phần mềm giám sát mã nguồn mở Nagios, yêu cầu đưa ra phương pháp nghiên cứu phù hợp:
- Thu thập, nghiên cứu các tài liệu liên quan đến hệ thống giám sát nói chung
và hệ thống giám sát mã nguồn mở Nagios Đồng thời đề xuất mô hình triển khai thử nghiệp dựa trên mô hình hệ thống đã được ứng dụng thực tế tại Vietcombank
- Phân tích, tổng hợp các tài liệu đã thu được, nghiên cứu để cài đặt ứng dụng
và triển khai mô hình thử nghiệm
- So sánh, rút kinh nghiệm từ mô hình đã triển khai thử nghiệm và những yêu cầu khi đưa mô hình này vào thực tế
6 Bố cục của luận văn
Nội dung đề tài gồm các phần chính:
Chương I Nghiên cứu tổng quan giám sát hệ thống mạng và nền tảng hệ thống mã nguồn mở Nagios
Chương II Nghiên cứu nhu cầu giám sát mạng tại Vietcombank
Chương III Kết quả triển khai thực tế trên mạng
Trang 11CHƯƠNG I TỔNG QUAN VỀ GIÁM SÁT HỆ THỐNG MẠNG VÀ NỀN
T ẢNG HỆ THỐNG MÃ NGUỒN MỞ NAGIOS 1.1 NGHIÊN C ỨU VỀ HỆ THỐNG MẠNG VÀ GIÁM SÁT MẠNG
1.1.1 Nghiên c ứu về hệ thống mạng
Mạng máy tính hay hệ thống mạng (tiếng Anh: computer network hay network system) là sự kết hợp các máy tính lại với nhau thông qua các thiết bị nối kết mạng và phương tiện truyền thông (giao thức mạng, môi trường truyền dẫn) theo một cấu trúc nào đó và các máy tính này có thể trao đổi các thông tin qua lại
Ưu điểm
Không yêu cầu máy tính chạy trên hệ điều hành Windows Server để tập
trung hóa thông tin bảo mật; Workgroup thiết kế đơn giản và không yêu cầu lập kế hoạch có phạm vi rộng và quản trị như domain yêu cầu; Workgroup thuận tiện đối với nhóm có số máy tính ít và gần nhau (≤ 10 máy)
Nhược điểm
Mỗi người dùng phải có một tài khoản người dùng trên mỗi máy tính mà họ muốn đăng nhập; bất kỳ sự thay đổi tài khoản người dùng, như là thay đổi mật khẩu hoặc thêm tài khoản người dùng mới, phải được làm trên tất cả các máy tính trong Workgroup, nếu người quản trị quên bổ sung tài khoản người dùng mới tới một máy tính trong nhóm thì người dùng mới sẽ không thể đăng nhập vào máy tính đó và không thể truy xuất tới tài nguyên của máy tính đó; việc chia sẻ thiết bị và tệp được
Trang 12xử lý bởi các máy tính riêng, và chỉ cho người dùng có tài khoản trên máy tính đó được sử dụng
1.1.1.2 Mô hình mạng Domain
Mô hình mạng Domain là một nhóm máy tính mạng cùng chia sẻ cơ sở dữ liệu thư mục tập trung (Central Directory Database) Thư mục dữ liệu chứa tài khoản người dùng và thông tin bảo mật cho toàn bộ Domain Thư mục dữ liệu này được biết như là thư mục hiện hành (Active Directory)
Ưu điểm
Cho phép quản trị tập trung Nếu người dùng thay đổi mật khẩu của họ, thì
sự thay đổi sẽ được cập nhật tự động trên toàn Domain; Domain cung cấp quy trình đăng nhập đơn giản để người dùng truy xuất các tài nguyên mạng mà họ được phép truy cập; Domain cung cấp linh động để người quản trị có thể khởi tạo mạng rất rộng lớn
Nhược điểm
Không giống như Workgroup, Domain phải tồn tại trước khi người dùng tham gia vào nó Việc tham gia vào Domain luôn yêu cầu người quản trị Domain cung cấp tài khoản cho máy tính của người dùng tới domain đó Tuy nhiên, nếu người quản trị cho người dùng đúng đặc quyền, người dùng cú thể khởi tạo tài khoản máy tính của mình trong quy trình cài đặt
1.1.2 Hiểu biết vê hệ thống giám sát mạng
Trongthế giới hiện tại chúng ta có thể không khỏi bỡ ngỡ trước độ phức tạp của hệ thống mạng Các thiết bị như router, switch, hub đã kết nối vô số các máy con đến các dịch vụ trên máy chủ cũng như ra ngoài Internet Thêm vào đó là rất nhiều các tiện ích bảo mật và truyền thông được cài đặt bao gồm cả tường lửa, mạng riêng ảo, các dịch vụ chống spam thư và virus Sự hiểu biết về cấu trúc của hệ thống cũng như có được khả năng cảnh báo về hệ thống là một yếu tố quan trọng trong việc duy trì hiệu suất cũng như tính toàn vẹn của hệ thống Có hàng ngàn khả năng có thể xảy ra đối với một hệ thống và quản trị viên phải đảm bảo được rằng các nguy cơ xảy ra được thông báo một cách kịp thời và chính sát
Trang 13Hệ thống mạng không còn là một cấu trúc cục bộ riêng rẽ Nó bao gồm Internet, mạng cục bộ (LAN), mạng diện rộng (WAN), và tất cả các thiết bị, máy chủ, ứng dụng chạy trên hệ thống đó Dù cho phép người dùng truy cập và chia sẻ thông tin, sử dụng các ứng dụng, và giao tiếp với nhau và với thế giới bên ngoài – bao gồm cả giọng nói, dữ liệu, hoặc hình ảnh – thì về bản chất vẫn là mạng lưới hệ thống
Một hệ thống mạng thường có người dùng bên trong và bên ngoài, bao gồm nhân viên, khách hàng, đối tác và các bên liên quan Tối ưu hiệu suất mạng ảnh hưởng đến tổ chức theo các cách khác nhau Ví dụ, nếu nhân viên không thể truy cập các ứng dụng và thông tin mà họ cần dùng để làm việc thì sẽ ảnh hưởng đến năng xuất công việc Hoặc khi khách hàng không thể hoàn thành giao dịch trực tuyến, điều này có nghĩa là mất doanh thu và ảnh hưởng tới uy tín của tổ chức Ngay cả khi các bên liên quan như các nhà đầu tư không thể tìm kiếm, xem xét các thông tin của tổ chức cũng gây ảnh hưởng tới tổ chức
Thực tế là mạng rất phức tạp và dễ sai vì mỗi thành phần trong mạng đại diện cho một nguy cơ ảnh hưởng đến hệ thống Đó cũng là lý do tại sao nó cần thiết phải được giám sát để giảm thiểu tối đa các nguy cơ tiềm tàng Tuy nhiên không phải mọi vấn đề đều có thể được giải quyết một cách chủ động trước bất kỳ dấu hiệu cảnh báo nào Nhưng nếu ta có thể giám sát hệ thống trong thời gian thực thì
có thể xác định các vấn đề trước khi chúng trở nên nguy hiểm hơn Ví dụ, một máy chủ bị quá tải có thể được thay thế trước khi nó bị treo Điều này sẽ làm giảm thiểu các nguy cơ đối với hệ thống và tăng hiệu suất làm việc của hệ thống Với một hệ thống giám sát, ta sẽ biết được tình trạng của tất cả các thiết bị trên mạng mà không cần phải kiểm tra một cách cụ thể từng thiết bị và cũng nhanh chóng xác định chính xác vấn đề khi cần thiết
1.2 GIAO THỨC QUẢN LÝ MẠNG ĐƠN GIẢN
1.2.1 SNMP là gì?
SNMP còn được gọi là: Simple Network Management Protocol (SNMP) là một giao thức tầng ứng dụng quy định của Hội đồng Kiến trúc Internet (IAB) trong
Trang 14RFC1157 để trao đổi thông tin quản lý giữa các thiết bị mạng Nó là một phần của Transmission Control Protocol/Internet Protocol (TCP/IP) bộ giao thức
SNMP là một trong những giao thức chấp nhận rộng rãi để quản lý và các yếu tố mạng màn hình Hầu hết các phần tử mạng cấp chuyên nghiệp đi kèm với gói SNMP Các đại lý phải được kích hoạt và cấu hình để giao tiếp với các hệ thống quản lý mạng (NMS)
• Tự động nhận cảnh báo khi switch có một port bị down
• Điều khiển tắt (shutdown) các port trên switch
1.2.3 Hoạt động của SNMP
Có 2 nhân tố chính trong SNMP: Manager và Agent Các SNMP agent sẽ giữ một sơ sở dữ liệu, được gọi là Management Information Base (MIB), trong đó chứa các thông tin khác nhau về hoạt động của thiết bị mà agent đang giám sát Phần mềm quản trị SNMP Manager sẽ thu thập thông tin này qua giao thức SNMP
Hình 1 1: Hoạt động của SNMP
Trang 15Ưu điểm khi thiết kế hệ thống quản trị với SNMP sẽ giúp đơn giản hóa các quá trình quản lý các thành phần trong mạng, giảm chi phí triển khai.SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát 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
1.2.4 Các cơ chế bảo mật của SNMP
Một SNMP management station có thể quản lý/giám sát nhiều SNMP element, thông qua hoạt động gửi request và nhận trap Tuy nhiên một SNMP element có thể được cấu hình để chỉ cho phép các SNMP management station nào
đó được phép quản lý/giám sát mình
Các cơ chế bảo mật đơn giản này gồm có: Community string, View và SNMP access control list
Community String
Community string là một chuỗi ký tự được cài đặt giống nhau trên cả SNMP manager và SNMP agent, đóng vai trò như “mật khẩu” giữa 2 bên khi trao đổi dữ liệu Community string có 3 loại: Read - community, Write - Community và Trap -Community
View
Một view phải gắn liền với một community string Tùy vào community string nhận được là gì mà agent xử lý trên view tương ứng
SNMP access control list
SNMP ACL là một danh sách các địa chỉ IP được phép quản lý/giám sát agent, nó chỉ áp dụng riêng cho giao thức SNMP và được cài trên agent Nếu một manager có IP không được phép trong ACL gửi request thì agent sẽ không xử lý, dù request có community string là đúng
Đa số các thiết bị tương thích SNMP đều cho phép thiết lập SNMP ACL
1.2.5 Phiên bản SNMP
SNMP có 4 phiên bản: SNMPv1, SNMPv2c, SNMPv2u và SNMPv3 Các phiên bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động
Trang 16Phiên bản
community nhưng chỉ dùng MIB-I
2
Dùng SMIv2 Loại bỏ việc sử dụng communities thêm vào các thông điệp Getbulk và Inform nhưng đã bắt đầu với phiên bản MIB-II
Tương đương với SNMPv2
bảo mật Hỗ trợ tương thích ngược Dùng MIB-II
Bảng 1 1: Phiên bản SNMP
1.2.6 Các phương thức SNMP
Các giao thức SNMPv1 và SNMPv2 định nghĩa cách thức mà một phần mềm manager và một tác nhân agent có thể giao tiếp với nhau Ví dụ, một manager có thể dùng ba thông điệp khác nhau để lấy các thông tin MIB từ các tác nhân agents với một thông điệp SNMP response được trả về từ tác nhân agent SNMP dùng UDP để truyền thông tin, dùng thông tin SNMP response để cung cấp thông tin và công nhận (ack) việc nhận các thông điệp khác
GetRequest
Manager gửi GetRequest cho agent để yêu cầu agent cung cấp thông tinnào đó dựa vào ObjectID (trong GetRequest có chứa OID)
GetNextRequest
Manager gửi GetNextRequest có chứa một ObjectID cho agent
để yêu cầu cung cấp thông tin nằm kế tiếp ObjectID đó trong MIB
Trang 17của agent dựa vào ObjectID
GetRequest/GetNextRequest
đối với một object nào đó trong agent
Bảng 1 2: Các phương thức SNMP
1.3 N GHIÊN CỨU VỀ CÁC GIẢI PHÁP GIÁM SÁT MẠNG
Giám sát mạng là việc sử dụng một hệ thống để liên tục theo dõi một mạng máy tính, xem xét coi có các thành phần hoạt động chậm lại hoặc không hoạt động
và thông báo cho quản trị viên mạng (qua email, tin nhắn SMS hoặc các báo động khác) trong trường hợp mạng không hoạt động hoặc có các rắc rối khác Giám sát mạng là một phần của quản lý mạng
Hiện nay, trên thị trường có rất nhiều phần mềm hỗ trợ tốt cho việc giám sát mạng, mỗi phần mềm đều có những ưu điểm riêng Tùy vào nhu cầu giám sát và quy mô của doanh nghiệp mà người quản trị có thể lựa chọn cho mỡnh một cụng cụ thích hợp nhất Hệ thống giám sát hiện nay bao gồm hai loại phần mềm chính sau:
• Các phần mềm giám sát bản thương mại của các doanh nghiệp lớn, chuyên nghiệp và có độ tin cậy cao Gồm các phần mềm: HP Network Node Manager, SolarWinds, Cisco Works
• Các phần mềm giám sát mã nguồn mở có các tính năng tương đương với các phiên bản thương mại và được cung cấp miễn phí Gồm các phần mềm: Nagios, Icinga, Cacti
Dưới đây là bảng so sánh tính năng của một số phần mềm giám sát phổ biến hiện nay:
Trang 18Hình 1 2: Bảng so sánh các tính na�ng của một số phần mềm giám sát
Tùy theo chính sách và trang thiết bị hạ tầng thực tế của từng doanh nghiệp
mà người người quản trị sẽ quyết định sử dụng phần mềm phù hợp với hệ thống giám sát của mình Dựa trên các tính năng của phần mềm, người quản trị có thể triển khai dựa trên một vài gợi ý sau:
• Đối với các doanh nghiệp lớn đó xây dựng nền tảng hạ tầng sử dụng các thiết bị của các hãng lớn như Cisco, HP thì nên ưu tiên sử dụng các giải pháp phần mềm giám sát của các hãng này như HP Network Node Manager, Cisco Works để nhận được sự hỗ trợ tốt nhất từ các chuyên gia của hãng
• Đối với các doanh nghiệp vừa và nhỏ, với khoản kinh phí ít hơn, thì việc
ưu tiên sử dụng các phần mềm giám sát mã nguồn mở là điều cần thiết Các phần mềm này được nhiều tổ chức cộng đồng mã nguồn mở phát triển với tính năng giám sát mạnh, nhận diện các vấn đề trước khi phát sinh, khả năng tùy biến cao và được cung cấp hoàn toàn miễn phí Các phần mềm được sử dụng phổ biến hiện nay có thể
kể đến như Nagios, OpenNMS, Icinga đều là những phần mềm hỗ trợ việc giám sát mạng hỗ trợ cho công việc của người quản trị
Sau đây, luận văn sẽ nghiên cứu về một số phần mềm giám sát mạng mã nguồn mở phổ biến hiện nay và đưa ra đánh giá cũng như lựa chọn giải pháp giám sát mạng sẽ được triển khai trong thực tế của Ngân hàng TMCP Ngoại Thương
1.4 CÁC GIẢI PHÁP GIÁM SÁT MẠNG
1.4.1 Ph ần mềm giám sát Nagios
Nagios là một phần mềm mó nguồn mở giám sát hệ thống mạng Phần mềm thực hiện theo dõi và đưa ra các cảnh báo về trạng thái các máy chủ và các dịch vụ
Trang 19Phần mềm được xây dựng trên nền tảng Linux nên hỗ trợ hầu hết các hệ điều hành của Linux Một điểm khác so với các phần mềm giám sát là Nagios giám sát dựa trên tình trạng hoạt động của các máy trạm và các dịch vụ Nagios sử dụng các phần mềm hỗ trợ được cài đặt trên máy trạm, thực hiện kiểm tra các máy trạm và dịch vụ định kỳ Tiếp đó, các thông tin của các máy trạm và dịch vụ sẽ được gửi về máy chủ Nagios và được hiển thị trên giao diện web Đồng thời, trong trường hợp hệ thống gặp sự cố, Nagios sẽ gửi các thông tin trạng thái hệ thống tới người quản trị thông qua thư điện tử, tin nhắn Việc theo dõi thì được cấu hình chủ động hoặc bị động dựa trên mục đích sử dụng của người quản trị
Chính sách bản quyền: Phần mềm cung cấp 02 phiên bản miễn phí và trả phí,
hỗ trợ các hệ thống nhỏ và cả các hệ thống doanh nghiệp
Hình 1 3: Giao diện phần mềm giám sát Nagios
Ưu điểm: Phần mềm cung cấp phiên bản miễn phí, hỗ trợ rất nhiều chức năng hữu
ích cho người quản trị Các phần mềm hỗ trợ nhiều và được cung cấp miễn phí
Trang 20Nhu ̛ợc điểm: Việc cài đặt, cấu hình phần mềm khá phức tạp và yêu cầu kiến thức
về hệ điều hành Linux cũng như sự hỗ trợ của các tài liệu cài đặt Giao diện sử dụng khá phức tạp, khó tiếp cận với người sử dụng lần đầu
1.4.2 Ph ần mềm giám sát Cacti
Cacti là một phần mềm mã nguồn mở, giám sát mạng và công cụ đồ họa viết bằng ngôn ngữ PHP/MySQL Phần mềm giám sát hệ thống bằng đồ thị dựa trên bộ công cụ RRDTool Cacti cung cấp cho người quản trị các mẫu đồ thị, các phương thức tổng hợp dữ liệu và công cụ quản lý Phần mềm giám sát các thiết bị như ổ cứng, tốc độ quạt, điện năng theo thời gian thực Điều đó sẽ giúp ích rất nhiều cho việc quản trị hệ thống Hơn nữa, phần mềm cũng cho phép quản lý phần quyền người dùng đối với dữ liệu đang giám sát, đưa ra các cảnh báo khi hệ thống gặp sự
cố bằng việc gửi thư điện tử, tin nhắn và rất nhiều tính năng khác
Phần mềm Cacti cài đặt dễ dàng và hỗ trợ các hệ điều hành Linux(Centos, Fedora, Red Hat, OpenSUSE, Ubuntu ) và hệ điều hành Windows (Windows XP, Windows Server 2003, Windows Server 2008, Windows 7, Windows 8 )
Chính sách bản quyền: Phần mềm cung cấp phiên bản miễn phí, hỗ trợ các hệ thống nhỏ và cả các hệ thống doanh nghiệp
Trang 21Hình 1 4: Giao diện phần mềm giám sát Cacti
Ưu điểm: Phần mềm được cung cấp miễn phí, hỗ trợ tính năng hiển thị thông tin
bằng đồ thị Phần mềm cài đặt dễ dàng và hỗ trợ nhiều hệ điều hành Giao diện thân thiện, dễ sử dụng cho người dùng lần đầu tiên
Nhược điểm: Phần mềm cung cấp ít tùy chọn quản trị hơn so với các phần mềm
Trang 22liệu phổ biến như MySQL, Oracle và PorgreSQL Phần mềm chạy trên nhiều phiên bản của Linux (Bao gồm Fedora, Ubuntu và OpenSuSE) cũng như một số các nền tảng của Unix
Chính sách bản quyền: Phần mềm cung cấp phiên bản miễn phí, hỗ trợ các hệ thống nhỏ và cả các hệ thống doanh nghiệp
Hình 1 5: Giao diện phần mềm giám sát Icinga
Ưu điểm: Phần mềm được cung cấp miễn phí, hỗ trợ nhiều tùy chọn giao diện quản
trị Web Phần mềm cài đặt dễ dàng, hỗ trợ tốt hệ điều hành Linux Giao diện quản trị Web thân thiện, dễ sử dụng cho người dùng lần đầu Tương thích với các phần mềm hỗ trợ của Nagios
Nhược điểm: Phần mềm không cung cấp nhiều tùy chọn hiển thị thông tin giám sát
bằng đồ thị
1.4.4 Phần mềm giám sát Splunk
Phần mềm giám sát Splunk là một phần mềm giám sát mạng dựa trên sức
mạnh của việc phân tích Log Splunk thực hiện các công việc tìm kiếm, giám sát và phân tích các dữ liệu lớn được sinh ra từ các ứng dụng, các hệ thống và các thiết bị
hạ tầng mạng Nó có thể thao tác tốt với nhiều loại dịnh dạng dữ liệu khác nhau
Trang 23(Syslog, csv, apache-log, access_combined…) Splunk được xây dựng dựa trên nền
tảng Lucene and MongoDB với một giao diện web hết sức trực quan
Chính sách bản quyền: Phần mềm Splunk cung cấp 2 bộ miễn phí và trả phí cho người dùng
• Sản phẩm trả phí: Có tất cả các chức năng của Splunk, không hạn chế kích thước dữ liệu
• Sản phẩm miễn phí: Hạn chế một số chức năng, hạn chế khối lượng dữ
liệu mỗi ngày là 500MB Bao gồm các chức năng: Đánh chỉ mục dữ liệu, tìm kiếm trong thời gian thực, thống kế và kết xuất báo cáo
Hình 1 6: Giao diện phần mềm giám sát Splunk
Ưu điểm: Phần mềm hỗ trợ đa dạng trên các máy trạm, Firewall, IDS/IPS, Log
Event… Phần mềm có khả năng liên tục cập nhật dữ liệu trong thời gian thực, tự động khắc phục sự cố Ngoài ra, phần mềm Splunk còn có cơ chế tìm kiếm thông minh bao gồm các từ khóa, các hàm và cấu trúc tìm kiếm, từ đó có thể truy xuất mọi thứ theo mong muốn
Nhược điểm: Phần mềm không thích hợp với các hệ thống có tính bảo mật cao,
đồng thời để tìm hiểu, sử dụng và vận hành hệ thống phải mất thời gian tương đối
Trang 24lâu Phần mềm Splunk cần phải được cài đặt trên hệ thống riêng đủ lớn, không thích hợp với các hệ thống có quy mô trung bình và nho
1.5 GIỚI THIỆU VỀ NAGIOS
Nagios là một công cụ để giám sát hệ thống Điều này có nghĩa là nó liên tục
kiểm tra trạng thái của máy và dịch vụ khác nhau trên các máy Mục đích chính của
hệ thống giám sát là để phát hiện và báo cáo về bất kỳ hệ thống không hoạt động, càng sớm càng tốt, do đó, ta nhận thức được vấn đề trước khi người dùng sử dụng
Nagios không thực hiện bất kỳ kiểm tra máy chủ hoặc các dịch vụ nào trên
của máy chủ Nagios Nó sử dụng plugin để thực hiện việc kiểm tra thực tế Điều này làm cho nó có tính linh hoạt cao, và là giải pháp hiệu quả cho việc thực hiện và
vụ có thể được nhóm lại thành các nhóm dịch cho phù hợp
Hình 1 7: Các đối tượng cần giám sát trên Nagios
Trang 25Nagios có hai ưu điểm lớn khi nói đến quá trình giám sát, thay vì theo dõi các giá trị, nó chỉ sử dụng bốn mức độ để mô tả tình trạng: OK, WARNING, CRITICAL, và UNKNOW Các mô tả tình trạng của các đối tượng được giám sát cho phép người quản trị quyết giải quyết hay bỏ qua các vấn đề trên hệ thống mà không tốn nhiều thời gian Đây chính là điều Nagios làm Nếu ta đang theo dõi một giá trị số như số lượng không gian đĩa và tải CPU, ta có thể định nghĩa ngưỡng
những giá trị để được cảnh báo khi cần thiết
Một thuận tiện khác của Nagios là các báo cáo về trạng thái của các dịch vụ đang hoạt động Báo cáo này cung cấp một cái nhìn tổng quan tốt về tình trạng cơ
sở hạ tầng Nagios cũng cung cấp các báo cáo tương tự cho các nhóm máy chủ và các nhóm dịch vụ, cảnh báo khi bất kỳ dịch vụ quan trọng hoặc cơ sở dữ liệu server ngưng hoạt động Báo cáo này cũng có thể giúp xác định độ ưu tiên của các vấn đề như vấn đề nào cần được giải quyết trước
Nagios thực hiện tất cả các kiểm tra của mình bằng cách sử dụng plugins Đây là những thành phần bên ngoài mà Nagios qua đó lấy được thông tin về những
gì cần được kiểm tra và cung cấp các cảnh báo cho người quản trị Plugins có trách nhiệm thực hiện các kiểm tra và phân tích kết quả Các đầu ra từ một kiểm tra đó là
một trạng thái (OK, WARNING, CRITICAL, hoặc UNKNOW) và các văn bản bổ sung cung cấp thông tin về các dịch vụ cụ thể Văn bản này chủ yếu dành cho các
quản trị viên hệ thống để có thể đọc một trạng thái chi tiết của một dịch vụ
Nagios không chỉ cung cấp một hệ thống cốt lõi để theo dõi, mà còn cung
cấp một tập các plugins tiêu chuẩn trong một gói riêng biệt (xem http://nagiosplugins.org/ để biết thêm chi tiết) Những plugin này cho phép kiểm tra các dịch vụ đang chạy trên hệ thống Ngoài ra nếu ta muốn thực thi một kiểm tra đặc biệt, ta có thể tạo một plugin riêng cho mình
1.5.1 L ợi ích của việc giám sát tài nguyên
Có nhiều lý do tại sao ta nên chắc chắn rằng tất cả các nguồn tài nguyên đang làm việc như mong đợi Các lợi thế chính là sự cải thiện về chất lượng Nếu nhân viên IT có thể thông báo sự cố nhanh chóng hơn, họ cũng sẽ có thể xử lý các vấn đề
Trang 26nhanh hơn Đôi khi, sẽ mất vài giờ hoặc vài ngày để có được báo cáo đầu tiên của
một sự cố Nagios sẽ đảm bảo rằng nếu có thiết bị hoặc dịch vụ gì là không làm
việc, ta biết về nó một cách nhanh nhất
Nó cũng có thể làm cho Nagios thực hiện các khôi phục tự động, điều này được thực hiện nhờ vào các sự kiện được định nghĩa trong Nagios Đây là các lệnh được chạy sau khi tình trạng của một máy chủ lưu trữ hoặc dịch vụ đã thay đổi, ví
dụ khi một router chính không hoạt động, Nagios sẽ chuyển đến một giải pháp dự phòng cho đến khi router chính được sửa Một trường hợp điển hình là một kết nối quay số như dự phòng sẽ được bật, trong trường hợp mất kết nối VPN
Một lợi thế là xác định vấn đề tốt hơn Nagios có thể xác định được chính xác một sự cố xảy ra trên hệ thống nhưng không mất nhiều thời gian
Nagios cũng rất linh hoạt khi thông báo cho mọi người về những sự cố Ta
có thể thiết lập nó để gửi email cho những người khác nhau tùy thuộc vào những sự
cố đó Trong hầu hết các trường hợp, công ty có một lượng lớn đội ngũ CNTT hoặc nhiều đội Thông thường, ta muốn một số người để xử lý các máy chủ, và những người khác để xử lý các thiết bị switch / router / modem Ta thậm chí có thể sử
dụng giao diện web 'Nagios để quản lý người nào đang làm việc về vấn đề gì Ta cũng có thể cấu hình cách Nagios gửi cảnh báo qua email, SMS, MSN…
Giám sát nguồn tài nguyên không chỉ hữu ích để xác định vấn đề, nó cũng có
thể giúp ta tiết kiệm thời gian để tìm hiểu chúng Nagios cảnh báo và xử lý các tình
huống quan trọng khác nhau Điều này có nghĩa rằng nó có thể nhận ra vấn đề tình
huống quan trọng một cách nhanh chóng Ví dụ, nếu đĩa cứng lưu trữ trên một máy
chủ email là đã sử dụng hết thì tốt hơn ta nên được thông báo về tình trạng này trước khi nó trở thành một vấn đề nghiêm trọng
Giám sát cũng có thể được thiết lập trên nhiều máy tính trên khắp các địa điểm khác nhau mà có thể giao tiếp tất cả các kết quả đến một máy chủ Nagios trung tâm Bằng cách này, thông tin về tất cả các host và dịch vụ trong hệ thống có
thể được truy cập từ một máy tính đơn lẻ Điều này sẽ cho ta một bức tranh hoàn
chỉnh cơ sở hạ tầng CNTT
Trang 271.5.2 Các chức năng chính
Các chức năng của Nagios rất linh hoạt, nó có thể được cấu hình để theo dõi
cơ sở hạ tầng CNTT theo cách ta muốn Nó cũng có một cơ chế để tự động phản ứng với các vấn đề, và một hệ thống cảnh báo mạnh Tất cả điều này được dựa trên
một hệ thống định nghĩa các đối tượng rõ ràng:
Commands: được định nghĩa về cách Nagios cần thực hiện các loại kiểm tra, chúng là một lớp trừu tượng cho phép ta nhóm các hoạt động tương tự lại với nhau
Time-periods: là ngày và thời gian kéo dài mà trong đó một hoạt động nên hay không nên được thực hiện, ví dụ: Thứ hai đến thứ sáu 9:00-17:00
Contacts và Contact groups: là những người cần được cảnh báo, cùng với thông tin về cách thức và thời gian họ cần được cảnh báo Contacts có thể được nhóm lại thành Contact groups
Host: là những máy vật lý, cùng với thông tin về việc ai sẽ được liên lạc, làm
thế nào kiểm tra phải được thực hiện, và khi nào Host có thể được nhóm lại thành các Host group, mỗi host có thể là một thành viên của nhiều Host group
Services: là các chức năng khác nhau hoặc các tài nguyên cần được giám sát, cùng với thông tin về những người cần được liên lạc, làm thế nào kiểm tra phải được thực hiện, và khi nào Service có thể được nhóm lại thành các service group,
mỗi service có thể là một thành viên của nhiều service group
Host và service escalation: định nghĩa khoảng thời gian được chỉ ra mà sau
đó người phụ nên được cảnh báo của các sự kiện nào đó - ví dụ một máy chủ quan
trọng là ngưng hoạt hơn 4 giờ nên cảnh báo cho quản trị viên để họ bắt đầu theo dõi các vấn đề
Một tiện ích quan trọng ta sẽ đạt được bằng cách sử dụng Nagios là một hệ
thống phụ thuộc Đối với các quản trị viên, rõ ràng là nếu router bị hỏng, tất cả các máy truy cập thông qua nó sẽ thất bại Nagios cho phép ta định nghĩa phụ thuộc
giữa các máy để hình thành cấu trúc liên kết mạng lưới thực tế Ví dụ, nếu một switch, cho kết nối ta với một bộ định tuyến ngưng hoạt động, Nagios sẽ không
Trang 28thực hiện bất kỳ kiểm tra trên router hoặc trên các máy tính phụ thuộc vào router Điều này được minh họa trong ví dụ sau đây:
Hình 1 8: Ví d ụ mô tả sự cố
Ta cũng có thể định nghĩa rằng một dịch vụ phụ thuộc vào một dịch vụ khác,
hoặc trên cùng một máy chủ hoặc trên các máy chủ khác nhau Nếu một trong các
dịch vụ là ngưng hoạt động, một kiểm tra cho một dịch vụ mà phụ thuộc vào nó sẽ không được thực hiện Ví dụ, đối với mạng nội bộ của ứng dụng công ty hoạt động
tốt, cả hai máy chủ web cơ bản và cơ sở dữ liệu một máy chủ đều hoạt động Vì
vậy, nếu một dịch vụ cơ sở dữ liệu không hoạt động, Nagios sẽ không thực hiện
kiểm tra các ứng dụng Máy chủ cơ sở dữ liệu có thể là trên cùng một máy hoạt khác máy.Trong một trường hợp như vậy, nếu máy bị hỏng hoặc không thể truy
cập, cảnh báo cho tất cả các dịch vụ phụ thuộc vào các dịch vụ cơ sở dữ liệu sẽ không được gửi
Nagios cũng cung cấp cơ chế để lên lịch cho kế hoạch ngưng hoạt động vì
một vài lý do nào đó như bảo trì hoặc nâng cấp hệ thống Ta có thể lên lịch cho một máy chủ cụ thể hoặc dịch vụ dự kiến không có sẵn Điều này sẽ ngăn chặn Nagios thông báo cho người được cấu hình cần gửi cảnh báo về các vấn đề liên quan đến
Trang 29đối tượng này Nagios cũng có thể thông báo cho mọi người kế hoạch ngương hoạt động một cách tự động Điều này chủ yếu được sử dụng khi bảo trì cơ sở hạ tầng công nghệ thông tin và hệ thống cũng như dịch vụ ngưng hoạt động trong một thời gian dài
Như vậy, tạm thời có thể liệt kê được các chức năng chính của Nagios như sau:
• Giám sát trạng thái hoạt động của các dịch vụ mạng (SMTP, POP3, IMAP, HTTP, ICMP, FTP, SSH, DHCP, LDAP, DNS, name server, web proxy, TCP port, UDP port, cở sở dữ liệu: mysql, portgreSQL, oracle)
• Giám sát các tài nguyên các máy phục vụ và các thiết bị đầu cuối (chạy
hệ điều hành Unix/Linux, Windows, Novell netware): tình trạng sử dụng CPU, người dùng đang log on, tình trạng sử dụng ổ đĩa cứng, tình trạng sử dụng bộ nhớ trong và swap, số tiến trình đang chạy, các tệp log hệ thống
• Giám sát các thông số an toàn thiết bị phần cứng trên host như: nhiệt độ CPU, tốc độ quạt, pin, giờ hệ thống…
• Giám sát các thiết bị mạng có IP như router, switch và máy in Với Router, Switch, Nagios có thể theo dõi được tình trạng hoạt động, trạng thái bật tắt
của từng cổng, lưu lượng băng thông qua mỗi cổng, thời gian hoạt động liên tục (Uptime) của thiết bị Với máy in, Nagios có thể nhận biết được nhiều trạng thái, tình huống sảy ra như kẹt giấy, hết mực…
• Cảnh báo cho người quản trị bằng nhiều hình thức như email, tin nhắn
tức thời (IM), âm thanh …nếu như có thiết bị, dịch vụ gặp trục trặc
• Tổng hợp, lưu giữ và báo cáo định kỳ về tình trạng hoạt động của mạng 1.5.3 Tr ạng thái tạm thời và cố định
Nagios hoạt động bằng cách kiểm tra xem một máy chủ hoặc dịch vụ có hoạt động tốt không và lưu trữ trạng thái của nó Bởi vì trạng thái của một dịch vụ chỉ là
một trong bốn giá trị OK, WARNING, CRITICAL, UNKNOW Điều quan trọng là
nó thực sự xác định được tình trạng hiện tại Để tránh phát hiện tạm thời và ngẫu nhiên vấn đề, Nagios sử dụng trạng thái tạm thời và cố định mô tả tình trạng hiện tại
của một máy chủ lưu trữ hoặc dịch vụ
Trang 30Hãy tưởng tượng rằng một quản trị viên khởi động lại một máy chủ web và
hoạt động này làm cho mất các kết nối đến máy chủ web trong 5s Như thường,
khởi động lại như vậy được thực hiện vào ban đêm để giảm số lượng người dùng bị ảnh hưởng, đây là khoảng thời gian chấp nhận được Tuy nhiên, một vấn đề có thể
nảy sinh khi Nagios cố gắng kết nối tới máy chủ và thông báo rằng nó thực sự ngưng hoạt động nếu chỉ dựa vào một kết quả duy nhất
Để xử lý tình huống khi một dịch vụ ngưng hoạt động trong một thời gian rất
ngắn, hoặc các kiểm tra tạm thời không thành công, người ta đưa ra trạng thái tạm
thời Khi trạng thái của một kiểm tra là UNKNOW, hoặc nó là khác nhau các trạng thái trước đó, Nagios sẽ tiến hành kiểm tra lại các máy chủ, dịch vụ nhiều lần để đảm bảo rằng thay đổi là cố định trong một khoảng thời gian dài Nagios giả định
rằng các kết quả mới là một trạng tạm thời Sau khi tiến hành kiểm tra nhiều lần mà
trạng thái không đổi, thì nó được coi là một trạng thái cố định
Mỗi Host và Service được định nghĩa số thử kiểm tra sẽ được thực hiện trước khi nó có thể được giả định rằng thay đổi là vĩnh viễn Điều này cho phép linh hoạt trong việc kiểm tra các sự cố Thiết lập số lượng kiểm tra một sẽ gây ra các thay đổi được coi là khó khăn ngay lập tức Sau đây là một minh họa cho trạng thái tạm thời
và cố định, giả sử số lần kiểm tra là 3 ta sẽ có:
Hình 1 9: Ki ểm tra trạng thái
Tính năng này cho phép bỏ qua sự cố ngưng hoạt động trong thời gian ngắn
của một dịch vụ Nó cũng rất hữu ích để thực hiện các kiểm tra định kỳ ngay cả khi
mọi thứ hoạt động tốt
1.6 KIẾN TRÚC VÀ TỔ CHỨC HOẠT ĐỘNG
1.6.1 Kiến trúc của Nagios
Hệ thống Nagios gồm hai phần chính:
Trang 31• Lõi Nagios
• Plugin
Phần lõi Nagios có chức năng quản lý các host/dịch vụ được giám sát, thu thập các kết quả kiểm tra (check) host/dịch vụ từ các plugin gửi về, biểu diễn trên giao
diện chương trình, lưu trữ và thông báo cho người quản trị Ngoài ra nó còn tổng
hợp và đưa ra các báo cáo về tình hình hoạt động chung hoặc của từng host/dịch vụ trong một khoảng thời gian nào đó
Plugin là bộ phận trực tiếp thực hiện kiểm tra host/dịch vụ Mỗi một loại dịch
vụ đều có một plugin riêng biệt được viết để phục vụ riêng cho công việc kiểm tra
dịch vụ đó Plugin là các script (Perl, C …) hay các tệp đã được biên dịch (executable) Khi cần thực hiện kiểm tra một host/dịch vụ nào đó Nagios chỉ việc
gọi plugin tương ứng và nhật kết quả kiểm tra từ chúng Với thiết kế như thế này, hệ
thống Nagios rất dễ dàng được mở rộng và phát triển Bất kì một thiết bị hay dịch
vụ nào cũng có thể được giám sát nếu như viết được plugin cho nó Hình bên dưới cho ta thấy sự tương quan giữa các thành phần trong Nagios
Hình 1 10: Sơ đồ tổ chức của Nagios
1.6.2 Cách th ức tổ chức hoạt động
Nagios có 5 cách thực thi các hành động kiểm tra:
1.6.2.1 Kiểm tra dịch vụ trực tiếp
Đối với các dịch vụ mạng có giao thức giao tiếp qua mạng như smtp, http, ftp… Nagios có thể tiến hành kiểm tra trực tiếp một dịch vụ xem nó đang hoạt động
Trang 32hay không bằng cách gửi truy vấn kết nối dịch vụ đến server dịch vụ và đợi kết quả
trả về Các plugin phục vụ kiểm tra này được đặt ngay trên server Nagios
1.6.2.2 Chạy các plugin trên máy ở xa bằng secure shell
Nagios server không có cách nào có thể truy cập trực tiếp client để theo dõi
những thông tin như tình trạng sử dụng ổ đĩa, swap, tiến trình … Để làm được việc này thì trên máy được giám sát phải cài plugin cục bộ Nagios sẽ điểu khiển các plugin cục bộ trên client qua secure shell ssh bằng plugin check_by_ssh Phương
pháp này yêu cầu một tài khoản truy cập host được giám sát nhưng nó có thể thực thi được tất cả các plugin được cài trên host đó
1.6.2.3 Bộ thực thi plugin từ xa (NRPE - Nagios Remote Plugin Executor)
NRPE là một addon đi kèm với Nagios Nó trợ giúp việc thực thi các plugin được cài đặt trên máy/thiết bị được giám sát NRPE được cài trên các host được giám sát Khi nhận được truy vấn từ Nagios server thì nó gọi các plugin cục bộ phù
hợp trên host này, thực hiện kiểm tra và trả về kết quả cho Nagios server Phương pháp này không đòi hỏi tài khoản truy cập host được giám sát như sử dụng ssh Tuy nhiên cũng như ssh các plugin phục vụ giám sát phải được cài đặt trên host được giám sát NRPE có thể thực thi được tất cả các loại plugin giám sát Nagios có thể điều khiển máy cài NRPE kiểm tra các thông số phần cứng, các tài nguyên, tình
trạng hoạt động của máy đó hoặc sử dụng NRPE để thực thi các plugin yêu cầu truy
vấn dịch vụ mạng đến một máy thứ 3 để kiểm tra hoạt động của các dịch vụ mạng như http, ftp, mail…
1.6.2.4 Giám sát qua SNMP
Cốt lõi của giao thức SNMP (SimpleNetwork Management Protocol) là tập hợp đơn giản các hoạt động giúp nhà quản trị mạng có thể quản lý, thay đổi trạng thái thiết bị Hiện nay rất nhiều thiết bị mạng hỗ trợ giao thức SNMP như Switch, router, máy in, firewall Nagios cũng có khả năng sử dụng giao thức SNMP để theo dõi trạng thái của các client, các thiết bị mạng có hỗ trợ SNMP Qua SNMP, Nagios có được thông tin về tình trạng hiện thời của thiết bị Ví dụ như với SNMP,
Trang 33Nagios có thể biết được các cổng của Switch, router có mở hay không, thời gian Uptime (chạy liên tục) là bao nhiêu…
1.6.2.5 NSCA (Nagios Service Check Acceptor)
Nagios được coi là một phần mềm rất mạnh vì nó dễ dàng được mở rộng và
kết hợp với các phần mềm khác Nó có thể tổng hợp thông tin từ các phần mềm
kiểm tra của hãng thứ ba hoặc các tiến trình Nagios khác về trạng thái của host/dịch
vụ Như thế Nagios không cần phải lập lịch và chạy các hành động kiểm tra host/dịch vụ mà các ứng dụng khác sẽ thực hiện điểu này và báo cáo thông tin về cho nó Và các ứng dụng kiểm tra có thể tận dụng được khả năng rất mạnh của Nagios là thông báo và tổng hợp báo cáo Nagios sử dụng công cụ NSCA để gửi các
kết quả kiểm tra từ ứng dụng của bạn về server Nagios Công cụ này giúp cho thông tin gửi trên mạng được an toàn hơn vì nó được mã hóa và xác thực
Hình 1 11: Các cách thức thực hiện kiểm tra
Hình trên cho ta cái nhìn tổng quan về các cách thức kiểm tra dịch với
nagios Có 5 client được giám sát bằng 5 cách thức khác nhau:
• Client 1: Nagios sử dụng plugin ‘check_xyz’ được cài đặt ngay trên server Nagios để gửi truy vấn kiểm tra dịch vụ trên client (http, ftp, dns, smtp…)
• Client 2, 3: Nagios sử dụng các plugin trung gian để chạy plugin
‘check_xyz’ giám sát được cài đặt trực tiếp trên client (bởi vì có những dịch vụ
Trang 34không có hỗ trợ giao thức trao đổi qua mạng, ví dụ khi bạn muốn kiểm tra dung lượng ổ đĩa cứng còn trống trên client…)
• Client 4: Kiểm tra dịch vụ qua giao thức snmp, nagios server sẽ sử dụng plugin check_snmp để kiểm tra các dịch vụ trên client có hỗ trợ giao thức SNMP
Rất nhiều thiết bị mạng như router, switch, máy in… có hỗ trợ giao thức SNMP
• Client 5: Đây là phương pháp kiểm tra bị động Nagios không chủ động
kiểm tra dịch vụ mà là client chủ động gửi kết quả kiểm tra dịch vụ về cho Nagios thông qua plugin NSCA Phương pháp này được áp dụng nhiều trong giám sát phân tán Với các mạng có quy mô lớn, người ta có thể dùng nhiều server Nagios để giám sát từng phần của mạng Trong đó có một server Nagios trung tâm thực hiện tổng
hợp kết quả từ các server Nagios con thông qua plugin NSCA
chọn cấu hình như cho phép thông báo, sử dụng lệnh ngoại trú, kiểm tra bị động, cách thức log, cập nhật…
- Tệp cấu hình tài nguyên resource.cfg Các tệp tài nguyên dùng để lưu trữ các nhãn (macro) được định nghĩa bởi người dùng, và lưu trữ những thông tin nhạy cảm( như mật khẩu…), ẩn với CGIs Bạn có thể chỉ định một hay nhiều tùy chọn tệp tài nguyên bằng cách sử dụng chỉ thị resource_file trong tệp cấu hình chính
- Tệp cấu hình CGI cgi.cfg Tệp cấu hình CGI chứa tập các chỉ thị ảnh hưởng đến hoạt động của CGIs và cách thức hiển thị thông tin trên giao diện web
1.7.2 Các t ệp cấu hình đối tượng
Thư mục /usr/local/nagios/etc/objects
- Nơi lưu trữ các tệp cấu hình đối tượng được giám sát và quản lý trong
nagios Các tệp định nghĩa đối tượng được sử dụng để định nghĩa host, dịch vụ, liên
Trang 35hệ(contacts), nhóm liên hệ(contactgroups), lệnh… đây là nơi định nghĩa tất cả mọi
thứ mà bạn muốn giám sát và cách mà bạn giám sát chúng Bạn có thể chỉ định một hay nhiều tệp định nghĩa đối tượng bằng sử dụng các chỉ thị cfg_file và cfg_dir trong tệp cấu hình chính Các tệp cấu hình sẵn có là:
• Localhost.cfg //định nghĩa các máy linux
• Timeperiods.cfg //đn các chu ki thời gian
Chi tiết các tùy chọn cấu hình tham khảo phần phụ lục
1.8 CÁ CH THỨC ĐỊNH NGHĨA ĐỐI TƯỢNG TRONG CÁC TỆP CẤU HÌNH ĐỐI TƯỢNG
Các đối tượng (bao gồm host, dịch vụ, người liên hệ, lệnh, nhóm, chu kỳ thời gian) có thể đươc định nghĩa trong bất kì tệp nào có đuôi cfg và khai báo đường
dẫn trong tệp cấu hình chính qua tùy chọn cfg_file Tệp template.cfg đã có sẵn
những định nghĩa đối tượng chuẩn, các định nghĩa đối tượng mới có thể kế thừa khuôn mẫu của định nghĩa chuẩn và có thể thay đổi đi mội số tùy chọn cho phù hợp
với từng yêu cầu sử dụng
- Host có địa chỉ xác định (IP hoặc MAC)
- Host thường có ít nhất một dịch vụ liên quan đến nó
- Một host có thể có mối quan hệ cha/con, phụ thuộc với host khác
Trang 36Khi định nghĩa đối tượng host bạn có thể kế thừa mẫu định nghĩa host có trong
tệp template.cfg Mẫu định nghĩa này có trong phần phụ lục cuối tài liệu Tuy nhiên
với mỗi host được định nghĩa mới thì có 3 tùy chọn bắt buộc phải khai báo cho phù
hợp Đó là tên host, bí danh và địa chỉ IP của host
define host{
use linux-server //kế thừa định nghĩa mẫu có sẵn
host_name fedora10 alias f10
address 192.168.1.254
… }
1.8.2 Định nghĩa dịch vụ
Định nghĩa dịch vụ dùng để khai báo dịch vụ được giám sát chạy trên host Dịch vụ ở đây có thể hiểu là các dịch vụ mạng thực sự như là POP, SMTP, HTTP… hay là chỉ là một số số liệu của host như số lượng người dùng, ổ đĩa còn trống… Các tùy chọn dưới đây là bắt buộc khi định nghĩa một dịch vụ mới Các tùy chọn còn lại có thể tham khảo phần phụ lục
define service{
host_name linux-server service_description check-disk-sda1 check_command check-disk!/dev/sda1 max_check_attempts 5
check_interval 5 retry_interval 3 check_period 24x7 notification_interval 30 notification_period 24x7 notification_options w,c,r contact_groups linux-admins