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

nghiên cứu giám sát mạng bằng phần mềm mã nguồn mở nagios

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.26 MB, 46 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 CHUYÊN ĐỀ THỰC TẬP TỐT NGHIỆP
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 MA
NGUỒN MỞ NAGIOS
Địa điểm thực tập

: Viện Công Nghệ Thông Tin-Viện Hàn Lâm
Khoa Học Và Công Nghệ Việt Nam
Người hướng dẫn
: T.S Nguyễn Việt Anh
Đơn vị công tác
: Phòng Khoa Học Dữ Liệu-Viện Công Nghệ
Thông Tin-Viện Hàn Lâm Khoa Học Và Công
Nghệ Việt Nam
Sinh viên thực hiện
: Trịnh Thùy Linh
Đơn vị học tập
: Khoa Công nghệ thông tin – Đại học Tài nguyên
và Môi trường Hà Nội

Hà Nội, tháng 4 năm 2016


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 CHUYÊN ĐỀ THỰC TẬP TỐT NGHIỆP
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 MA NGUỒN MỞ
NAGIOS

Địa điểm thực tập : Viện Công Nghệ Thông Tin-Viện Hàn Lâm
Khoa Học Và Công Nghệ Việt Nam
Người hướng dẫn : T.S Nguyễn Việt Anh
Đơn vị công tác
: Phòng Khoa Học Dữ Liệu-Viện Công Nghệ Thông
Tin-Viện Hàn Lâm Khoa Học Và Công Nghệ Việt Nam

Người hướng dẫn

Sinh viên thực hiện
Trịnh Thùy Linh

Hà nội, tháng 4 năm 2016


LỜI CẢM ƠN
Sau thời gian nghiên cứu, học tập tại Phòng Công Nghệ Thông Tin-Viện Công
Nghệ Thông Tin-Viện Hàn Lâm Khoa Học, lời đầu tiên em xin chân thành cảm ơn đến
sự giúp đỡ quý báu của các thầy cô giáo trong viện đã tạo điều kiện cho em có một môi
trường học tập thoải mái đặc biệt là sự hướng dẫn tận tình của Ts.Nguyễn Việt Anh là
người hướng dẫn em trong suốt quá trình hoàn thành bài báo cáo thực tập tốt nghiệp
này.
Em xin chân thành cảm ơn các thầy cô 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 đã đào tạo, truyền đạt cho em những kiến

thức và kinh nghiệm trong lĩnh vực công nghệ thông tin nói riêng và những kiến thức
khác nói chung để em có được những kiến thức tổng hợp trước khi ra trường.
Trong thời gian thực tập có hạn, cũng như kinh nghiệm còn hạn chế của em nên
trong bài báo cáo thực tập tốt nghiệp này không tránh khỏi những thiếu sót, hạn chế
nhất định. Vì vậy em rất mong nhận được sự chỉ bảo, đóng góp ý kiến của các thầy cô
cùng toàn thể các bạn để em có điều kiện bổ sung, nâng cao kiến thức của mình để em
có thể phục vụ tốt hơn cho công việc thực tế sau này.
Em xin chân thành cảm ơn!


MỞ ĐẦU
1. Lý do chọn chuyên đề thực tập
Ngày nay mạng máy tính đã trở thành một cơ sở hạ tầng rất quan trọng của tất cả
các cơ quan, trường học. Nó đã trở thành một kênh trao đổi thông tin không thể thiếu
được trong thời đại công nghệ thông tin vì lợi ích mà nó đem lại là rất lớn, nó đóng
góp một phần rất quan trọng trong việc phát triển kinh tế xã hội đất nước. Mọi cơ quan
doanh nghiệp ngày càng phát triển phạm vi lớn mạnh với qui mô ngày càng phức tạp,
do đó việc sử dụng các phần mềm quản lý mạng sẽ hỗ trợ rất tốt cho việc quản lý giám
sát mạng vì vậy chúng ta rất cần đến hệ thống giám sát, quản trị mạng hiệu quả.
Giám sát mạng là một trong những vấn đề hiện nay rất quan trọng trong việc quản
trị các hệ thống mạng. Nó hạn chế tối đa việc mạng bị gián đoạn trong quá trình hoạt
động. Nó đảm bảo việc khai thác tài nghuyên có hiệu quả, đảm bảo an toàn, tin cậy cho
những dịch vụ cung cấp. Hiện nay có rất nhiều công cụ giám sát mạng hỗ trợ cho công
việc quản trị. Chức năng của chúng là giám sát trạng thái hoạt động của các thiết bị
mạng, các dịch vụ mạng, và các máy đầu cuối tham gia vào mạng và thông báo cho
người quản trị khi có sự cố hoặc khả năng xảy ra sự cố. Có rất nhiêu hệ thống thương
mại như Hpopen View hay mã nguồn mở như openNMS, Cacti, Nagios… Mỗi hệ
thống lại có những ưu nhược điểm riêng. Bài báo cáo này em tập trung vào việc nghiên
cứu một hệ thống giám sát dựa trên Nagios, một sản phẩm nguồn mở được sử dụng rất
rộng rãi từ khi ra đời. Từ năm 2002 đến nay Nagios đã liên tục phát triển và rất được

