Tải bản đầy đủ (.docx) (48 trang)

BC thực tập: 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.43 MB, 48 trang )

TRƯỜ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
Sinh Viên Thực Hiện

: Viện Công nghệ Thông tin
: Nguyễn Xuân Đức

Lớp

: ĐH3C1

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

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
1



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
Sinh Viên Thực Hiện

: Viện Công nghệ Thông tin
: Nguyễn Xuân Đức

Lớp

: ĐH3C1

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

LỜI CẢM ƠN
2



Để 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ôi
trườ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ông
nghệ 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ốt
quá 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ện
Công nghệ thông tin đã giúp đỡ, cung cấp những số liệu thực tế để em hoàn thành
tố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êu
thí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ện
chuyê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
3


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 vi
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ố 246/CP ngày 27/12/1976 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ố 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ủ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.
4





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


5


MỤC LỤC

6


DANH MỤC HÌNH

7


MỞ ĐẦU
Ngày nay, công nghệ thông tin của Việt Nam đang ngày càng phát triển
mạnh mẽ. Ở các cơ quan nhà nước hay các tổ chức doanh nghiệp, công nghệ thông
tin ngày càng được chú trọng và quan tâm nhiều hơn. Song song vớ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ác dịch vụ cungcấp.
Được xây dựngdựa trên “người tiền nhiệm” Nagios, Icinga giữ lại nhữ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ôi trưở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

8


CHƯƠNG 1: NGHIÊN CỨUTỔNG QUAN GIÁM SÁT MẠNG
1.1 Nghiên cứu về hệ thốngmạng
Mạng máy tính hay hệ thống mạng 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 trao đổi
thông tin qua lại vớinhau.
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ác nhau 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ê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
xử 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.2Mô hình mạngDomain
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

9


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 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 cho toà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 được xâ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ệ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, CiscoWorks…
+ 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:
10


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 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.

11


CHƯƠNG 2: NGHIÊN CỨU PHẦN MỀM ICINGA
2.1 Tổng quanvà lich 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ám sá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ần mề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ười tiề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ùy biế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ồm
Fedora, 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ần nhâ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ác tù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ần mề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ững hạ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ất nhiều
các tính năng mới và giao diện web theo thiết kế phẳng và tương thích với thiết bị
diđộng.
Ư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

12


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ụng củ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 tin như 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 Web 2.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 Jasper Reports 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
Hệ thống Icinga gồm ba phần chính: phần nhân Icinga, giao diệnIcinga web
và báo cáo Icinga.

13



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
Phần nhân Icinga (Icinga Core) được viết bằng ngôn ngữ lập trình C vớ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.
14


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 qua giao 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 cho
việc phân chia dữ liệu cũng như hoạt động giám sát nhiều máy chủ cùng mộ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 đến nhâ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ện củ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à giao diệ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ổ đ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 đến tệ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.0 vớ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ới hoà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
15


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ạng thá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ác
phần mềm hỗ trợ và các truy cập từ giao diện Icinga Web.Khác với người tiền
nhiệ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à giao
diệ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ính
bả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ến
hiện nay như iOS, Android, BlackBerry OS và Web OS. Người quản trị có thể cập
nhậ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ười
dù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 Icinga web cổ điển và giao diện
Icinga web và được hiển thị trên cả hai giao diệ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:
-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
16


Phươ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ạng
nội bộ hay từ Internet.Các dịch vụ này bao gồm HTTP, Mail, SSH và ICMP
Ping.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ùng
khô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át
ngay 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 đặt
phầ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ác
củ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 đặt
trê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ểm
tra 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ản
truy 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ám sát
phải được cài đặt trên máy chủ được giám sát. NRPE và NSClient++ có thể thực thi
đượ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 trạng
17


