Giới thiệu chung về cơ sở thực tập Trụ sở: Nhà A3 Số 18 Hoàng Quốc Việt, Cầu Giấy, Hà Nội Quá trình hình thành, phát triển, cơ cấu tổ chức của cơ quan, đơn vị Viện Công nghệ thông tin (CNTT) là Viện nghiên cứu chuyên ngành của Viện Hàn lâm Khoa học và Công nghệ Việt Nam. Viện được thành lập từ 1976 theo Quyết định số 246CP ngày 27121976 của Thủ tướng chính phủ với tên Viện Khoa học Tính toán và Điều khiển. Năm 1993, Viện đổi tên thành Viện CNTT. Hiện nay Viện có hơn 200 cán bộ trong biên chế và cán bộ hợp đồng dài hạn, trong đó có nhiều cán bộ khoa học trình độ cao. Viện CNTT là một trong những đơn vị đi đầu của cả Nước về công tác nghiên cứu, đào tạo sau đại học về lĩnh vực CNTT. Từ 1978 Viện được giao nhiệm vụ đào trình độ tiến sĩ theo Quyết định số 515TTg ngày 03 tháng 11 năm 1978 (Viện là cơ sở đào tạo trình độ tiến sĩ, không tham gia đào tạo trình độ thạc sĩ). Cho đến nay Viện đã đào tạo được hàng chục tiến sĩ, trong đó phần lớn đang là cán bộ chủ chốt, giảng viên của các trường đại học trong cả nước. Chức năng, nhiệm vụ • Nghiên cứu các vấn đề cơ bản của tin học, cơ sở toán học và kỹ thuật của công nghệ thông tin (CNTT), ứng dụng CNTT trong các hệ thống kinh tế xã hội và trong tự động hóa sản xuất. • Thiết kế, chế tạo các sản phẩm của CNTT, đặc biệt là các sản phẩm phần mềm. • Triển khai ứng dụng CNTT trong sản xuất đời sống, chuyển giao công nghệ trong lĩnh vực CNTT, tư vấn kỹ thuật cho việc thực hiện một số dự án nhà nước về ứng dụng CNTT trong quản lý, phát triển kinh tế và sản xuất. • Tư vấn kỹ thuật. • Đào tạo cán bộ nghiên cứu khoa học công nghệ về CNTT. • Tổ chức hợp tác quốc tế trong lĩnh vực CNTT. • Quy trình công nghệ của cơ quan, đơn vị • Máy móc, trang thiết bị, dây chuyền công nghệ,… tại cơ quan đơn vị, • Hiện nay Viện CNTT có 17 Phòng chuyên môn và Phòng thí nghiệm trọng điểm Quốc gia về Công nghệ mạng và Đa phương tiện • Các công trình, dự án,… đã thực hiện tại cơ quan đơn vị. VnDOCR – phần mềm nhận dạng chữ Việt in MarkRead – phần mềm nhập tự động phiếu điều tra VnOnline – phần mềm nhận dạng chữ viết tay trực tuyến cho Tablet PC VnVoice – hệ thống tổng hợp tiếng Việt Các hệ thống đo và điều khiển từ xa ứng dụng trong công nghiệp Dịch vụ tạo các chip đặc chủng cho các sản phẩm đo lường và điều khiển PopMap – Hệ thông tin địa lý trợ giúp quyết định trong các hoạt động dân số Ứng dụng dịch vụ hỗ trợ đối tượng nộp thuế trên mạng máy tính
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Tên đề tài:
Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng
bằng phần mềm mã nguồn mở ICINGA
Đơn vị thực tập : Viện Công nghệ Thông tin
Sinh Viên Thực Hiện : Nguyễn Xuân Đức
Mã Sinh Viên : DH00300659
Giảng Viên Hướng Dẫn : TS Nguyễn Như Sơn
Hà Nội, tháng1năm 2017
Trang 2TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
Tên đề tài:
Nghiên cứu, phát triển xây dựng hệ thống giám sát mạng
bằng phần mềm mã nguồn mở ICINGA
Đơn vị thực tập : Viện Công nghệ Thông tin
Sinh Viên Thực Hiện : Nguyễn Xuân Đức
Mã Sinh Viên : DH00300659
Giảng Viên Hướng Dẫn : TS Nguyễn Như Sơn
Hà Nội, tháng1năm 2017
Trang 3LỜI CẢM ƠN
Để hoàn thành chuyên đề báo cáo thực tập này trước hết em xin gửi đến quýthầy,cô giáo trong khoa Công nghệ thông tin trường Đại học Tài nguyên và Môitrường Hà Nội, lời cảm ơn chân thành
Đặc biệt, em xin gởi đến TS Nguyễn Như Sơn người đã tận tình hướng dẫn,giúp đỡ em hoàn thành chuyên đề báo cáo thực tập này lời cảm ơn sâu sắc nhất
Em xin chân thành cảm ơn Ban Lãnh Đạo, các phòng ban của viện Côngnghệ thông tin ,đã tạo điều kiện thuận lợi cho em được tìm hiểu thực tiễn trong suốtquá trình thực tập tại Viện
Cuối cùng em xin cảm ơn các cán bộ phòng Phần mềm tích hợp của việnCông nghệ thông tin đã giúp đỡ, cung cấp những số liệu thực tế để em hoàn thànhtốt chuyên đề thực tập tốt nghiệp này
Đồng thời nhà trường đã tạo cho em có cơ hội được thưc tập nơi mà em yêuthích, cho em bước ra đời sống thực tế để áp dụng những kiến thức mà các thầy côgiáo đã giảng dạy.Qua công việc thực tập này em nhận ra nhiều điều mới mẻ và bổích trong việc kinh doanh để giúp ích cho công việc sau này của bản thân
Vì kiến thức bản thân còn hạn chế, trong quá trình thực tập, hoàn thiệnchuyên đề này em không tránh khỏi những sai sót, kính mong nhận được những ýkiến đóng góp từ thầy/cô
Em xin chân thành cảm ơn!
Hà Nội, ngày 1 tháng 3 năm 2017
Sinh viên thực hiện
Nguyễn Xuân Đức
Trang 4Giới thiệu chung về cơ sở thực tập
Trụ sở: Nhà A3 - Số 18 Hoàng Quốc Việt, Cầu Giấy, Hà Nội
Quá trình hình thành, phát triển, cơ cấu tổ chức của cơ quan, đơn vị
Viện Công nghệ thông tin (CNTT) là Viện nghiên cứu chuyên ngành củaViện Hàn lâm Khoa học và Công nghệ Việt Nam Viện được thành lập từ 1976 theoQuyết định số 246/CP ngày 27/12/1976 của Thủ tướng chính phủ với tên ViệnKhoa học Tính toán và Điều khiển
Năm 1993, Viện đổi tên thành Viện CNTT Hiện nay Viện có hơn 200 cán
bộ trong biên chế và cán bộ hợp đồng dài hạn, trong đó có nhiều cán bộ khoa họctrình độ cao Viện CNTT là một trong những đơn vị đi đầu của cả Nước về công tácnghiên cứu, đào tạo sau đại học về lĩnh vực CNTT Từ 1978 Viện được giao nhiệm
vụ đào trình độ tiến sĩ theo Quyết định số 515-TTg ngày 03 tháng 11 năm 1978(Viện là cơ sở đào tạo trình độ tiến sĩ, không tham gia đào tạo trình độ thạc sĩ) Chođến nay Viện đã đào tạo được hàng chục tiến sĩ, trong đó phần lớn đang là cán bộchủ chốt, giảng viên của các trường đại học trong cả nước
Chức năng, nhiệm vụ
Nghiên cứu các vấn đề cơ bản của tin học, cơ sở toán học và kỹ thuật củacông nghệ thông tin (CNTT), ứng dụng CNTT trong các hệ thống kinh tế - xã hội
và trong tự động hóa sản xuất
Thiết kế, chế tạo các sản phẩm của CNTT, đặc biệt là các sản phẩm phầnmềm
Triển khai ứng dụng CNTT trong sản xuất đời sống, chuyển giao công nghệtrong lĩnh vực CNTT, tư vấn kỹ thuật cho việc thực hiện một số dự án nhà nước vềứng dụng CNTT trong quản lý, phát triển kinh tế và sản xuất
Tư vấn kỹ thuật
Đào tạo cán bộ nghiên cứu khoa học - công nghệ về CNTT
Tổ chức hợp tác quốc tế trong lĩnh vực CNTT
Quy trình công nghệ của cơ quan, đơn vị
Máy móc, trang thiết bị, dây chuyền công nghệ,… tại cơ quan đơn vị,
Trang 5Hiện nay Viện CNTT có 17 Phòng chuyên môn và Phòng thí nghiệm trọngđiểm Quốc gia về Công nghệ mạng và Đa phương tiện
Các công trình, dự án,… đã thực hiện tại cơ quan đơn vị
- VnDOCR – phần mềm nhận dạng chữ Việt in
- MarkRead – phần mềm nhập tự động phiếu điều tra
- VnOnline – phần mềm nhận dạng chữ viết tay trực tuyến cho Tablet PC
- VnVoice – hệ thống tổng hợp tiếng Việt
- Các hệ thống đo và điều khiển từ xa ứng dụng trong công nghiệp
- Dịch vụ tạo các chip đặc chủng cho các sản phẩm đo lường và điều khiển
- PopMap – Hệ thông tin địa lý trợ giúp quyết định trong các hoạt động dânsố
- Ứng dụng dịch vụ hỗ trợ đối tượng nộp thuế trên mạng máy tính
Trang 6MỤC LỤC
LỜI CẢM ƠN
MỞ ĐẦU 8
CHƯƠNG 1: NGHIÊN CỨUTỔNG QUAN GIÁM SÁT MẠNG 2
1.1 Nghiên cứu về hệ thốngmạng 2
1.1.1 Mô hình mạngWorkgroup 2
1.1.2Mô hình mạngDomain 2
1.2 Nghiên cứu về giám sátmạng 3
CHƯƠNG 2: NGHIÊN CỨU PHẦN MỀM ICINGA 5
2.1 Tổng quanvà lịch sử hình thànhIcinga 5
2.1.1 Tổng quan vềIcinga 5
2.1.2 Một số điểm nổi bật trong quá trình hình thành và phát triển của Icinga 5
2.1.3Các chức năng chính của phần mềmIcinga 6
2.2 Kiến trúc Icinga 6
2.2.1 Phần nhânIcinga 7
2.2.2 Phần Giao diệnIcinga 8
2.3.1 Giao diện Web cổ điển (Icinga Classic) 8
2.3.2 Giao diện Icinga web 8
2.3 Phần Báo cáo Icinga 9
2.3.1 Phương thức giám sát của Icinga 9
2.4 Cấu hìnhIcinga 12
2.4.1 Tên các tệp cấuhình 12
2.4.2 Các tệp cấu hìnhchính 13
2.4.3 Các tệp tàinguyên 13
2.4.4 Cáctệpđịnhnghĩađốitượng 13
2.4.5 Các tệp cấu hìnhCGI 15
2.5 Các vấn đề liên quan khác đếnIcinga 15
2.5.1 Các phần mềm hỗ trợIcinga 15
2.5.2 Các lệnh thực thi củaIcinga 17
2.5.3 Các hàm mởrộng 17
Trang 72.5.4 Xác định trạng thái và khả năng kết nối của mạng máychủ 18
2.6 Vấn đề bảo mật củaIcinga 21
CHƯƠNG 3: TRIỂN KHAI THỬ NGHIỆM PHẦN MỀM ICINGA 26
3.1 Mô hình triển khai thử nghiệm phần mềmIcinga 26
3.2 Cài đặt phần mềmIcinga 26
3.2.1 CácbướcchuẩnbịcàiđặtIcinga 26
3.2.2 Thực hiện cài đặtIcinga 27
3.3 Thực hiện cài đặt IcingaWeb 34
KẾT LUẬN 40
TÀI LIỆU THAM KHẢO 41
Trang 8DANH MỤC HÌNH
Hình 1.1 Bảng so sánh các tính năng của một số phần mềm giám sát 4
Hình 2.1 Các thành phần của Icinga 7
Hình 2.2.Sơ đồ liên kết giữa các thành phần của Icinga 7
Hình 2.3 Mô hình liên kết giữa các thành phần của Icinga 8
Hình 2.4 Hai phương thức giám sát các máy chủ của Icinga 9
Hình 2.5 Giám sát các máy chủ cài đặt hệ điều hành Linux 10
Hình 2.7 Giám sát các thiết bị Máy in 11
Hình 2.8 Giám sát các thiết bịđịnh tuyến và thiết bị chuyển mạch 11
Hình 2.9.Sơ đồ tổng quan cấu hình phần mềm 12
Hình 2.10 Vị trí của các phần mềm hỗ trợ Icinga 16
Hình 2.11.Sơ đồ hệ thống kết nối mạng cơ bản 18
Hình 2.12.Sơ đồ thể hiện mối quan hệ “Cha/con” giữa các máy chủ 19
Hình 2.13.Sơ đồ mạng khi máy chủ và thiết bị chuyển mạch không hoạt động 20
Hình 2.14.Sơ đồ mạng khi máy chủ và thiết bị chuyển mạch không hoạt động 20
Hình 2.15.Sơ đồ nguy cơ bảo mật của phần mềm Icinga 22
Hình 2.16.Sơ đồ nguy cơ bảo mật của phần mềm Icinga 24
Hình 3.1 Giao diện nhập mật khẩu tài khoản root của MySQL 26
Hình 3.2 Giao diện nhập xác nhận mật khẩu tài khoản root của MySQL 27
Hình 3.3 Giao diện cấu hình Mail Server 27
Hình 3.4 Giao diện kiểu cấu hình Mail Server 28
Hình 3.5 Giao diện nhập tên tài khoản Mail 28
Hình 3.6 Giao diện nhập mật khẩu tài khoản quản trị Icinga Web Classic 29
Hình 3.7 Giao diện xác nhận mật khẩu tài khoản quản trị Icinga Web Classic 29
Hình 3.8 Giao diện tùy chọn cấu hình Icinga-Common 30
Hình 3.9 Giao diện tùy chọn cấu hình cơ sở dữ liệucho Icinga IDO 30
Hình 3.10 Giao diện tùy chọn kiểucơ sở dữ liệucho Icinga IDO 31
Hình 3.11 Giao diện nhập mật khẩu quản trị cơ sở dữ liệucho Icinga IDO 31
Hình 3.12 Giao diện mật khẩu quản trị cho Icinga IDO 32
Hình 3.13 Giao diện nhập xác nhận mật khẩu quản trị cho Icinga IDO 32
Hình 3.14 Giao diện đăng nhập Icinga web classic 33
Trang 9Hình 3.15 Giao diện Icinga web classic sau khi đăng nhập 33
Hình 3.16 Giao diện tùy chọn cấu hình cơ sở dữ liệu cho Icinga Web 34
Hình 3.17 Giao diện tùy chọn kiểu cơ sở dữ liệu cho Icinga Web 34
Hình 3.18 Giao diện nhập mật khẩu quản trịcơ sở dữ liệu cho Icinga Web 35
Hình 3.19 Giao diện nhập mật khẩu ứng dụng quản trị MySQL cho Icinga Web .35 Hình 3.20 Giao diện xác nhận mật khẩu ứng dụng quản trịMySQL cho Icinga Web 36
Hình 3.21 Giao diện nhập mật khẩu quản trị cho Icinga Web 36
Hình 3.22 Giao diện nhập xác nhận mật khẩu quản trị cho Icinga Web 37
Hình 3.23 Giao diện đăng nhập tài khoản quản trị Icinga Web 39
Hình 3.24 Giao diện của Icinga Web sau khi đăng nhập 39
Trang 10MỞ ĐẦU
Ngày nay, công nghệ thông tin của Việt Nam đang ngày càng pháttriển mạnh mẽ Ở các cơ quan nhà nước hay các tổ chức doanh nghiệp, côngnghệ thông tin ngày càng được chú trọng và quan tâm nhiều hơn Song songvới phát triển hệ thống thông tin là phát triển và mở rộng hạ tầng công nghệthông tin Với việc quản trị một hệ thống hạ tầng công nghệ thông tin 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ácdịch vụ cungcấp
Được xây dựngdựa trên “người tiền nhiệm” Nagios, Icinga giữ lạinhững tính năng hiện có và phát triển thêm những tính năng mới để phục vụngày càng tốt hơn, hỗ trợ giám sát các hệ thống mạng.Việc triển khai hệthống dựa trên mô hình thực sự là điều rất khó vì lý do bảo mật của hệthống Thay vào đó, đề tài sẽ triển khai một mô hìnhthử nghiệmsử dụng môitrưởng ảo hóa
Nội dung báo cáo nhóm gồm các phần chính:
Chương 1 Nghiên cứu tổng quan giám sát mạng
Chương 2 Nghiên cứu phần mềm Icinga
Chương 3 Triển khai thử nghiệm phần mềm Icinga
Trang 11CHƯƠNG 1: NGHIÊN CỨUTỔNG QUAN GIÁM SÁT MẠNG
Dựa trên cách thức tổ chức mạng máy tính, hệ thống mạng gồm 02
mô hình chính: Mô hình mạng Workgroup và mô hình mạng Domain
1.1.1 Mô hình mạngWorkgroup
Mô hình mạng Workgroup là một nhóm máy tính mạng cùng chia sẻtài nguyên như tệp dữ liệu, máy in.Nó là một nhóm lôgíc của các máy tính
mà tất cả chúng có cùng tên nhóm Có thể có nhiều nhóm làm việc khácnhau cùng kết nối trên một mạng cục bộ (LAN)
Ư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êucầ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 (≤ 10má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êntất cả các máy tính trong Workgroup, nếu người quản trị quên bổ sung tàikhoả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êncủa máy tính đó; việc chia sẻ thiết bị và tệp được xử lý bởi các máy tínhriê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.2Mô hình mạngDomain
Trang 12Mô 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ệuchứ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; Domaincung cấp quy trình đăng nhập đơn giản để người dùng truy xuất các tàinguyê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ườidùng tham gia vào nó.Việc tham gia vào Domain luôn yêu cầu người quảntrị 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ườidùng có thể khởi tạo tài khoản máy tính của mình trong quá trình cài đặt
1.2 Nghiên cứu về giám sátmạng
Giám sát mạng là sử dụng phần mềm quản lý chuyên dụng để quản
lý tất cả các tài nguyên trong mạng nhằm duy trì và đảm bảo hoạt động chotoàn bộ hệ thống mạng, cho phép quản trị mạng chủ động phát hiện các sự
cố về đường truyền và dịch vụ mạng.Hệ thống giám sát mạng thường đượcxây dựng ở các công ty có quy mô vừa và lớn khi có nhu cầu kiểm tra quản
lý hệ thống của họ
Hiện nay, trên thị trường có rất nhiều phần mềm hỗ trợ tốt cho việcgiám sát mạng, mỗi phần mềm đều có những ưu điểm riêng.Tùy vào nhucầu giám sát và quy mô của doanh nghiệp mà người quản trị có thể lựa chọncho 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ồmhai 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 NodeManager, SolarWinds, CiscoWorks…
Trang 13+ 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ácphầ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átphổ biến hiện nay:
Hình 1.1 Bảng so sánh các tính nă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 doanhnghiệp mà người người quản trị sẽ quyết định sử dụng phần mềm phù hợpvới hệ thống giám sát của mình
Trang 14CHƯƠNG 2: NGHIÊN CỨU PHẦN MỀM ICINGA
2.1 Tổng quanvà lịch sử hình thànhIcinga
2.1.1 Tổng quan vềIcinga
Phần mềm Icinga là một hệ thống mã nguồn mở có chức năng giámsát hệ thống mạng, các máy chủ, các dịch vụ, thông báo tới người dùng khi
hệ thống có sự cố và đưa ra các báo cáo kịp thời Tháng 5 năm 2009, Phầnmềm Icinga ra mắt phiên bản đầu tiên dựa trên mã nguồn được phát triển từ
hệ thống giám sát Nagios Thừa hưởng các tính năng quan trọng của “Ngườitiền nhiệm” Nagios, vì vậy nó tương thích hoàn toàn với các phần mềm hỗtrợ của Nagios Đồng thời, phần mềm cũng cung cấp rất nhiều tính năng tùybiến mới, trong đó phải kể đến như giao diện người dùng Web 2.0, hỗ trợcác hệ quản trị cơ sở dữ liệ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ồmFedora, Ubuntu và OpenSuSE) cũng như một số các nền tảng của Unix(Solaris vàHP)
2.1.2 Một số điểm nổi bật trong quá trình hình thành và phát triển của Icinga
- Tháng 5 năm 2009, ra mắt phiên bản đầu tiên của Icinga, cung cấp phầnnhân, hàm API và giao diện web Phiên bản đầu tiên đạt mốc 10.000 lượt tải vềtrong năm đó
- Năm 2010, ra mắt phiên bản mới, hỗ trợ chuẩn IpV4 và IpV6, cung cấp cáctùy biến để truy cập cơ sở dữ liệu, cải thiện giao diện người dùng và một số phầnmềm hỗ trợ khác Phiên bản mới đạt mốc 70.000 lượt tảivề
- Năm 2011, ra mắt phiên bản mới, cung cấp nhiều hàm API hơn để hỗ trợngười dùng Cũng trong năm này, Icinga kỷ niệm đạt mốc 100.000 lượt tảivề
Năm 2012, ra mắt phiên bản thử nghiệm Icinga 2, khắc phục nhữnghạn chế về cấu hình và khả năng mở rộng của Icinga khi triển khai hệthốnglớn
Tháng 6 năm 2014, ra mắt phiên bản chính thức của Icinga 2 với rấtnhiều các tính năng mới và giao diện web theo thiết kế phẳng và tươngthích với thiết bị diđộng
Trang 15Ư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ànhLinux.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ủaNagios
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ị
2.1.3Các chức năng chính của phần mềmIcinga
- Giám sát hệ thống mạng (SMTP, POP3, HTTP, NNTP,PING,…)
- Giám sát tài nguyên của máy chủ (Tốc độ xử lý của CPU, khả năng sử dụngcủa ổ đĩa…)
- Giám sát cảc thành phần của hệ thống mạng (Thiết bị chuyển mạch, thiết bịđịnh tuyến, nhiệt độ, độẩm…)
- Các phần mềm hỗ trợ được thiết kế đơn giản và cho phép người dùng có thểdễ dàng phát triển các dịch vụ để kiểm tra hệthống
- Cung cấp các hàm API để người quản trị có thể dễ dàng tùy biến phát triển
mà không cần tác động nhiều đến phần nhân củaIcinga;
- Khả năng kiểm tra, giám sát nhiều dịch vụ cùng mộtlúc
- Khả năng định nghĩa các máy chủ thành một mạng máy tính, phát hiệnđược máy chủ đang gặp sự cố hay không thể truycập
- Thông báo đến danh sách quản trị viên khi máy chủ hay dịch vụ gặp sự cốthông qua nhiều kênh thông tin như (Thư điện tử, tin nhắn điệnthoại…)
- Tự động lưu trữ thông tin vào tệp nhật ký (Filelog)
- Cung cấp tùy chọn Giao diện web cổ điển cho phép hiển thị các thông tinnhư tình trạng của mạng, các thông báo, danh sách lịch sử các sự cố, tệp nhậtký…
- Cung cấp tùy chọn Giao diện web mới sử dụng giao diện hiện đại của Web2.0 để hiện thị trạng thái, thông tin lịch sử, sử dụng các bộ lọc thông tin mới, và hỗtrợ tạo các báo cáo, hỗ trợ đa ngônngữ
- Chức năng báo cáo của Icinga được xây dựng dựa trên phần mềm JasperReports hỗ trợ cả hai giao diện Icinga web cổ điển và Giao diện Icinga webmới
2.2 Kiến trúc Icinga
Trang 16Hệ thống Icinga gồm ba phần chính: phần nhân Icinga, giaodiệnIcinga web và báo cáo Icinga.
Hình 2.1 Các thành phần của Icinga
Hình 2.2.Sơ đồ liên kết giữa các thành phần của Icinga
2.2.1Phần nhânIcinga
Trang 17Phần nhân Icinga (Icinga Core) được viết bằng ngôn ngữ lập trình Cvới một kiến trúc độc lập giữa phần nhân, giao diện người dùng và cơ sở dữliệu.Với kiến trúc này, người dùng có thể dễ dàng tích hợp các tiện ích vàứng dụng của mình.
Hình 2.3 Mô hình liên kết giữa các thành phần của Icinga
Phần nhân của Icinga có nhiệm vụ giám sát, tiếp nhận các kết quả từphần mềm hỗ trợ (Plugins) Sau đó, các kết quả này sẽ được gửi đến cơ sở
dữ liệu ngoài của Icinga (IDODB – Icinga Data Out Database) thông quagiao diện mô-đun ngoài của Icinga (IDOMOD – Icinga Data Out Module)
và Dịch vụ dữ liệu bên ngoài đến Cơ sở dữ liệu của Icinga (IDO2DB –Icinga Data Out to Database bằng mã hóa SSL và giao thức TCP) CảIDOMOD và IDO2DB đều được đóng gói trong gói phần mềm làIDOUtils.Các thành phần này sẽ làm việc hoàn toàn độc lập để giúp choviệc phân chia dữ liệu cũng như hoạt động giám sát nhiều máy chủ cùngmột lúc
2.2.2 Phần Giao diệnIcinga
Phần mềm Icinga (Icinga Web) có hai giao diện Web chính để người
sử dụng có thể theo dõi được các kết quả giám sát và gửi các câu lệnh đếnnhânIcinga
2.3.1 Giao diện Web cổ điển (Icinga Classic) là một phiên bản dựa trên giao diệncủa phần mềm Nagios Phần mềm Icinga vẫn tiếp tục thêm các chức năng mới nhưđánh số trang, chuẩn dữ liệu đầu ra JSON và kiểu xuất dữ liệu CSV Đây là giaodiện người dùng được đóng gói sẵn với nhân của Icinga Giao diện người dùng cổ
Trang 18điển Icinga này tiếp nhận dữ liệu thông qua bộ nhớ đệm (cache) và gửi tập lệnh đếntệp tậplệnh.
2.3.2 Giao diện Icinga web là được xây dựng trên mô hình web 03 lớp Agavi và sửdụng ngôn ngữ PHP Phần giao diện người dùng lấy cảm hứng từ nền tảng web 2.0với giao diện phẳng và sử dụng phương thức kéo thả để tùy biến bảng điều khiển.Khác với phiên bản Icinga Web cổ điển, phiên bản Icinga web được xây dựng mớihoàn toàn so với phiên bản tiền nhiệm Nó giao tiếp với phần nhân, dữ liệu và cácứng dụng bên thứ ba thông qua lớp thành phần như: Lớp Doctrine (một loại thưviện PHP cung cấp các hàm dịch vụ và hàm quan hệ), các hàm giao tiếp dịch vụAPI (REST API) và giao diện điều khiển các tập lệnh (Command ControlInterface)
Cả hai giao diện này đều hiển thị các thông tin về trạng thái hoạtđộng của các máy chủ, dịch vụ, thông tin lịch sử, các thông báo, sơ đồ trạngthái hiển thị tình trạng của mạng theo thời gian thực Đồng thời cả hai đều
hỗ trợ tốt các chuẩn Ipv4 và Ipv6
Cơ sở dữ liệu của Icinga là nơi lưu trữ các dữ liệu lịch sử giám sát của cácphần mềm hỗ trợ và các truy cập từ giao diện Icinga Web.Khác với người tiềnnhiệm Nagios, Icinga hỗ trợ nhiều hệ quản trị cơ sở dữ liệu phổ biến như MySQL,Oracle và PostgreSQL
Phần giao diện dành cho thiết bị di động của Icinga (Icinga Mobile) là giaodiện người dùng dành cho các trình duyệt trên điện thoại thông minh hay máy tínhbảng Ứng dụng này hoàn toàn tương thích với các hệ điều hành di động phổ biếnhiện nay như iOS, Android, BlackBerry OS và Web OS Người quản trị có thể cậpnhật trực tiếp các tính năng và hệ thống sẽ tự đồng bộ áp dụng cho tất cả ngườidùng thuộc mạng máy tínhđó
2.3 Phần Báo cáoIcinga
Phần mềm Icingacung cấp một tùy chọn chức năng báo cáo Icinga(Icinga Report).Chức năng báo cáo Icinga dựa trên phần mềm báo cáo mãnguồn mở Jesper Chức năng này được tích hợp trong cả giao diện Icingaweb cổ điển và giao diện Icinga web và được hiển thị trên cả hai giaodiệnnày
2.3.1 Phương thức giám sát của Icinga
Icinga có 02 phương thức giám sát chính để kiểm tra dịch vụ nhưsau:
Trang 19-Giám sát trực tiếp các dịch vụ hoạt động trực tuyến côngkhai.
-Giám sát gián tiếp các dịch vụ thông qua các phần mềm tích hợpđược cài đặt trên máy chủ từ xa
Hình 2.4 Hai phương thức giám sát các máy chủ của Icinga
Trang 20Phương thức 1: Giám sát trực tiếp các dịch vụ hoạt động trực tuyến
công khai
Các dịch vụ trực tuyến công khai là các dịch vụ được truy cập từ các mạngnội bộ hay từ Internet.Các dịch vụ này bao gồm HTTP, Mail, SSH và ICMPPing.Phương thức này rất hữu ích trong việc giám sát hệ thống khi người dùngkhông muốn cài đặt một phần mềm trên máy chủ cần giám sát và cho phép giám sátngay trên giao diện web
Phương thức 2: Giám sát gián tiếp các dịch vụ thông qua các phần mềm tích hợp được cài đặt trên máy chủ từxa.
Đối với phương thức Giám sát gián tiếp các dịch vụ, người dùng cần cài đặtphần mềm hỗ trợ như NRPE (Với máy chủ Linux) và NSClient++ (Với máy chủWindows) để truy cập máy chủ từ xa và giám sát các tài nguyên trên máy chủ.Phương pháp này cho phép Icinga có thể giám sát các thông tin như việc sử dụng ổđĩa cứng, các tiến trình đang chạy, và các thông tin thống kê và các thông tin kháccủa hệ thống Điều này hoàn toàn không thể thực hiện được ở phương thức1
Hình 2.5 Giám sát các máy chủ cài đặt hệ điều hành Linux
Hình 2.6 Giám sát các máy chủ cài đặt hệ điều hành Windows
Hai bộ phận này sẽ trợ giúp việc thực thi các phần mềm hỗ trợ được cài đặttrên máy/thiết bị được giám sát Khi nhận được truy vấn từ máy chủ Icinga thì hai
bộ phận đó sẽ gọi các phần mềm hỗ trợcục bộ phù hợp trên host này, thực hiện kiểmtra và trả kết quả về cho máy chủ Icinga Phương pháp này không đòi hỏi tài khoảntruy cập máy chủ được giám sát Tuy nhiên, các phần mềm hỗ trợ phục vụ giámsát phải được cài đặt trên máy chủ được giám sát NRPE và NSClient++ có thể thựcthi được tất cả các loại phần mềm hỗ trợ giám sát Icinga có thể điều khiển máy chủcài NRPE và NSClient++, kiểm tra các thông số phần cứng, các tài nguyên, tình
Trang 21trạng hoạt động của máy đó và sử dụng NRPE, NSClient++ để thực thi các phầnmềm hỗ trợ 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…
cố máy in như kẹt giấy, hết giấy, máy in không hoạt động, hết mực…
Hình 2.7 Giám sát các thiết bị Máy in
Việc giám sát trạng thái máy in qua mạng trở nên đơn giản hơn Chức năngSNMP sẽ được kích hoạt và cho phép phần mềm giám sát Icinga có thể kiểm tratrạng thái thông qua phần mềm hỗ trợ check_hpjd
- Giám sát các thiết bị định tuyến và thiết bị chuyển mạch thông qua phần mềm hỗ trợ check_snmp và check_mrtgtraf
Nhiều loại thiết bị chuyển mạch và thiết bị định tuyến giá rẻ thường không
có địa chỉ IP vì vậy nó thường ẩn trong mạng máy tính và không có cách nào quản
lý chúng Với những loại thiết bị định tuyến và thiết bị chuyển mạch đắt tiền hơn,chúng có địa chỉ IP thì việc quản lý sẽ thông qua Ping và sử dụng SNMP để truyxuất thông tin trạng thái củachúng
Hình 2.8 Giám sát các thiết bịđịnh tuyến và thiết bị chuyển mạch
Việc giám sát các thiết bị định tuyến và thiết bị chuyển mạch sẽ trở nên dễdàng hay phức tạp hơn phụ thuộc vào việc hệ thống được trang bị thế nào và người
Trang 22quản trị giám sát ra sao Nếu như đó là một cơ sở hạ tầng không tốt, người quản trị
sẽ chỉ muốn giám sát chúng bằng một vài cách quản lý cơbản
Các thiết bị định tuyến và thiết bị chuyển mạch có thể được giám sát dễ dàngthông qua việc “Ping” chúng để xác định các gói dữ liệu bị mất Nếu các thiết bịchuyển mạch có hỗ trợ SNMP, người quản trị có thể giám sát các trạng thái củacổng với phần mềm hỗ trợ check_snmp và băng thông với phần mềm hỗ trợcheck_mrtgtraf
2.4 Cấu hìnhIcinga
2.4.1 Tên các tệp cấuhình
Tên và vị trí các tệp cấu hình thường là icinga.cfg, resource.cfg và cgi.cfgnằm trong thư mục chính chứa các tệp cấu hình là /etc/icinga/ Trong khi đó, tên cáctệp định nghĩa đối tượng thường là contacts.cfg, command.cfg, timeperiods.cfg,notificatioin.cfg.Các tệp liên quan đến phần cứng thường là printer.cfg,switch.cfg.Và một loại để mô tả đối tượng nằm trong tệp localhost_icinga.cfg.Nếutrong quá trình cài đặt mà thiếu một trong các tệp này thì người dùng cũng khôngnên lo lắng Việc sử dụng các công cụ cấu hình trên nền web, một đoạn mã khởi tạo
cơ sở dữ liệu và chỉnh sửa các tệp trên công cụ biên tập để tạo các tệp trong các thưmục riêng biệt mới là điều cần quan tâmnhất
Hình 2.9.Sơ đồ tổng quan cấu hình phần mềm
2.4.2 Các tệp cấu hìnhchính
Trang 23Các tệp cấu hình chính (Main config file) chứa một số các chỉ thị ảnh hưởngđến việc tổ chức các dịch vụ của Icinga (Icinga daemon) và khả năng liên kết đếnnhững tệp khác Tệp cấu hình chính này sẽ được đọc bởi các dịch vụ của Icinga vàCGIs.Đây là nơi mà người dùng mới muốn cấu hình đầu tiên khi tiếp cận Icinga.Tệp cấu hình chính thường có tên là icinga.cfg và nằm trong thư mục /etc/icinga/.
2.4.3 Các tệp tàinguyên
Các tệp tài nguyên (Resource file) được sử dụng trọng việc lưu trữ các kho
mà người dùng tự định nghĩa Điểm chính của việc xuất hiện các tệp tài nguyên làviệc sử dụng chúng để lưu trữ các thông tin cấu hình nhạy cảm (như mật khẩu,…)
và CGIs không thể truy xuất được các thông tin này
2.4.4 Cáctệpđịnhnghĩađốitượng
Các tệp định nghĩa đối tượng (Object Definition Files) được sử dụng để địnhnghĩa các máy chủ, các dịch vụ, các nhóm máy chủ, các thông tin liên hệ, nhómthông tin liên hệ, các tập lệnh… Đây là nơi người dùng có thể định nghĩa mọi thứ
để phục vụ cho việc giámsát
Người dùng có thể chỉ định một hay nhiều tệp định nghĩa đối tượng bằngviệc sử dụng các chỉ thị cfg_file và cfg_dir trong tệp cấu hình chính của mình Tuynhiên chỉ nên dùng 1 trong 2 chỉ thị trên khi cấu hình tệp
Một tệp định nghĩa đối tượng có thể bao gồm các các tệp đối tượng định
nghĩa khác bằng việc sử dụng chỉ thị include_file=<tên_tệp> và include_ dir=<tên_thư_mục> Việc chuẩn hóa bao gồm các tệp đã được xác định, sau đó sẽ
xử lý tất cả các tệp có phần mở rộng là cfg ở trong một thư mục xác định Các thưmục này sẽ được lập lại để bao gồm nhiều tệp và thưmục
Các chỉ thị này không được nằm trong các định nghĩa cụ thể của đối tượng
mà cần xuất hiện trước, sau hoặc giữa các định nghĩa đối tượng Các chỉ thị này cómối liên quan chặt chẽ tới chỉ thị cfg_file= và cfg_dir= trong tệp cấu hình chính
Một số định nghĩa đối tượng chính:
- Định nghĩa máy chủ (Host): là một trong những đối tượng trung tâm của
giám sát Đối tượng của máy chủ bao gồm:
+ Máy chủ thường là các thiết bị vật lý trên mạng như: máy chủ, thiết bị địnhtuyến và thiết bị chuyển mạch, Máy in…;
Trang 24+ Máy chủ có địa chỉ xác định (IP hoặc MAC);
+ Máy chủ thường có ít nhất một dịch vụ liên quan đến nó;
+ Các máy chủ có thể có mối quan hệ cha/con với các máy chủ khác, vàthường đại diện cho một mạng kết nối thực tế
- Định nghĩa Nhóm máy chủ (Host Groups): là một nhóm hoặc nhiều nhóm
máy chủ Việc nhóm các máy chủ giúp cho việc xem các trạng thái của các máy chủliên quan trên giao diện Icinga web trở nên dễ dàng hơn và đơn giản hóa việc cấuhình để định nghĩa các đối tượng
-Định nghĩa dịch vụ (Services): là một trong những đối tượng trung tâm của
giám sát Dịch vụ sẽ được liên kết với máy chủ và bao gồm:
+ Các thuộc tính của một máy chủ (tốc độ tải của CPU, sử dụng ổ đĩacứng…)
+ Các dịch vụ được cung cấp của máy chủ (HTTP, POP3, FTP, SSH…)+ Các liên kết khác với máy chủ (Các bản ghi DNS…)
- Định nghĩa Nhóm dịch vụ (Service Group): Là nhóm của một hoặc nhiều
dịch vụ Việc nhóm các dịch vụ giúp cho việc xem các trạng thái của các dịch vụliên quan trên giao diện Icinga web trở nên dễ dàng hơn và đơn giản hóa việc cấuhình để định nghĩa các đối tượng
Trang 25- Định nghĩa danh bạ (Contacts): là những người được tham gia trong quá
trình xử lý thông báo
+ Danh bạ gồm một hoặc nhiều hình thức thông báo (như qua điện thoại,báo, thư điện tử, tin nhắn…)
+ Danh bạ chịu trách nhiệm tiếp nhận các thông báo từ máy chủ và dịch vụ
- Định nghĩa Nhóm danh bạ (Contact Group): Là nhóm của một hoặc nhiều
danh bạ.Việc nhóm các danh bạ giúp cho việc định nghĩa tất cả người cần nhậnthông báo khi một máy chủ hoặc dịch vụ gặp sự cố trở nên dễ dàng hơn
- Định nghĩa giai đoạn thời gian (Timeperiods): Giai đoạn thời gianđược sử
dụng để điều chỉnh thời gian giám sát các máy chủ, các dịch vụ và khi danh bạ nhậnđược thôngbáo
- Định nghĩa lệnh (Command):Bao gồm các chương trình và đoạn mã lệnh để
thực thi việc kiểm tra máy chủ, dịch vụ, các thông báo, các sự kiện cần xử lý và gửichúng cho Icinga
2.4.5 Các tệp cấu hìnhCGI
Tệp cấu hình CGI (CGI Configuration Files) chứa một số chỉ thị ảnh hưởngđến cách tổ chức của CGIs (Classic UI modules) Nó chứa một nội dung để gửi đếntệp cấu hình chính để CGIs có thể biết được khi người dùng cấu hình và nơi ngườidùng định nghĩa các đối tượng được lưu trữ Mặc định, tệp cấu hình CGI được lấytên là cgi.cfg và nằm cùng thư mục với tệp cấu hình chính
2.5 Các vấn đề liên quan khác đếnIcinga
2.5.1 Các phần mềm hỗ trợIcinga
Không giống như các công cụ giám sát khác, Icinga không bao gồm bất cứmột cơ chế nội bộ nào để kiểm tra trạng thái của các máy chủ và các dịch vụ trongmạng.Thay vào đó, Icinga sẽ dựa vào các chương trình ngoài (gọi là các phần mềm
hỗ trợ - Icinga Plugins) để thực hiệncác công việc đó