quan tâm chính vì sự phát triển mạnh mẽ đó đến nay có rất nhiều những phiên bản mới
với các tính năng mạnh mẽ đã dần được ra đời. Đặc biệt Nagios có khả năng phân tán
vì vậy nó có thể giám sát các mạng khổng lồ đạt cỡ 100.000 node.
2. Đối tượng, phạm vi và phương pháp thực hiện chuyên đề thực tập
a) Đối tượng nghiên cứu: các công cụ, phần mềm cài đặt Nagios
b) Phạm vi nghiên cứu: đề tài được nghiên cứu áp dụng cho việc quản trị
mạng của trường học
c) Phương pháp thực hiện:
- Nghiên cứu các vấn đề liên quan đề liên quan đến quản trị mạng, mã
nguồn mở, tổng hợp các tài liệu, dữ liệu.
- Thu thập, nghiên cứu, kiểm tra phân tích quy trình quản lý mạng.
- Tìm hiểu các phần mềm mã nguồn mở phổ biến và các phần mềm hỗ trợ
để cài đặt Nagios
3. Mục tiêu và nhiệm vụ của chuyên đề
a) Mục tiêu của đề tài
- Nghiên cứu về phần mềm mã nguồn mở, các công cụ, phần mềm hỗ trợ
để cài đặt Nagios.


b) Nhiệm vụ của chuyên đề
- Tìm hiểu hệ thống Nagios
- Xây dựng và cài đặt Nagios trên Centos 6.7
- Phát triển một số ứng dụng của Nagios


CHƯƠNG 1. TỔNG QUAN CHUNG VỀ CƠ SỞ THỰC TẬP
1. Viện Hàn Lâm Khoa Học và Công Nghệ Việt Nam
Viện Hàn lâm Khoa học và Công nghệ Việt Nam (Viện Hàn lâm KHCNVN) là cơ
quan sự nghiệp thuộc Chính phủ, thực hiện chức năng nghiên cứu cơ bản về khoa học
tự nhiên và phát triển công nghệ theo các hướng trọng điểm của Nhà nước nhằm cung

cấp luận cứ khoa học cho công tác quản lý khoa học, công nghệ và xây dựng chính
sách, chiến lược, quy hoạch, kế hoạch phát triển kinh tế- xã hội và đào tạo nhân lực
khoa học, công nghệ có trình độ cao cho đất nước theo quy định của pháp luật.
Viện là cơ quan khoa học và công nghệ hàng đầu của cả nước, có vị trí đầu tầu trong
hệ thống khao học công nghệ quốc gia, thực hiện các hoạt động nghiên cứu cơ bản về
khoa học tự nhiên và phát triển công nghệ một cách toàn diện, trình độ cao.
Với tiềm lực khoa học công nghệ trình độ cao sẵn có, Viện Hàn lâm KHCNVN luôn
sẵn sàng đáp ứng đòi hỏi xử lý các vấn đề phát sinh của tình hình thực tiễn. Bên cạnh
đó, Viện Hàn lâm KHCNVN cũng thực hiện công tác đào tạo nhân lực trình độ cao
cho đất nước.
2. Viện công nghệ thông tin

Trụ sở: Nhà A3 - Số 18 Hoàng Quốc Việt, Cầu Giấy, Hà Nội
BAN LÃNH ĐẠO:
Viện trưởng:

TS.NCVC. Nguyễn Trường Thắng

Phó viện trưởng:

TS.NCVC. Nguyễn Đức Dũng,


ThS. NCVC. Nguyễn Thu Anh
• Viện Công nghệ thông tin được thành lập theo Quyết định số 20/KHCNQG
ngày 19/06/1993 của Giám đốc Trung tâm Khoa học và Công nghệ Quốc gia.
• Hội đồng khoa học: gồm 20 thành viên
- Chủ tịch hội đồng: PGS.TS. Lương Chi Mai
- Phó chủ tịch hội đồng: PGS.TS. Thái Quang Vinh, PGS.TS. Đặng Văn Đức
- Thư ký hội đồng: TS. Nguyễn Như Sơn

• Chức năng và 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, tự động hóa và kỹ
thuật của công nghệ thông tin, ứng dụng công nghệ thông tin trong các hệ thống
kinh tế - xã hội và trong tự động hoá sản xuất.
- Thiết kế, chế tạo các sản phẩm của CNTT và tự động hóa, đặc biệt là các sản
phẩm phần mềm.
- Triển khai ứng dụng các kết quả nghiên cứu trong sản xuất đời sống, chuyển giao
công nghệ tiên tiến thuộc các lĩnh vực nói trên.
- Thẩm định, tư vấn và dịch vụ kỹ thuật các đề án, dự án trong lĩnh vực CNTT.
- Chế tạo thử nghiệm các sản phẩm CNTT và tự động hóa dựa trên các kết quả
nghiên cứu KHCN của Viện.
- Biên soạn giáo trình, đào tạo cán bộ nghiên cứu KHCN về CNTT.
- Tổ chức hợp tác quốc tế trong lĩnh vực CNTT.
• Cơ cấu tổ chức và lực lượng cán bộ
- Cơ cấu tổ chức:
• Các phòng chuyên môn
 Nghiên cứu hệ thống và quản lý
 Các hệ chuyên gia và tính toán mềm
 Các phương pháp toán học trong CNTT
 Thống kê - tính toán và ứng dụng
 Công nghệ tự động hoá
 Tin học trong điều khiển học
 Các hệ quản trị dữ liệu
 Tin học quản lý
 Công nghệ phần mềm trong quản lý


 Cơ sở dữ liệu và lập trình
 Các hệ thống phần mềm tích hợp
 Hệ thông tin địa lý

 Nhận dạng và Công nghệ tri thức
 Hệ thống mạng và Hạ tầng cơ sở CNTT
 Tin học viễn thông
 Công nghệ thực tại ảo