hoạt động của máy đó và sử dụng NRPE, NSClient++ để thực thi các phần mề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ác phương thức giám sát khác:
- Giám sát các thiết bị máy in thông qua phần mềm hỗ trợ check_hpjd
(SNMP)
Phần mềm hỗ trợ check_hpjd cho phép người dùng có thể giám sát trạng thái
của máy in thông qua dịch vụ SNMP. Phần mềm này có khả năng phát hiện các sự
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ăng
SNMP sẽ được kích hoạt và cho phép phần mềm giám sát Icinga có thể kiểm tra
trạ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 để truy
xuấ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

18


quả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àng
thô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ủa
cổ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.cfg
nằ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ác
tệ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ếu
trong 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ông
nê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
19


Cá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 đến
nhữ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đinhnghĩađốitượng
Các tệp định nghĩa đối tượng (Object Definition Files) được sử dụng để định
nghĩ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óm
thô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ằng
việ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. Tuy
nhiê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ị định
tuyến và thiết bị chuyển mạch, Máy in…;
20


+ 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ấu
hì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 ổ đĩa
cứ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ấu

hình để định nghĩa các đối tượng.

21


- Đị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ận
thô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ửi
chú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 đến
tệ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ười
dù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ấy
tê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ụ trong

mạ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 đó.
22


Phần mềm hỗ trợ là các câu lệnh được biên soạn hay các đoạn mã (như đoạn
mã Perl, các đoạn mã shell…) được thực thi để kiểm tra trạng thái của máy chủ
hoặc dịch vụ. Icinga sử dụng các kết quả của phần mềm hỗ trợ này để xác định
trạng thái hiện tại của các máy chủ và các dịch vụ trong mạng.
Icinga sẽ thực thi mộtphần mềm hỗ trợ khi cần để kiểm tra trạng thái của
dịch vụ hay máy chủ. Các phần mềm hỗ trợ này sẽ thực hiện nhiệm vụ của mình để
kiểm tra và sau đó trả lại kết quả cho Icinga. Icinga sẽ xử lý các kết quả vừa nhận
được từ phần mềm hỗ trợ và thực hiện các thao tác cần thiết (Chạy các sự kiện xử
lý, gửi các thông báo…).
Các phần mềm hoạt động như một lớp trừu tượng giữa Giám sát Lô-gíc hiện
tại trong các dịch vụ của Icinga và các dịch vụ, các máy chủ thực tế đang được giám
sát

Hình 2.10. Vị trí của các phần mềm hỗ trợ Icinga
Ưu điểm:Phần mềm hỗ trợ giúp cho người sử dụng có thể giám sát bất cứ
thứ gì mà họ có thể nghĩ đến. Nếu người dùng cần tự động hóa trong việc giám sát
một thứ gì đó, người dùng có thể giám sát nó với Icinga. Hiện nay có rất nhiều các
phần mềm hỗ trợ được tạo ra để giám sát các tài nguyên cơ bản như tốc độ tải của vi
xử lý, sử dụng ổ đĩa cứng, hay tỷ lệ Ping. Nếu người dùng muốn giám sát một thứ gì
đó, người dùng có thể tự tìm kiếm và cài đặt phần mềm hỗ trợ đó.
Nhược điểm: Phần mềm hỗ trợ Icinga sẽ không giúp Icinga hiểu được đối
tượng mà người dùng đang giám sát. Người dùng có thể giám sát thống kê băng
thông của mạng, tỷ lệ dữ liệu lỗi, nhiệt độ của phòng, số Vôn của vi xử lý, tốc độ
23