• Các đơn vị quản lý nghiệp vụ
Phòng Quản lý tổng hợp
• Phòng TNTĐ Công nghệ mạng và Đa phương tiện
• Các trung tâm
 Trung tâm sáng tạo Microsoft (MIC)
 Trung tâm Công nghệ và Giải pháp phần mềm
- Lực lượng cán bộ: Tổng số CBVC là 180 người
• Số biên chế: 143
• Số hợp đồng: 37
• Giáo sư: 02
• Phó giáo sư: 15
• Tiến sĩ khoa học: 02
• Tiến sĩ: 35
• Thạc sĩ: 40
• Kỹ sư/ Cử nhân: 93
• Khác : 10
• Các hoạt động thường xuyên của đơn vị:
- Đào tạo tiến sĩ về CNTT, TĐH kết hợp đào tạo đại học và cao học với các trường
ĐH Công nghiệp Hà Nội, ĐH Thái Nguyên và ĐH Công nghệ Hà Nội.
- Tham gia đấu thầu và thực hiện các hợp đồng triển khai ứng dụng CNTT, TĐH ở
các Bộ, ngành và các địa phương.
- Thực hiện các đề tài khoa học các loại: đề tài KHCN cấp nhà nước, đề tài NCCB
cấp nhà nước, đề tài cấp Viện KHCNVN và các đề tài cấp cơ sở.
- Thực hiện hợp tác khoa học với các trường ĐH và các viện nghiên cứu nước
ngoài.
- Tổng hợp và nhận dạng tiếng Việt.

- Nghiên cứu và triển khai ứng dụng các hệ thống nhúng, các hệ thống không dây
và các hệ thống đo lường điều khiển tự động.


- Nghiên cứu xây dựng cơ sở dữ liệu đa phương tiện phục vụ cho việc thiết kế phát
triển các hệ thống thông tin địa lý, các hệ mô phỏng sử dụng công nghệ thực tại
ảo…
- Nghiên cứu phát triển các công nghệ tính toán hiện đại: tính toán lưới và điện
toán đám mây…
- Thực hiện dự án của EU về Thiết kế và xây dựng hệ thống tin học quản lý các
trường học (SREM).
- Thực hiện các hợp đồng xây dựng, nâng cấp và triển khai ứng dụng các chương
trình quản lý ngân sách của Bộ Tài chính.
- Hợp đồng gia công phần mềm cho Nhật Bản.
Những thành tựu nổi bật
- Thực hiện nhiều đề tài nghiên cứu cơ bản và KHCN cấp Nhà nước trong lĩnh vực
CNTT và tự động hóa, phục vụ các lĩnh vực quản lý, KT-XH và an ninh quốc
phòng.
- Thiết kế, xây dựng, triển khai nhiều hệ thống quản lý, điều hành và an toàn thông
tin tại các cơ quan của Đảng, Chính phủ, các Bộ/Ngành ở Trung ương và địa
phương.
- Đào tạo: Viện là đơn vị đào tạo tiến sĩ tin học và tự động hoá hàng đầu ở Việt
Nam. Viện cũng kết hợp đào tạo Thạc sĩ với nhiều trường Đại học trên cả nước.
- Hợp tác quốc tế: Hợp tác chặt chẽ với các trường đại học và viện nghiên cứu của
Nhật Bản, Hoa Kỳ, Hàn Quốc, Châu Âu và một số quốc gia Châu Á khác.
- Một số sản phẩm phần mềm:


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




Mô hình và công cụ phát triển các hệ thống thông tin phục vụ quản lý hành
chính

CHƯƠNG 2. TỔNG QUAN VỀ GIÁM SÁT MẠNG VÀ MA NGUỒN MỞ
2.1 Khái quát chung về giám sát mạng
Cùng cới sự phát triển của công nghệ thông tin, sự đầu tư cho cơ sở hạ tầng mạng
trong mỗi doanh nghiệp ngày càng tăng cao, dẫn đến việc quản trị sự cố một hệ thống
mạng gặp rất nhiều khó khăn. Đi cùng với những lợi ích khi phát triển hạ tầng mạng
như băng thông cao, khối lượng dữ liệu trong mạng lớn, đáp ứng nhu cầu của người
dùng, hệ thống mạng phải đối đầu với rất nhiều thách thức như các cuộc tấn công bên
ngoài, tính sẵn sàng của thiết bị, tài nguyên hệ thống. Một trong những giải pháp hữu
hiệu nhất để giải quyết vấn đề này là thực hiện giải pháp giám sát mạng, dựa trên
những thông tin thu thập được thông qua quá trình giám sát, các nhân viên quản trị
mạng có thể phân tích đưa ra những đánh giá, dự báo, giải pháp nhằm giải quyết những
vấn đề trên.
Để thực hiện giám sát mạng có hiệu quả, một chương trình giám sát phải đáp ứng
được các yêu cầu sau: phải đảm bảo chương trình luôn hoạt động, tính linh hoạt, chức
năng hiệu quả đơn giản trong triển khai, chi phí thấp.
2.1.1 Giám sát mạng là gì?


Giám sát mạng là một thuật ngữ dùng để chỉ việc sử dụng liên tục một hệ thống (có
thể là một chương trình hoặc một thiết bị) để theo dõi tất cả các hoạt động của các thiết
bị, các dịch vụ trong một hệ thống mạng.
- Đối với hệ thống mạng, điều quan trọng nhất là nắm được những thông tin chính
xác nhất mọi thời điểm. Những thông tin cần nắm bắt khi giám sát một hệ thống bao
gồm:
• Tính sẵn sàng của thiết bị (Router, Swicth, Server…): những thiết bị giữ cho
mạng hoạt động.

• Các dịch vụ trong hệ thống (dns, ftp, http…): những dịch vụ này đóng vai trò
quan trọng trong một công ty, tổ chức, nếu các dịch vụ này không được đảm
bảo hoạt động bình thường và liên tục, nó sẽ ảnh hưởng nghiêm trọng đến
công ty tổ chức đó.
• Tài nguyên hệ thống: các ứng dụng đòi hỏi tài nguyên hệ thống, việc giám sát
tài nguyên sẽ đảm bảo cho chúng ta có những can thiệp kịp thời, tránh ảnh
hưởng đến hệ thống.
• Lưu lượng trong mạng: nhằm đưa ra những giải pháp, ngăn ngừa hiện tượng
quá tải trong mạng.
• Các chức năng về bảo mật: nhằm đảm bảo an ninh trong hệ thống.
• Nhiệt độ, thông tin về máy chủ, máy in: giúp tránh những hư hỏng xảy ra.
• Tạo file log: thu được những thông tin về những thay đổi trong hệ thống.

2.1.2 Tầm quan trọng của hoạt động giám sát mạng
- Giám sát mạng nhằm duy trì sức khỏe của mạng lưới, đảm bảo sẵn sàng và cải
thiện hiệu suất.
- Giám sát mạng có thể giúp chúng ta xây dựng cơ sở dữ liệu thông tin quan
trọng mà chúng ta có thể dùng để lên kế hoạch trong sự phát triển ở tương lai.
- Giám sát mạng thường dùng để kiểm tra băng thông sử dụng, kiểm tra hiệu suất
của ứng dụng và hiệu suất của máy chủ.
- Giám sát lưu lượng là nhiệm vụ cơ bản của giám sát mạng. Nó thường tập trung
vào các vấn đề hỗ trợ người dùng nội bộ.
- Phát hiện tự động khả năng ghi lại thiết bị liên tục khi chúng được thêm vào gỡ
bỏ hoặc trải qua những thay đổi cấu hình.
- Tự động phát hiện và phân loại công đoạn giúp chúng ta có kế hoạch phát triển.
 Hệ thống giám sát mạng có thể giám sát những loại mạng nào?
- Hệ thống giám sát mạng có thể giám sát các loại mạng có kích thước lớn, nhỏ,
trung bình. Một số loại mạng như là:
• Wireless or wired
• LAN



• VPN
• WAN

-

-

2.1.3 Nhiệm vụ của hệ thống giám sát mạng
- Một hệ thống giám sát sẽ giúp chúng ta trong môi trường phức tạp, đưa ra các
báo cáo, người quản lý có thể sử dụng các báo cáo này để:
• Xác nhận việc tuân thủ quy định và chính sách
• Tiết kiệm chi phí tiềm lực bằng cách tìm nguồn dữ liệu dư thừa
• Giải quyết hiệu quả việc lấy cắp thông tin
• Trợ giúp xác định năng suất của nhân viên
• Spot quá tải thiết bị trước khi nó có thể mang xuống một mạng lưới
• Xác định liên kết mạng diện rộng yếu và thắt cổ chai
• Do độ trễ hoặc do truyền tải dữ liệu bị trễ
• Tìm bất thường trong mạng nội bộ có thể cho biết một mối đe dọa an ninh
- Giám sát mạng giúp ta trả lời những câu hỏi khó khăn như:
• Giúp các nhà thiết kế làm đơn giản hóa và đồng nhất hệ thống với chi phí thấp,
giúp đưa ra quyết định thay thế các phân đoạn mạng với chi phí chấp nhận
được?
• Hệ điều hành và ứng dụng nào chạy trên server, và chúng cần thiết?
• Người sử dụng đại diện cho ai, và cái gì được họ gửi?
• Làm thế nào để gần vói công suất của máy chủ?
• Thiết bị từ xa gì được sử dụng, và chúng được sử dụng gì?
• Làm thế nào và từ đâu thiết bị từ xa gia nhập vào hệ thống?
• Ai và những nguồn gì đang quản lý hệ thống?

2.1.4 Các công cụ của hệ thống giám sát mạng
Những hệ thống giám sát mạng có thể là phần mềm firmware, đơn giản hay phức tạp.
Một trong những công cụ đơn giản nhất là gửi tín hiệu đến thiết bị và xem thời gian trả
về bao lâu (digitial echolocation). Thích hợp hầu hết với các nhà quản lý là các công
cụ liên quan đến các kiểm tra thông tin thường và các kịch bản theo dõi và có thể đưa
ra nhiều báo cáo đa dạng với các đồ họa, với điều kiện tổng kết từ thiết bị cụ thể trong
mạng lưới rộng khắp.
Các công cụ mã nguồn mở có tính mở rộng cao, không tốn. Và chúng làm việc với hầu
hết các công cụ và phù hợp với hầu hết các nền tảng.
Không có vấn đề gì đáng lo khi chúng ta chọn công cụ, mặc dù tích cực tìm hiểu xem
chúng làm tốt như thế nào trong môi trường của chúng ta, đặc biệt với hệ điều hành
trên mạng của chúng ta. Nếu như mạng của chúng ta trở nên quá phức tạp và không thể
kiểm soát được những gì đang xảy ra, chúng ta có thể theo dõi outsource. Outsource
tạo ra các mức của dịch vụ và các gói chức năng để bao quát nhiều môi trường mạng
và ngân sách.
2.1.5 Những lợi ích mà giám sát mạng đem lại cho chúng ta