quạt gió, tốc độ tải của vi xử lý… Nhưng Icinga sẽ không hiểu được chi tiết cụ thể
của việc giám sát này là gì.Chỉ có chính phần mềm hỗ trợ đó mới hiểu được chính
xác thứ mà chúng đang giám sát và làm cách nào để thực hiện các hành động kiểm
tra thực tế.
Hiện nay có rất nhiều phần mềm hỗ trợ dành cho các thiết bị và dịch vụ khác
nhau phục vụ cho việc giám sát, bao gồm:
+ Hỗ trợ các chuẩn HTTP, POP3, IMAP, FTP, SSH, DHCP;
+ Tốc độ tải vi xử lý, sử dụng ổ đĩa cứng, sử dụng bộ nhớ, số người dùng
hiện tại;
+ Hỗ trợ các hệ điều hành Unix/Linux, Windows và Netware Servers;
+ Hỗ trợ các thiết bị định tuyến và thiết bị chuyển mạch;
2.5.2Các lệnh thực thi củaIcinga
Một trong những chức năng chính làm cho Icinga trở nên linh hoạt hơn là
khả năng sử dụng các lệnh thực thi (Macros) trong định nghĩa các tập lệnh.Lệnh
thực thi cho phép người dùng tham khảo các thông tin từ các máy chủ, dịch vụ hay
các tài nguyên khác bằng việc sử dụng các câu lệnh.
Trước khi Icinga thực thi một câu lệnh, nó sẽ thay đổi bất cứ một lệnh thực
thi nào mà nó tìm thấy trong định nghĩa tập lệnh cùng với giá trị tương ứng của
nó.Các lệnh thực thi này sẽ thay thế cho tất cả các tập lệnh mà Icinga thực thi như
kiểm tra máy chủ, các dịch vụ, thông báo và xử lý sự kiện.Các lệnh thực thi có thể
chứa các lệnh thực thi khác.
2.5.3Các hàm mởrộng
Icinga tương thích với tất cả các phần mềm hỗ trợ và phần mềm tích hợp
được viết cho Nagios, đặc biệt là đối với những người dùng sử dụng giao diện
Icinga web cổ điển. Các phần mềm tích hợp để mở rộng các hàm của Icinga bao
gồm:
Các

chương


trình

về

hiệu

suất

đồ

họa

như

PNP4Nagios,

NagiosGrapher,InGraph.
Công cụ để cấu hình trên giao diện như Nconf, NagiosQL,Lconf.
Các chức năng giám sát xử lý nghiệpvụ
Công cụ hỗ trợ giám sát mạng trực quan (NagVis,Nagmap)
24


Công cụ hỗ trợ giám sát mạng sử dụng máy chủ Windows (NSClient+
+,Cygwin)
Công cụ hỗ trợ giám sát, quản lý các thành phần cơ bản của giao thức mạng
(Thiết bị định tuyến, thiết bi chuyển mạch, Mô - đem.Máy in) như SNMPTT,
NagTrap.
2.5.4 Xác đinh trạng thái và khả năng kết nối của mạng máychủ

Với vai trò là người quản trị hệ thống và hỗ trợ kỹ thuật, người quản trị sẽ
tiếp nhận các yêu cầu xử lý từ người sử dụng (như xảy ra lỗi như kết nối mạng).
Khi đó, người quản trị sẽ bắt đầu tìm kiếm vấn đề. Có thể do người dùng đã tắt chức
năng nào đó, hoặc dây mạng không được cắm, hay có thể do các thiết bị định tuyến
và thiết bị chuyển mạch đã bị tắt. Dù là vấn đề nào, một trong những điều chắn chắn
là Internet vẫn hoạt động bình thường.Và vấn đề xảy ra có thể là ở phía người
sửdụng.
Icinga sẽ xác định được các máy chủ đang được giám sát ở trạng thái tắt hay
trạng thái không kết nối được. Có rất nhiều trạng thái khác nhau và giúp người quản
trị có thể nhanh chóng xác định được nguồn gốc gây ra vấn đề về mạng. Vấn đề ở
đây là cần phân biệt trạng thái kết nối giữa hai trạng thái.Ở một sơ đồ hệ thống
mạng cơ bản như hình dướiđây:

Hình 2.11.Sơ đồ hệ thống kết nối mạng cơ bản
Người quản trị phải giám sát tất cả hệ thống bao gồm (Máy chủ, thiết bị định
tuyến và thiết bị chuyển mạch).Trong hệ thống máy chủ đã được cài đặt Icinga.
Xác định mối quan hệ cha con
25


×