-

Giám sát mạng cẩn thận cho phép giám đốc điều hành tất cả thông tin họ cần để chứng
minh việc nâng cấp mạng và mở rộng mạng là cần thiết để hỗ trợ doanh nghiệp thành
công trong tương lai.
- Service-level agreement (SLA) khó thực thi bên bộ phận khách hàng bơi vì nó đưa ra
những điều khoản rất khắt khe.
- Hệ thống giám sát mạng làm việc hiệu quả sẽ thông báo cho nhà quản lý biết thiết bị,
dịch vụ, hoặc ứng dụng được phép hoạt động ở mức độ nào.
2.2 Khái quát chung về mã nguồn mơ
2.2.1 Mã nguồn mơ là gì?
- Mã nguồn mở là thuật ngữ chỉ các sản phẩm phần mềm công khai mã nguồn (source

code). Người dùng không phải trả một khoản chi phí nào, hơn thế nữa họ còn có quyền
xem, sửa đổi, cải tiến, nâng cấp theo một số nguyên tắc chung qui định trong giấy phép
phần mềm mã nguồn mỡ General Public Licence-GPL. Ông tổ của mã nguồn mở là
Richard Stallman, người đã xây dựng dự án GNU, và cho ra giấy phép mã nguồn mở
GPL, hai nền tảng then chốt cho sự phát triển của mã nguồn mở.
- Phần mềm mã nguồn mở do một người, một nhóm người hay một tổ chức phát triển và
đưa ra phiên bản đầu tiên cùng với mã nguồn, công bố công khai cho cộng đồng,
thường là trên internet. Trên cơ sở đó các cá nhân tham gia sử dụng sẽ đóng góp phát
triển, sửa các lỗi (nếu có) và bổ sung để hoàn thiện sản phẩm cho các phiên bản tiếp
theo. Tuy nhiên, người ta cũng được phép kinh doanh phần mềm mã nguồn mở trên
một số mặt. Nhà cung cấp phần mềm mã nguồn mở có quyền yêu cầu người sử dụng
phải trả một số chi phí về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn… tức là
những dịch vụ thực sự đã thực hiện để phục vụ người sử dụng nhưng không bán các
mã nguồn mở đó vì nó là tài sản trí tuệ chung, không phải là tài sản riêng của một nhà
cung cấp nào.
- Tiện ích mà phần mềm mã nguồn mở mang lại chính là quyền tự do sử dụng chương
trình cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình và phát
hành những bản cải tiến vì mục đích cộng đồng.
2.2.2 Phân loại phần mềm mã nguồn mơ
 Applicaion: Các loại phần mềm ứng dụng, ví dụ như hệ điều hành, phần mềm văn
phòng, phần mềm kế toán, phần mềm chỉnh sửa âm thanh hình ảnh, công cụ lập trình
(IDE), Web server.
Ví dụ:
Hệ điều hành: Linux, Free BSD.
Phần mềm văn phòng: Open Ofice.
Công cụ lập trình: Kdeveloper, Eclipse.
Web server: Apache.


Trình duyệt web: Mozzila Firefox…

 Software frameword: là những tập phần mềm (software package) cung cấp những
chức năng thường gặp khi lập trình, để những lập trình viên khác dùng để viết phần
mềm hiệu quả hơn, khỏi phải viết lại code cho những vấn đề đã có người giải quyết rồi
Ví dụ:
Framework cho web interface: Struts, Webwork, Tapestry, velocity
Framework cho light container: Spring
Framework cho object-relational mapping: Hibernate
2.2.3 Lợi ích và hạn chế của mã nguồn mơ
 Lợi ích
- Chi phí thấp: phần mềm mã nguồn mở được dùng miễn phí về bản quyền và nếu có chi
phí thì chỉ là chi phí cho đóng gói sản phẩn và dịch vụ cho sản phẩm.
- Độc lập: phần mềm mã nguồn mở không bị lệ thuộc vào bất kỳ nhà cung cấp nào.
- Làm chủ công nghệ, đảm bảo an toàn và riêng tư.
- Tính thích ứng và sáng tạo.
- Chất lượng tin cậy: nhiều phần mềm có chất lượng và độ tin cậy cao.
- Tuân thủ chuẩn: phần mềm mã nguồn mở thường được phát triển tuân thủ theo các
chuẩn tốt hơn.
- Không bị hạn chế về quyền sử dụng.
- Tính lâu dài, tự do, phát triển dễ dàng…
 Hạn chế
- Hạn chế về tính năng: theo giới chuyên môn, các phần mềm mã nguồn mở nói chung
vẫn còn kém xa về chất lượng so với các phần mềm có thu phí.
- Thiếu sáng tạo: điểm hạn chế thứ 2 của phần mềm mã nguồn mở là thiếu tính sáng tạo,
100% các phiên bản của những phần mềm này thường chỉ có một nhiệm vụ duy nhất là
bắt trước y chang các tính năng của bản nâng cấp các phần mềm thu phí.
- Bảo mật không bảo đảm: mặc dù được quảng cáo là có độ bảo mật tốt nhưng khồn ai
dám khẳng định những phần mềm mã nguồn mở là an toàn.
2.2.4 Giới thiệu về một số ã nguồn mơ thương gặp
- Hiện nay trên thế giới có rất nhiều loại mã nguồn mở khác nhau, mỗi loại mã nguồn
mở lại có một ứng dụng riêng. Dưới đây là một số loại mã nguồn mở được sử dụng

rộng rãi:
• Phần mềm văn phòng OpenOffice.org (với 6 modul: soạn thảo văn bản-Writer;
Bảng tính điện tử-Calc; Trình chiếu-Impress; Cơ sở dữ liệu-Base; Đồ họaDraw; Soạn thảo công thức toán học-Math)
• Bộ gõ tiếng việt: Unikey
• Trình duyệt web Mozilla Firefox


• Phần mềm thư điện tử máy trạm.
• Linux là một hệ điều hành mã nguồn ở dạng Unix được xây dựng bởi Linus
Torvald, Linux có mọi đặc tính của một hệ điều hành hiện đại: Hệ thống đa
nhiệm, đa tuyến đoạn, bộ nhớ ảo, thư viện động, chương trình dùng chung, tải
theo nhu cầu, quản lý bộ nhớ, các modul driver thiết bị, video frame bufering,
và mạng TCP/IP.
• Joomla là một hệ quản trị nội dung mã nguồn mở được ứng dụng để thiết kế
các trang web như các công thông tin điện tử hoặc cac website doanh nghiệp,
thương mại điện tử trực tuyến …
• Nagios là một mã nguồn mở phổ biến hệ thống máy tính và phần mềm ứng
dụng giám sát mạng. Nagios kiểm soát hoạt động máy chủ và dịch vụ, cảnh
báo người dùng khi gặp sai trong hệ thống. Nó phù hợp với hệ thống mạng vừa
và nhỏ.

CHƯƠNG 3. GIỚI THIỆU CƠ BẢN VỀ ĐẶC ĐIỂM VÀ CÁCH THỨC CẤU
HÌNH TRONG NAGIOS
Nagios là một mã nguồn mở phổ biến hệ thống máy tính và phần mềm ứng dụng
giám sát mạng. Nagios kiểm soát hoạt động máy chủ và dịch vụ, cảnh báo người dùng
khi gặp sai trong hệ thống. Nó phù hợp với hệ thống mạng vừa và nhỏ.
Nagios ban đầu được đặt tên là NetSaint t, đã được viết và hiện đang được nghiên
cứu, cải tiến bởi Ethan Galstad, cùng với một nhóm các nhà phát triển tích cực duy trì
cả hai chính thức và không chính thức bổ sung.
Nagios ban đầu được thiết kế chạy theo GNU/Linux, nhưng cũng chạy tốt trên các

phiên bản Unix. Nó là miễn phí phần mềm, cấp giấy theo các điều khoản của GNU
General Public License phiên bản 2 như được sản xuất bởi tổ chức phần mềm tự do.
3.1 Chức năng của nagios
 Nagios là phần mềm mã nguồn mở được cấp phép theo chuân V3 GNU GPL:
- 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: mysq, 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 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, â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
3.2 Các đặc điểm của nagios
Các hoạt động kiểm tra được thực hiện bởi các plugin cho máy phục vụ Nagios và các
modun client trên các thiết bị của người dùng cuối, Nagios chỉ định kỳ nhận các thông
tin từ các plugin và xử lý những thông tin đó (thông báo cho người quản lý, ghi vào tệp
log, hiện thị lên giao diện web...)
Thiết kế plugin đơn giản cho phép người dùng có thể tự định nghĩa và phát triển các
plugin kiểm tra các dịch vụ theo nhu cầu riêng bằng các công cụ lập trình như shell
scripts, C/C++, Per, Ruby, Python, PHP, C#.
Có khả năng kiểm tra song song trạng thái hoạt động của các dịch vụ (đồng thời kiểm
tra nhiều dịch vụ).
Hỗ trợ khai báo kiến trúc mạng. Nagios không có khả năng nhận dạng được topo của
mạng, toàn bộ các thiết bị, dịch vụ muốn được giám sát đều phải khai báo và định
nghĩa trong cấu hình.
Gửi thông báo đến người/nhóm người được chỉ định sẵn khi dịch vụ/host được giám
sát gặp vấn đề và khi chúng khôi phục hoạt động bình thường (qua email, pager, SMS,
IM...)
Khả năng định nghĩa bộ xử lý sự kiện thực thi ngay khi có sự kiện sảy ra với host/dịch
vụ.
Giao diện web cho phép xem trạng thái của mạng, thông báo, history, tệp log.

3.3 Kiến trúc và tổ chức hoạt động của nagios
3.3.1 Kiến trúc của nagios
- Hệ thống Nagios gồm 2 phần chính:
• 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 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. 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ận 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ị hày 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 3.1. Sơ đồ tổ chức hoạt động của nagios
3.3.2 Cách thức tổ chức hoạt động
Nagios có 5 cách thực thi hành động kiểm tra
 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 địch vụ xem nó đang hoạt động hay 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.
 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 đó.
 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 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ụ như http, ftp, mail....
 Giám sát qua SNMP
Cốt lõi của giao thức SNMP (SimpleNetword Mangement 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ư Swich, router, máy in,
firewal... Nagios cũng có khả năng sử dụng giao thức SNMP để theo dõi trạng thái củ
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, Nagios 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 tuc) là bao
nhiêu...
 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. 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 3.2: các cách thực hiện kiểm tra
-

Hình trên cho cho ta cái nhìn tổng quan về cách thức kiểm tra dịch vụ nagios. Có 5
client được giám sát bằng 5 cách thức khác nhau:
• Client1: 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ụ khô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 clien 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.
• Client5: Đâ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.
3.4 Đánh giá chương trình nagios

 Ưu điểm:
• Là phần mã nguồn mở, miễn phí.
• Cung cấp giao diện đồ họa đẹp mắt, thân thiện đối với người dùng.
• Tính mở rộng cao.









Có khả năng theo dõi định kỳ theo thời gian đã được cấu hình trước.
Ít tốn tài nguyên hệ thống.
Có cơ chế hoạt động cảnh báo cho người quản trị khi có sự cố xảy ra.
Tự động tạo các báo cáo theo lịch biểu ấn định.
Độ ổn định cao khi giám sát hệ thống mạng.
Đặc biệt nagios có khả năng giám sát phân tán nên có thể hỗ trợ tối đa 100000
node.
 Nhược điểm:
• Không có khả năng tự động nhận biết các thiết bị giám sát trong mạng mà cần
phải định nghĩa trên Nagios Server.
• Cần phải cài đặt từng plugin riêng cho từng dịch vụ giám sát, chính điều
này khiến cho việc cấu hình Nagios trở nên khá phức tạp
• Một số thiết bị mới chưa thể giám sát được, ví dụ như Access Point
• Triển khai khó vì phải thực hiện trên CentOS.
3.5 Tổng quan cấu hình
3.5.1 Các tệp cấu hình chương trình
Thư mục /usr/local/nagios/ect/

- Tệp cấu hình nagios.cfg. Thiết đặt những tùy chọn chung nhất của nagios, tác động đến
cách thức hoạt động của nagios. Trong nagios.cfg bạn có thể khai báo đường dẫn các
tệp cấu hình còn lại, tệp log, tệp đệm hoặc bật tắt các tùy 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ác thức log, cập nhật
- Tệp cấu hình tài nguyên resource.cfg. Các tài nguyên dùng để lưu trữ các nhãn
(marco) được định nghĩa bởi người dùng, và lưu trữ thông tin nhạy cảm ( như mật
khẩu…), ẩn với CGIs. Chúng ta 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 hoath
động của CGIs và cách thức hiển thị thông tin trên giao diện web.
3.5.2 Các tệp cấu hình đối tượng
Thư mục /usr/local/nagios/ect/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 hệ (contacts),
nhóm liên hệ (contactgroups), lệnh. Đây là nơi định nghĩa tất cả mọi thứ mà chúng ta
muốn giám sát và cách mà chúng ta giám sát chúng. Chúng ta 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
• Contact.cfg
//định nghĩa người dùng
• Printer.cfg
//định nghĩa các máy in
• Switch
//định nghĩa switch
• Window.cfg
//định nghĩa máy window



• Command.cfg
//định nghĩa các lệnh
• Template.cfg
//mẫu định nghĩa có sẵn
• Timeperiods.cfg //định nghĩa các chu kì thời gian
3.6 Cách thức định nghĩa đối tượng trong 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ể thừa kế khuôn mẫu của định
nghĩa chuẩn và có thể thây đổi đi một số tùy chọn cho phù hợp với từng yêu cầu sử
dụng.
3.6.1 Định nghĩa host
- Host là một trong những đối tượng cơ bản nhất được giám sát. Đặc điểm của host là:
• Host thường là các thiết bị vật lý trên mạng như server, workstation, router,
switch, printer…
• 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.
- Khi định nghĩa đối tượng host ta có thể kế thừa mẫu định nghĩa host có trong tệp
template.cfg. 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

}
3.6.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 chỉ là
một 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.
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_option w,c,r

contact_groups
linux-admins
}
Tuy nhiên cũng giống như định nghĩa host, nếu sử dụng kế thừa từ định nghĩa mẫu
thì khi định nghĩa một host mới chỉ cần khai báo 4 tùy chọn:
define service {
user
generic-service
host_name
linux-server
service_description
check-disk-sda1
check_commad
check-disk!/dev/sda1
}

3.6.3 Định nghĩa lệnh
Tất cả các hành động của nagios như kiểm tra host/dịch vụ, thông báo, xử lý sự kiện
đều được thực hiện bằng gọi lệnh. Tất cả các lệnh trong nagios đều được định nghĩa
trong tệp cấu hình command.cfg.
Khuôn dạng của một lệnh được định nghĩa:
denfine command {
command_name
tên lệnh
command_line người dùng//script! Danh sách tham số
}
Ví dụ:
denfine command {
command_name
check_local_disk

command_line $USER$check_disk!-w $ARG1$ -c $ARG2$ -p $ARG3$
}
Một lệnh được định nghĩa gồm 2 thành phần tên lệnh và nôi dung lệnh. Trong đó
$ARG1$ là nhãn người dùng được định nghĩa trong tệp tài nguyên resource.cfg.
$ARG1$, $ARG2$, $ARG3$ là các nhãn tham số vào của lệnh. Và check_disk trong
ví dụ trên có thể thay thế bằng một script, file tự chạy bất kỳ. Như ví dụ trên, khi cần
kiểm tra ổ đĩa cứng của một host A. Lệnh này sẽ thực thi script check_disk với các
tham số đó.


CHƯƠNG 4. CÁC DỊCH VỤ GIÁM SÁT CỦA NAGIOS
4.1 Giám sát các thiết bị mạng
4.1.1 Máy in
 Tổng quan
- Nagios sử dụng plugin check_hpjd cho việc giám sát trạng thái của máy in. Plugin
check_hpjd sử dụng giao thức SNMP để xác định trạng thái của máy in.

Hình 4.1: giám sát máy in
- Check_hpjd có khả năng phát hiện, cảnh báo, ghi lại các sự cố của máy in như:
• Kết nối đến máy in(ping đến máy in)
• Kẹt giấy
• Hết giấy
• Máy in tắt
• Yêu cầu xen vào
• Mực ít
• Thiếu bộ nhớ
• Khay ra giấy bị đầy
 Cấu hình giám sát máy in
Mặc định lệnh “check_hpjd” đã được định nghĩa trong tệp commands.cfg. Nó cho
phép bạn gọi plugin check_hpjd plugin để giám sát máy in trong mạng. Thứ nữa là đã

có một mẫu định nghĩa máy in(được gọi là generic-printer) được tạo trong tệp
templates.cfg. Nó cho phép bạn thêm một định nghĩa máy in mới khá đơn giản. Khi


-

-

-

-

-

định nghĩa máy in được giám sát mới bạn chỉ cần khai báo sử dụng mẫu này và tùy
chỉnh một số tùy chọn cho phù hợp.
Trong lần đầu tiên cấu hình Nagios giám sát máy in bạn cần phải sửa tệp cấu hình
Nagios. Và sau đó không phải làm lại việc này nữa.
vi /usr/local/nagios/etc/nagios.cfg
Xóa dấu (#) ở đầu dòng như bên dưới trong tệp cấu hình :
#cfg_file=/usr/local/nagios/etc/objects/printer.cfg
Lưu tệp cấu hình và thoát, đây là khai báo sử dụng tệp cấu hình cho máy in.
Tệp cấu hình /usr/local/nagios/etc/objects/printer.cfg sẽ là nơi để bạn thêm những định
nghĩa host và dịch vụ mới cho máy in. Tệp cấu hình này đã chứa một vài ví dụ về định
nghĩa host, hostgroup, và dịch vụ. Bạn có thể sửa những mẫu này để giám sát một máy
in trong lần đầu tiên cấu hình. Bạn cần phải định nghĩa mới đối tượng máy in khi giám
sát một máy in mới. Mở tệp printer.cfg.
vi /usr/local/nagios/etc/objects/printer.cfg
Thêm một định nghĩa host mới cho máy in trong mạng mà bạn sẽ giám sát. Thay đổi
trường host_name, alias, và address theo các giá trị của máy in.

define host{
use
generic-printer
; Thừa kế giá trị mặc định của mẫu
host_name
hplj2605dn ; Tên của máy in
alias
HP LaserJet 2605dn ; Tên khác của máy in
address
192.168.1.30
; Địa chỉ IP của máy in
hostgroups allhosts
; Host groups của máy in
}
Bây giờ có thể bổ xung định nghĩa các dịch vụ được giám sát. Nếu là lần đầu tiên định
nghĩa thì bạn có thể sửa luôn định nghĩa dịch vụ mẫu trong tệp printer.cfg.
Thêm định nghĩa dịch vụ bên dưới để kiểm tra trạng thái của máy in. 10 phút một lần
check_hpjd plugin sẽ kiểm tra trạng thái của máy in.
define service{
use
generic-service
; Kế thừa từ mẫu
host_name
hplj2605dn
; Tên của máy in được giám sát
service_description Printer Status
; Mô tả dịch vụ
check_command
check_hpjd!-C public ; Lệnh để sử dụng giám sát
dịch vụ

normal_check_interval 10 ; kiểm tra lại dịch vụ sau 10 phút
}
Thêm định nghĩa dịch vụ bên dưới để ping đến máy in 10 phút một lần. Nó phục vụ
cho việc giám sát RTA, sự mất gói tin, và kết nối của mạng.
define service{
use
generic-service


host_name
hplj2605dn
service_description PING
check_command
check_ping!3000.0,80%!5000.0,100%
normal_check_interval 10
retry_check_interval 1
}
- Lưu tệp lại và kiểm chứng lại cấu hình và khởi động lại Nagios
4.1.2 Switch, Router
 Tổng quan
- Nagios sử dụng 2 plugin giám sát các thiết bị này đó là check_snmp, check_mrtgtraf.
Nếu muốn sử dụng check_mrtgtraf để giám sát băng thông thì máy Nagios phải cài
MRTG (chương trình giám sát lưu lượng mạng). Hình bên dưới mô tả cách thức thực
hiện việc giám sát Router/switch.

Hình 4.2: cách thức thực hiện việc giám sát Router/switch
Khả năng giám sát của nagios:
• Kết nối đến thiết bị (ping thiết bị)
• Trạng thái up/down của các cổng
• Sử dụng băng thông, lưu lượng trên các cổng

• Tỷ lệ mất gói tin, trung bình trễ trọn vòng (RTA)
 Cấu hình giám sát Router/Switch
- Hai lệnh check_snmp và check_local_mrtgtraf đã được định nghĩa trong tệp
commands.cfg. Chúng cho phép bạn gọi plugin check_snmp và check_mrtgtraf plugin
để giám sát router/switch.
- Mẫu định nghĩa Router/switch (được gọi là generic-switch) đã được tạo trong tệp
templates.cfg. Nó cho phép bạn thêm các định nghĩa router/switch host rất nhanh
chóng. Các tệp cấu hình trên được đặt trong thư mục /usr/local/nagios/etc/objects/.
Bạn có thể sử dụng các định nghĩa sẵn có này hoặc thêm các đinh nghĩa cho phù hợp
với nhu cầu của mình.
-


×