TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
HỮU NGHỊ VIỆT - HÀN
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN TỐT NGHIỆP
CHUYÊN NGÀNH: MẠNG MÁY TÍNH
Đề tài:
GIÁM SÁT HỆ THỐNG MẠNG
BẰNG PHẦN MỀM ZABBIX
SVTH
: Võ Tiến Thịnh
Lớp
: CCMM08A
Niên khóa : 2014 - 2017
CBHD
: Ths. Đỗ Công Đức
Đà Nẵng, tháng 06 năm 2017
LỜI NÓI ĐẦU
Trong vai trò là người quản trị hệ thống hay là một chuyên gia bảo mật thông tin
thì công tác giám sát luôn là một việc cần thiết. Giám sát mạng cho chúng ta biết được
tình trạng băng thông được sử dụng trên mạng, xác định được người dùng nào đang
chạy các ứng dụng chia sẻ file, hoặc có virus/trojan nào đang âm thầm hoạt động trên
mạng hay không.
Có rất nhiều công cụ có thể dùng cho quá trình giám sát mạng và Zabbix cũng
nằm trong số các công cụ đó.
Mục tiêu của đề tài là tìm hiểu về hệ thống giám sát mạng và phát triển ứng dụng
sử dụng phần mềm mã nguồn mở Zabbix. Nhưng cho đến nay, phần mềm Zabbix chưa
được ứng dụng rộng rãi tại Việt Nam. Chính vì thế em muốn nghiên cứu phần mềm
Zabbix để góp phần khai thác và phát triển phần mềm mã nguồn mở tại Việt Nam.
Em xin gửi lời cảm ơn chân thành tới Thầy Đỗ Công Đức, đã trực tiếp hướng dẫn
và tận tình chỉ bảo, truyền đạt kinh nghiệm giúp em hoàn thành đề tài. Trong suốt quá
trình thực hiện đề tài, em đã nhận được rất nhiều sự hỗ trợ, giúp đỡ từ phía nhà trường
và các thầy cô.
Cuối cùng, em xin cảm ơn tất cả các bạn sinh viên trong lớp đã giúp em trong
những buổi trao đổi về các ý tưởng cũng như công nghệ để phát triển đề tài.
i
Đà Nẵng, ngày 08 tháng 06 năm 2017
MỤC LỤC
LỜI NÓI ĐẦU ................................................................................................................. i
MỤC LỤC ...................................................................................................................... ii
DANH MỤC HÌNH ẢNH ............................................................................................ iv
DANH MỤC BẢNG BIỂU .......................................................................................... vi
PHẦN MỞ ĐẦU ............................................................................................................ 1
CHƯƠNG I. GIỚI THIỆU TRUNG TÂM INTERNET VIỆT NAM VNNIC VÀ
QUẢN LÝ HỆ THỐNG MẠNG VỚI GIAO THỨC SNMP ..................................... 3
1.1. Giới thiệu chung ............................................................................................... 3
1.1.1. Mục tiêu hoạt động ...................................................................................... 3
1.1.2. Cơ cấu tổ chức ............................................................................................ 4
1.1.3. Lĩnh vực hoạt động ...................................................................................... 5
1.2. Giới thiệu chung về quản lý hệ thống mạng. ................................................. 5
1.2.1. Giới thiệu ..................................................................................................... 5
1.2.2. Các chức năng chính ................................................................................... 6
1.3. Tổng quan về giao thức SNMP ....................................................................... 7
1.3.1. Giao thức SNMP là gì? ............................................................................... 7
1.3.2. Ưu điểm trong thiết kế của SNMP. ............................................................. 8
1.3.3. Các phiên bản của SNMP ........................................................................... 9
1.4. Các khái niệm nền tảng của SNMP ................................................................ 9
1.4.1. Các thành phần trong SNMP ...................................................................... 9
1.4.2. Bộ phận quản lý (Manager) ........................................................................ 9
1.4.3. Agent.......................................................................................................... 10
1.4.4. Cở sở thông tin quản lý – MIB .................................................................. 11
1.5. Các phương thức của SNMP ........................................................................ 11
1.5.1. GetRequest ................................................................................................ 12
1.5.2. GetNextRequest ......................................................................................... 12
1.5.3. SetRequest ................................................................................................. 12
1.5.4. GetResponse .............................................................................................. 12
1.5.5. Trap ........................................................................................................... 13
1.6. Liên lạc giữa Manager mà Agent ................................................................. 14
1.6.1. Vận chuyển thông tin giữa Manager và Agent ......................................... 15
ii
1.6.2. Bảo vệ thông tin liên lạc giữa Manager và Agent .................................... 15
1.7. Các cơ chế bảo mật cho SNMP ..................................................................... 16
1.7.1. Community string ...................................................................................... 17
1.7.2. View ........................................................................................................... 18
1.7.3. SNMP Access Control List ........................................................................ 18
1.8. Cấu trúc bản tin SNMP ................................................................................. 18
1.9. Phương thức giám sát Poll và Alert ............................................................. 19
1.9.1. Phương thức Poll ...................................................................................... 19
1.9.2. Phương thức giám sát Alert ...................................................................... 20
CHƯƠNG II. CÁC YÊU CẦU CỦA QUẢN LÝ HỆ THỐNG MẠNG VÀ PHẦN
MỀM QUẢN LÝ HỆ THỐNG MẠNG ZABBIX ..................................................... 21
2.1. Các yêu cầu quản lý hệ thống mạng ............................................................. 21
2.2. Kiến trúc quản lý hệ thống mạng ................................................................. 22
2.2.1. Kiến trúc quản lý mạng ............................................................................. 22
2.2.2. Cơ chế quản lý mạng ................................................................................. 22
2.3. Giới thiệu về phần mềm Zabbix ................................................................... 23
2.4. Các ưu điểm của phần mền Zabbix.............................................................. 24
2.5. Các yêu cầu để cài đặt phần mềm ................................................................ 24
2.6. Các thành phần cơ bản của Zabbix ............................................................. 24
2.6.1. Zabbix server ............................................................................................. 24
2.6.2. Zabbix Proxy ............................................................................................. 25
2.6.3. Zabbix Agent ............................................................................................. 25
2.6.4. Web interface ............................................................................................ 25
CHƯƠNG III. TRIỂN KHAI GIÁM SÁT VÀ QUẢN LÝ HỆ THỐNG MẠNG
BẰNG PHẦN MỀM ZABBIX .................................................................................... 26
3.1. Triển khai mô hình và cài đặt phần mềm Zabbix ...................................... 26
3.1.1. Mô hình triển khai ..................................................................................... 26
3.1.2. Quá trình cài đặt ....................................................................................... 26
3.2. Các chức năng cơ bản của Zabbix Server 2.4 ............................................. 37
3.3. Cấu hình Zabbix Agent để quản lý máy khách Windows ......................... 39
3.4. Triển khai giám sát Webserver trên máy Zabbix Client ........................... 43
KẾT LUẬN .................................................................................................................. 49
iii
TÀI LIỆU THAM KHẢO ........................................................................................... vii
DANH MỤC HÌNH ẢNH
Hình 1.1. Giao thức SNMP ............................................................................................. 7
Hình 1.2. Các phương thức của SNMP ......................................................................... 14
Hình 1.3. Cấu trúc bảng tin SNMP................................................................................ 19
Hình 1.4. Phương thức giám sát Poll ............................................................................. 20
Hình 1.5. Phương thức giám sát Alert ........................................................................... 20
Hình 3.1. Mô hình triển khai ......................................................................................... 26
Hình 3.2. Cài đặt hệ điều hành CentOS 6.5 trên máy ảo ............................................... 26
Hình 3.3. Giao diện đăng nhập vào CentOS 6.5 ........................................................... 27
Hình 3.4. Cài đặt Repo trên CentOS 6.5 ....................................................................... 27
Hình 3.5. Cài đặt Apache cho máy chủ ......................................................................... 28
Hình 3.6. Cài đặt MySQL Server .................................................................................. 28
Hình 3.7. Cài đặt PHP ................................................................................................... 29
Hình 3.8. Cài đặt Repo cho Zabbix 2.4 ......................................................................... 29
Hình 3.9. Chọn phiên bản phù hợp nếu cài từ Source trên website của Zabbix ........... 30
Hình 3.10. Cài Zabbix từ Pakages ................................................................................. 30
Hình 3.11. Cài đặt Zabbix Agent để quản lý thông tin của máy chủ ............................ 31
Hình 3.12. Cấu hình địa chỉ máy chủ cho Agent .......................................................... 31
Hình 3.13. Cấu hình lại thời gian cho Zabbix ............................................................... 31
Hình 3.14. Import các Database mặc định của Zabbix ................................................. 32
Hình 3.15. Cấu hình các thông số cho Zabbix Server ................................................... 32
Hình 3.16. Giao diện cài đặt của Zabbix 2.4 ................................................................. 33
Hình 3.17. Giao diện kiểm tra các cấu hình của Zabbix ............................................... 34
Hình 3.18. Giao diện khai báo cở sở dữ liệu và tài khoản mật khẩu............................. 34
Hình 3.19. Giao diện khai báo ip, cổng và tên máy chủ ............................................... 35
Hình 3.20. Giao diện kiểm tra lại thông tin trước khi cài đặt ........................................ 35
Hình 3.21. Giao diện sau khi cài đặt thành công ........................................................... 36
Hình 3.22. Giao diện đăng nhập của Zabbix 2.4 ........................................................... 36
Hình 3.23. Giao diện sau khi đăng nhập thành công ..................................................... 37
Hình 3.24. Khởi động Zabbix Server để tiếp nhận các thông tin từ Agent ................... 37
Hình 3.25. Giao diện thông tin CPU của máy chủ ........................................................ 38
iv
Hình 3.27. Giao diện thông tin hiệu năng của máy chủ ................................................ 39
Hình 3.28. Cài đặt Zabbix Agent trên máy Windows ................................................... 39
Hình 3.29. Địa chỉ của máy cần giám sát ...................................................................... 39
Hình 3.30. Giao diện Configuration của Zabbix Server ................................................ 40
Hình 3.31. Tạo thành công 1 host .................................................................................. 41
Hình 3.32. Tiếp nhận máy Client của Zabbix Server .................................................... 41
Hình 3.33. Giao diện thông tin CPU của máy trạm ...................................................... 42
Hình 3.34. Giao diện thông tin RAM của máy trạm ..................................................... 42
Hình 3.35. Giao diện thông tin ICMP giữa máy chủ và Router .................................... 43
Hình 3.36. Tạo ứng dụng trong user Zabbix Client ...................................................... 44
Hình 3.37. Đặt tên cho ứng dụng .................................................................................. 44
Hình 3.38. Tạo web cho máy Zabbix Client ................................................................. 45
Hình 3.39. Điền các thông tin tạo Web ......................................................................... 46
Hình 3.40. Tạo xong web cho máy Zabbix Client ........................................................ 47
Hình 3.41. Giao diện giám sát Web của máy Zabbix Server ........................................ 47
Hình 3.42. Giao diện thông tin tốc độ Download của Web .......................................... 47
v
Hình 3.43. Giao diện thông tin Thời gian đáp ứng của Web ........................................ 48
DANH MỤC BẢNG BIỂU
Bảng 1.1. Các phương thức của SNMP ......................................................................... 11
vi
Bảng 2.1. Các yêu cầu để cài đặt phần mềm ................................................................. 24
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Trong vai trò là người quản trị hệ thống hay là một chuyên gia bảo mật thông tin
thì công tác giám sát luôn là một việc cần thiết. Giám sát mạng cho chúng ta biết được
tình trạng băng thông được sử dụng trên mạng, xác định được người dùng nào đang
chạy các ứng dụng chia sẻ file, hoặc có virus/trojan nào đang âm thầm hoạt động trên
mạng hay không. Có rất nhiều công cụ có thể dùng cho quá trình giám sát mạng và
Zabbix cũng nằm trong số các công cụ đó.
2. Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu của đề tài là tìm hiểu về hệ thống giám sát mạng và phát triển ứng dụng
sử dụng phần mềm mã nguồn mở Zabbix. Nhưng cho đến nay, phần mềm Zabbix chưa
được ứng dụng rộng rãi tại Việt Nam. Chính vì thế nhóm muốn nghiên cứu phần mềm
Zabbix để góp phần khai thác và phát triển phần mềm mã nguồn mở tại Việt Nam.
3. Đối tượng và phạm vi nghiên cứu
- Đối tượng: Giao thức SNMP và phần mềm Zabbix
- Phạm vi: Trung tâm internet Việt Nam (VNNIC)
4. Phương pháp nghiên cứu.
Giám sát hệ thống mạng bằng phần mềm Zabbix với giao thức SNMP tại Trung
Tâm Internet Việt Nam (VNNIC)
5. Dự kiến kết quả
- 1 tháng (6/5/2017 đến 6/6/2017)
6. Ý nghĩa khoa học và thực tiễn
7. Dự kiến bố cục báo cáo
Báo cáo được trình bày bao gồm các phần chính như sau:
MỞ ĐẦU
CHƯƠNG I: Giới thiệu trung tâm Internet Việt Nam VNNIC và quản lý hệ thống
mạng với giao thức SNMP
CHƯƠNG II: Các yêu cầu của quản lý hệ thống mạng và phần mềm quản lý hệ
thống mạng Zabbix
CHƯƠNG III: Triển khai giám sát và quản lý hệ thống mạng bằng phần mềm
Zabbix
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 1
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Toàn bộ báo cáo dự kiến tối thiểu khoảng 60 trang.
8. Dự kiến tiến độ thực hiện
Stt Thời gian Nội dung làm việc
Từ 06/5 đến Tìm hiểu về phần nội dung và cài đặt phần mềm Zabbix 1 20/5 2.4 trên hệ thống máy chủ CentOS 6.5
Từ 21/5 đến Triển khai quá trình giám sát mạng thông qua các thiết bị, 2 05/6 máy tính, giám sát các website,router,switch,….
TÀI LIỆU THAM KHẢO
[1] Bộ tài liệu SNMP Toàn tập gồm 5 chương của tác giả Diệp Thanh Nguyên:
https://sites.google.com/site/snmptoantap
[2] Trang web chính thức của phần mềm Zabbix:
http://www.zabbix.com
[3] Một số thông tin về Zabbix của Wikipedia:
https://en.wikipedia.org/wiki/Zabbix
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 2
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
CHƯƠNG I. GIỚI THIỆU TRUNG TÂM INTERNET
VIỆT NAM VNNIC VÀ QUẢN LÝ HỆ THỐNG MẠNG
VỚI GIAO THỨC SNMP
1.1. Giới thiệu chung
Tên cơ quan: Trung Tâm Internet Việt Nam VNNIC
Địa chỉ: Số 7, An Hải Bắc, Sơn Trà, Đà Nẵng
Email: Webmaster@vnnic.vn
Website: www.vnnic.vn
Trung tâm Internet Việt Nam (VNNIC) là đơn vị trực thuộc Bộ Thông tin và
Truyền thông, được thành lập ngày 28/04/2000, thực hiện chức năng quản lý và thúc
đẩy việc sử dụng tài nguyên Internet ở Việt Nam; thiết lập, quản lý và khai thác Hệ
thống DNS quốc gia; Trạm trung chuyển Internet quốc gia.
Từ khi đi vào hoạt động, VNNIC đã góp phần quan trọng từng bước đưa Internet
Việt Nam hội nhập thế giới, là đầu mối cung cấp thông tin, hướng dẫn người sử dụng
Internet tại Việt Nam, thúc đẩy Internet trong nước phát triển.
1.1.1. Mục tiêu hoạt động
Chức năng, nhiệm vụ, quyền hạn của Trung tâm được quy định tại Quyết định
số 1198/QĐ-BTTTT ngày 20/7/2015 của Bộ trưởng Bộ Thông tin và Truyền thông,
trong đó bao gồm:
- Thực hiện việc cấp, phân bổ, ngừng, tạm ngừng, thu hồi địa chỉ (IP) và số hiệu
mạng (ASN) ở cấp quốc gia.
- Tổ chức việc đăng ký sử dụng và thực hiện việc ngừng, tạm ngừng, thu hồi tên
miền quốc gia Việt Nam và các tên miền thuộc quyền quản lý của Việt Nam.
- Xây dựng và trình Bộ Thông tin và Truyền thông phê duyệt quy hoạch tài
nguyên Internet, kế hoạch phát triển, đầu tư xây dựng cơ sở hạ tầng kỹ thuật phù hợp
với yêu cầu thực tiễn.
- Thiết lập, quản lý, khai thác hoạt động hệ thống máy chủ tên miền (DNS) quốc
gia, Trạm trung chuyển Internet quốc gia; đăng ký và duy trì địa chỉ IP, số hiệu mạng
cho Internet Việt Nam; tham gia khai thác các công nghệ liên quan đến tài nguyên
Internet và giao thức IP.
- Lựa chọn, ký kết hợp đồng với các nhà đăng ký tên miền .vn.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 3
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Kiểm tra, giám sát việc cấp, đăng ký, sử dụng địa chỉ IP, số hiệu mạng và tên
miền đối với các tổ chức, cá nhân tham gia hoạt động Internet.
- Nghiên cứu đề xuất và tham gia với các đơn vị chức năng trực thuộc Bộ để xây
dựng các văn bản quy phạm pháp luật về công tác quản lý nhà nước về tài nguyên
Internet, về cung cấp, sử dụng dịch vụ Internet trên phạm vi toàn quốc.
- Đại diện cho Bộ Thông tin và Truyền thông tham gia các hoạt động của các tổ
chức Internet quốc tế liên quan đến tài nguyên Internet theo phân công, ủy quyền của
Bộ Bộ Thông tin và Truyền thông.
- Tham gia thu thập, phân tích, đánh giá các thông tin, số liệu thống kê liên quan
đến hoạt động Internet nói chung và tài nguyên Internet nói riêng theo quy định của Bộ
Thông tin và Truyền thông.
- Thu phí và lệ phí các hoạt động theo chức năng, nhiệm vụ, quyền hạn và theo
quy định của pháp luật.
- Hợp tác với các tổ chức quốc tế để khai thác dự phòng hệ thống cho tên miền
quốc gia, đăng ký và duy trì tài nguyên Internet Việt Nam, quảng bá quốc tế về
Internet Việt Nam và phát triển sử dụng tên miền quốc gia.
- Bảo đảm an toàn, bảo mật cho hệ thống DNS quốc gia, Trạm trung chuyển
Internet quốc gia và các hoạt động liên quan đến tài nguyên Internet
1.1.2. Cơ cấu tổ chức
Tổ chức bộ máy, biên chế của Trung tâm bao gồm 7 Phòng, Ban và 02 Chi
nhánh:
- Phòng Tổ chức - Hành chính.
- Phòng Tài chính - Kế toán.
- Phòng Kỹ thuật.
- Phòng Kinh tế.
- Phòng Quan hệ cộng đồng và Thống kê.
- Đài DNS và VNIX.
- Chi nhánh tại Thành phố Hồ Chí Minh.
- Chi nhánh tại Thành phố Đà Nẵng.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 4
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Sơ đồ cơ cấu tổ chức của Trung tâm:
1.1.3. Lĩnh vực hoạt động
Thực hiện việc cấp, phân bổ, ngừng, tạm ngừng, thu hồi địa chỉ (IP) và số hiệu
mạng (ASN) ở cấp quốc gia.
1.2. Giới thiệu chung về quản lý hệ thống mạng.
1.2.1. Giới thiệu
Sự phát triển và hội tụ mạng trong những năm gần đây đã tác động mạnh mẽ tới
tất cả các khía cạnh của mạng lưới, thậm chí cả về những nhận thức nền tảng và
phương pháp tiếp cận. Quản lý mạng cũng là một trong những lĩnh vực đang có những
sự thay đổi và hoàn thiện mạnh mẽ trong cả nỗ lực tiêu chuẩn hoá của các tổ chức tiêu
chuẩn lớn trên thế giới và yêu cầu từ phía người sử dụng dịch vụ. Mặt khác các nhà
khai thác mạng, nhà cung cấp thiết bị và người sử dụng thường áp dụng các phương
pháp chiến lược khác nhau cho việc quản lý mạng và thiết bị của mình. Mỗi nhà cung
cấp thiết bị thường đưa ra giải pháp quản lý mạng riêng cho sản phẩm của mình. Trong
bối cảnh hội tụ mạng hiện nay, số lượng thiết bị và dịch vụ rất đa dạng và phức tạp đã
tạo ra các thách thức lớn trong vấn đề quản lý mạng.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 5
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Nhiệm vụ của quản lý mạng rất rõ ràng về mặt nguyên tắc chung, nhưng các bài
toán quản lý cụ thể lại có độ phức tạp rất lớn. Điều này xuất phát từ tính đa dạng của
các hệ thống thiết bị và các đặc tính quản lý của các loại thiết bị, xa hơn nữa là chiến
lược quản lý phải phù hợp với kiến trúc mạng và đáp ứng yêu cầu của người sử dụng.
Một loạt các thiết bị điển hình cần được quản lý gồm: Máy tính cá nhân, máy trạm,
server, máy vi tính cỡ nhỏ, máy vi tính cỡ lớn, các thiết bị đầu cuối, thiết bị đo kiểm,
máy điện thoại, tổng đài điện thoại nội bộ, các thiết bị truyền hình, máy quay,
modem,bộ ghép kênh, bộ chuyển đổi giao thức, CSU/DSU, bộ ghép kênh thống kê, bộ
ghép và giải gói, thiết bị tương thích ISDN, card NIC, các bộ mã hoá và giải mã tín
hiệu, thiết bị nén dữ liệu, các gateway, các bộ xử lý front-end, các đường trung kế,
DSC/DAC, các bộ lặp, bộ tái tạo tín hiệu, các thiết bị chuyển mạch, các bridge, router
và switch, tất cả mới chỉ là một phần của danh sách các thiết bị sẽ phải được quản lý.
Toàn cảnh của bức tranh quản lý phải bao gồm quản lý các tài nguyên mạng cũng
như các tài nguyên dịch vụ, người sử dụng, các ứng dụng hệ thống, các cơ sở dữ liệu
khác nhau trong các loại môi trường ứng dụng. Về mặt kĩ thuật, tất cả thông tin trên
được thu thập, trao đổi và được kết hợp với hoạt động quản lý mạng dưới dạng các số
liệu quản lý bởi các kĩ thuật tương tự như các kĩ thuật sử dụng trong mạng truyền số
liệu. Tuy nhiên sự khác nhau căn bản giữa truyền thông số liệu và trao đổi thông tin
quản lý là việc trao đổi thông tin quản lý đòi hỏi các trường dữ liệu chuyên biệt, các
giao thức truyền thông cũng như các mô hình thông tin chuyên biệt, các kỹ năng
chuyên biệt để có thể thiết kế, vận hành hệ thống quản lý cũng như biên dịch các thông
tin quản lý về báo lỗi, hiện trạng hệ thống, cấu hình và độ bảo mật.
1.2.2. Các chức năng chính
Gồm có 3 chức năng chính:
Chức năng giám sát có nhiệm vụ thu thập liên tục các thông tin về trạng thái
của các tài nguyên được quản lí sau đó chuyển các thông tin này dưới dạng các sự kiện
và đưa ra các cảnh báo khi các tham số của tài nguyên mạng được quản lí vượt quá
ngưỡng cho phép.
Chức năng quản lí có nhiệm vụ thực hiện các yêu cầu của người quản lí hoặc
các ứng dụng quản lí nhằm thay đổi trạng thái hay cấu hình của một tài nguyên được
quản lí nào đó.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 6
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Chức năng đưa ra báo cáo có nhiệm vụ chuyển đổi và hiển thị các báo cáo
dưới dạng mà người quản lí có thể đọc, đánh giá hoặc tìm kiếm, tra cứu thông tin được
báo cáo.
1.3. Tổng quan về giao thức SNMP
1.3.1. Giao thức SNMP là gì?
SNMP là “giao thức quản lý mạng đơn giản”, dịch từ cụm từ “Simple Network
Management Protocol”.
Hình 1.1. Giao thức SNMP
Thế nào là giao thức quản lý mạng đơn giản? Giao thức là một tập hợp các thủ
tục mà các bên tham gia cần tuân theo để có thể giao tiếp được với nhau. Trong lĩnh
vực thông tin, một giao thức quy định cấu trúc, định dạng (format) của dòng dữ liệu
trao đổi với nhau và quy định trình tự, thủ tục để trao đổi dòng dữ liệu đó. Nếu một
bên tham gia gửi dữ liệu không đúng định dạng hoặc không theo trình tự thì các bên
khác sẽ không hiểu hoặc từ chối trao đổi thông tin. SNMP là một giao thức, do đó nó
có những quy định riêng mà các thành phần trong mạng phải tuân theo.
Một thiết bị hiểu được và hoạt động tuân theo giao thức SNMP được gọi là “có
hỗ trợ SNMP” (SNMP supported) hoặc “tương thích SNMP” (SNMP compartible).
SNMP dùng để quản lý, nghĩa là có thể theo dõi, có thể lấy thông tin, có thể được
thông báo, và có thể tác động để hệ thống hoạt động như ý muốn. Ví dụ một số khả
năng của phần mềm SNMP:
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 7
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Theo dõi tốc độ đường truyền của một router, biết được tổng số byte đã
truyền/nhận.
- Lấy thông tin máy chủ đang có bao nhiêu ổ cứng, mỗi ổ cứng còn trống bao
nhiêu.
- Tự động nhận cảnh báo khi switch có một port bị down.
- Điều khiển tắt (shutdown) các port trên switch.
SNMP dùng để quản lý mạng, nghĩa là nó được thiết kế để chạy trên nền TCP/IP
và quản lý các thiết bị có nối mạng TCP/IP. Các thiết bị mạng không nhất thiết phải là
máy tính mà có thể là switch, router, firewall, adsl gateway, và cả một số phần mềm
cho phép quản trị bằng SNMP. Giả sử bạn có một cái máy giặt có thể nối mạng IP và
nó hỗ trợ SNMP thì bạn có thể quản lý nó từ xa bằng SNMP.
SNMP là giao thức đơn giản, do nó được thiết kế đơn giản trong cấu trúc bản tin
và thủ tục hoạt động, và còn đơn giản trong bảo mật (ngoại trừ SNMP version 3). Sử
dụng phần mềm SNMP, người quản trị mạng có thể quản lý, giám sát tập trung từ xa
toàn mạng của mình.
1.3.2. Ưu điểm trong thiết kế của SNMP.
SNMP được thiết kế để đơn giản hóa quá trình quản lý các thành phần trong
mạng. Nhờ đó các phần mềm SNMP có thể được phát triển nhanh và tốn ít chi phí
(trong chương 5 tác giả sẽ trình bày cách xây dựng phần mềm giám sát SNMP, bạn sẽ
thấy tính đơn giản của nó).
SNMP được thiết kế để có thể mở rộng các chức năng quản lý, giám sát. Không
có giới hạn rằng SNMP có thể quản lý được cái gì. Khi có một thiết bị mới với các
thuộc tính, tính năng mới thì người ta có thể thiết kế “custom” SNMP để phục vụ cho
riêng mình (trong chương 3 tác giả sẽ trình bày file cấu trúc dữ liệu của SNMP).
SNMP được thiết kế để có thể hoạt động độc lập với các kiến trúc và cơ chế của
các thiết bị hỗ trợ SNMP. Các thiết bị khác nhau có hoạt động khác nhau nhưng đáp
ứng SNMP là giống nhau. Ví dụ bạn có thể dùng 1 phần mềm để theo dõi dung lượng
ổ cứng còn trống của các máy chủ chạy HĐH Windows và Linux; trong khi nếu không
dùng SNMP mà làm trực tiếp trên các HĐH này thì bạn phải thực hiện theo các cách
khác nhau.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 8
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
1.3.3. Các phiên bản của SNMP
SNMP có 4 phiên bản: SNMPv1, SNMPv2c, SNMPv2u và SNMPv3. Các phiên
bản này khác nhau một chút ở định dạng bản tin và phương thức hoạt động. Hiện tại
SNMPv1 là phổ biến nhất do có nhiều thiết bị tương thích nhất và có nhiều phần mềm
hỗ trợ nhất. Trong khi đó chỉ có một số thiết bị và phần mềm hỗ trợ SNMPv3.
Năm 1993, SNMP Version 2 (SNMPv2) được IETF đưa ra với mục đích giải
quyết vấn đề tồn tại trong SNMPv1 là cơ chế đảm bảo bảo mật. SNMPv2 có nhiều
thay đổi so với SNMPv1 như hổ trợ các mạng trung tâm cấp cao, mạng phân tán, cơ
chế bảo mật, làm việc với khối dữ liệu lớn... Tuy nhiên SNMPv2 không được chấp
nhận hoàn toàn bởi vì SNMPv2 chưa thoả mãn vấn đề bảo mật và quản trị bởi vậy năm
1996 những phần bảo mật trong SNMPv2 bị bỏ qua và SNMPv2 được gọi là
“SNMPv2 trên cơ sở truyền thông” hay SNMPv2c.
Năm 1998, IETF bắt đầu đưa ra SNMPv3 được định nghĩa trong RFCs 2571-
2575. Về bản chất, SNMPv3 mở rộng để đạt được cả hai mục đích là bảo mật và quản
trị. SNMPv3 hổ trợ kiến trúc theo kiểu module để có thể dễ dàng mở rộng. Như thế
nếu các giao thức bảo mật được mở rộng chúng có thể được hỗ trợ bởi SNMPv3 bằng
cách định nghĩa như là các module riêng.
1.4. Các khái niệm nền tảng của SNMP
1.4.1. Các thành phần trong SNMP
Hệ thống quản lý mạng dựa trên SNMP gồm ba thành phần: bộ phận quản lí
(manager), đại lý (agent) và cơ sở dữ liệu gọi là Cơ sở thông tin quản lý (MIB). Mặc
dù SNMP là một giao thức quản lý việc chuyển giao thông tin giữa ba thực thể trên,
song nó cũng định nghĩa mối quan hệ client-server (chủ tớ). Ở đây, những chương
trình client là bộ phận quản lý, trong khi client thực hiện ở các thiết bị từ xa có thể
được coi là server. Khi đó, cơ sở dữ liệu do agent SNMP quản lý là đại diện cho MIB
của SNMP.
1.4.2. Bộ phận quản lý (Manager)
Bộ phận quản lý là một chương trình vận hành trên một hoặc nhiều máy tính
trạm. Tùy thuộc vào cấu hình, mỗi bộ phận quản lí có thể được dùng để quản lý một
mạng con, hoặc nhiều bộ phận quản lý có thể được dùng để quản lý cùng một mạng
con hay một mạng chung. Tương tác thực sự giữa một người sử dụng cuối (end-user)
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 9
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
và bộ phận quản lý được duy trì qua việc sử dụng một hoặc nhiều chương trình ứng
dụng mà cùng với bộ phận quản lý, biến mặt bằng phần cứng thành Trạm quản lý
mạng (NMS). Ngày nay, trong thời kỳ các chương trình giao diện người sử dụng đồ
họa (GUI), hầu hết những chương trình ứng dụng cung cấp môi trường cửa sổ chỉ và
click chuột, thực hiện liên vận hành với bộ phận quản lý để tạo ra những bản đồ họa và
biểu đồ cung cấp những tổng kết hoạt động của mạng dưới dạng thấy được.
Qua bộ phận quản lý, những yêu cầu được chuyển tới một hoặc nhiều thiết bị
chịu sự quản lý. Ban đầu SNMP được phát triển để sử dụng trên mạng TCP/IP và
những mạng này tiếp tục làm mạng vận chuyển cho phần lớn các sản phẩm quản lý
mạng dựa trên SNMP. Tuy nhiên SNMP cũng có thể được chuyển qua NetWare IPX
và những cơ cấu vận chuyển khác.
1.4.3. Agent
Thiết bị chịu sự quản lý (Managed device): Là một nút mạng hỗ trợ giao thức
SNMP và thuộc về mạng bị quản lý. Thiết bị có nhiệm vụ thu thập thông tin quản lý và
luu trữ để phục vụ cho hệ thống quản lý mạng. Những thiết bị chịu sự quản lý, đôi khi
được gọi là những phần tử mạng, có thể là những bộ định tuyến và máy chủ truy cập-
Access Server, switch và bridge, hub, máy tính hay là những máy in trong mạng.
Mỗi thiết bị chịu sự quản lý bao gồm phần mềm hoặc phần sụn (firmware) dưới
dạng mã phiên dịch những yêu cầu SNMP và đáp ứng của những yêu cầu đó. Phần
mềm hoặc phần sụn này được coi là một agent. Mặc dù mỗi thiết bị bắt buộc bao gồm
một agent chịu quản lý trực tiếp, những thiết bị tương thích không theo SNMP cũng có
thể quản lý được nếu như chúng hỗ trợ một giao thức quản lý độc quyền. Ðể thực hiện
được điều này, phải giành được một agent ủy nhiệm (proxy agent). Proxy agent này có
thể được xét như một bộ chuyển đổi giao thức vì nó phiên dịch những yêu cầu SNMP
thành giao thức quản lý độc quyền của thiết bị không hoạt động theo giao thức SNMP.
Mặc dù SNMP chủ yếu là giao thức đáp ứng thăm dò (poll-respond) với những
yêu cầu do bộ phận quản lý tạo ra dẫn đến những đáp ứng trong agent, agent cũng có
khả năng đề xướng ra một “đáp ứng tự nguyện”. Ðáp ứng tự nguyện này là điều kiện
cảnh báo từ việc giám sát agent với hoạt động đã được định nghĩa trước và chỉ ra rằng
đã tới ngưỡng định trước. Dưới sự điều khiển của SNMP, việc truyền cảnh báo này
được coi là cái bẫy (trap).
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 10
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
1.4.4. Cở sở thông tin quản lý – MIB
Mỗi thiết bị chịu sự quản lý có thể có cấu hình, trạng thái và thông tin thống kê
rất đa dạng, định nghĩa chức năng và khả năng vận hành của thiết bị. Thông tin này có
thể bao gồm việc thiết lập chuyển mạch phần cứng, những giá trị khác nhau lưu trữ
trong các bảng ghi nhớ dữ liệu, bộ hồ sơ hoặc các trường thông tin trong hồ sơ lưu trữ
ở các file và những biến hoặc thành phần dữ liệu tương tự. Nhìn chung, những thành
phần dữ liệu này được coi là cơ sở thông tin quản lý của thiết bị chịu sự quản lý. Xét
riêng, mỗi thành phần dữ liệu biến đổi được coi là một đối tượng bị quản lý và bao
gồm tên, một hoặc nhiều thuộc tính, và một tập các hoạt động (operation) thực hiện
trên đối tượng đó. Vì vậy MIB định nghĩa loại thông tin có thể khôi phục từ một thiết
bị chịu sự quản lý và những bố trí (settings) thiết bị mà có thể điều khiển từ hệ thống
quản lí.
1.5. Các phương thức của SNMP
Giao thức SNMPv1 có 5 phương thức hoạt động, tương ứng với 5 loại bản tin
như sau:
Bảng 1.1. Các phương thức của SNMP
Mô tả Phương thức
Manager gửi GetRequest cho agent để yêu cầu agent cung cấp
GetRequest thông tin nào đó dựa vào ObjectID (trong GetRequest có chứa
OID)
Manager gửi GetNextRequest có chứa một ObjectID cho agent để GetNextRequest yêu cầu cung cấp thông tin nằm kế tiếp ObjectID đó trong MIB.
Manager gửi SetRequest cho agent để đặt giá trị cho đối tượng của SetRequest agent dựa vào ObjectID
Agent gửi GetResponse cho Manager để trả lời khi nhận được GetResponse GetRequest/GetNextRequest
Agent tự động gửi Trap cho Manager khi có một sự kiện xảy ra đối Trap với một object nào đó trong agent
Mỗi bản tin đều có chứa OID để cho biết object mang trong nó là gì. OID trong
GetRequest cho biết nó muốn lấy thông tin của object nào. OID trong GetResponse
cho biết nó mang giá trị của object nào. OID trong SetRequest chỉ ra nó muốn thiết lập
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 11
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
giá trị cho object nào. OID trong Trap chỉ ra nó thông báo sự kiện xảy ra đối với object
nào.
1.5.1. GetRequest
Bản tin GetRequest được manager gửi đến agent để lấy một thông tin nào đó.
Trong GetRequest có chứa OID của object muốn lấy. VD: Muốn lấy thông tin tên của
Device1 thì manager gửi bản tin GetRequest OID=1.3.6.1.2.1.1.5 đến Device1, tiến
trình SNMP agent trên Device1 sẽ nhận được bản tin và tạo bản tin trả lời.
Trong một bản tin GetRequest có thể chứa nhiều OID, nghĩa là dùng một
GetRequest có thể lấy về cùng lúc nhiều thông tin.
1.5.2. GetNextRequest
Bản tin GetNextRequest cũng dùng để lấy thông tin và cũng có chứa OID, tuy
nhiên nó dùng để lấy thông tin của object nằm kế tiếp object được chỉ ra trong bản tin.
Tại sao phải có phương thức GetNextRequest ? Như bạn đã biết khi đọc qua
những phần trên: một MIB bao gồm nhiều OID được sắp xếp thứ tự nhưng không liên
tục, nếu biết một OID thì không xác định được OID kế tiếp. Do đó ta cần
GetNextRequest để lấy về giá trị của OID kế tiếp. Nếu thực hiện GetNextRequest liên
tục thì ta sẽ lấy được toàn bộ thông tin của agent.
1.5.3. SetRequest
Bản tin SetRequest được manager gửi cho agent để thiết lập giá trị cho một
object nào đó. Ví dụ:
- Có thể đặt lại tên của một máy tính hay router bằng phần mềm SNMP manager,
bằng cách gửi bản tin SetRequest có OID là 1.3.6.1.2.1.1.5.0 (sysName.0) và có giá trị
là tên mới cần đặt.
- Có thể shutdown một port trên switch bằng phần mềm SNMP manager, bằng
cách gửi bản tin có OID là 1.3.6.1.2.1.2.2.1.7 (ifAdminStatus) và có giá trị là 27.
Chỉ những object có quyền READ_WRITE mới có thể thay đổi được giá trị.
1.5.4. GetResponse
Mỗi khi SNMP agent nhận được các bản tin GetRequest, GetNextRequest hay
SetRequest thì nó sẽ gửi lại bản tin GetResponse để trả lời. Trong bản tin GetResponse
có chứa OID của object được request và giá trị của object đó.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 12
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
1.5.5. Trap
Bản tin Trap được agent tự động gửi cho manager mỗi khi có sự kiện xảy ra bên
trong agent, các sự kiện này không phải là các hoạt động thường xuyên của agent mà
là các sự kiện mang tính biến cố. Ví dụ: Khi có một port down, khi có một người dùng
login không thành công, hoặc khi thiết bị khởi động lại, agent sẽ gửi trap cho manager.
Tuy nhiên không phải mọi biến cố đều được agent gửi trap, cũng không phải mọi
agent đều gửi trap khi xảy ra cùng một biến cố. Việc agent gửi hay không gửi trap cho
biến cố nào là do hãng sản xuất device/agent quy định.
Phương thức trap là độc lập với các phương thức request/response. SNMP
request/response dùng để quản lý còn SNMP trap dùng để cảnh báo. Nguồn gửi trap
gọi là Trap Sender và nơi nhận trap gọi là Trap Receiver. Một trap sender có thể được
cấu hình để gửi trap đến nhiều trap receiver cùng lúc.
Có 2 loại trap: trap phổ biến (generic trap) và trap đặc thù (specific trap). Generic
trap được quy định trong các chuẩn SNMP, còn specific trap do người dùng tự định
nghĩa (người dùng ở đây là hãng sản xuất SNMP device). Loại trap là một số nguyên
chứa trong bản tin trap, dựa vào đó mà phía nhận trap biết bản tin trap có nghĩa gì.
Theo SNMPv1, generic trap có 7 loại sau: coldStart(0), warmStart(1),
linkDown(2), linkUp(3), authenticationFailure(4), egpNeighborloss(5),
enterpriseSpecific(6). Giá trị trong ngoặc là mã số của các loại trap. Ý nghĩa của các
bản tin generic-trap như sau:
- coldStart: thông báo rằng thiết bị gửi bản tin này đang khởi động lại
(reinitialize) và cấu hình của nó có thể bị thay đổi sau khi khởi động.
- warmStart: thông báo rằng thiết bị gửi bản tin này đang khởi động lại và giữ
nguyên cấu hình cũ.
- linkDown: thông báo rằng thiết bị gửi bản tin này phát hiện được một trong
những kết nối truyền thông (communication link) của nó gặp lỗi. Trong bản tin trap có
tham số chỉ ra ifIndex của kết nối bị lỗi.
- linkUp: thông báo rằng thiết bị gửi bản tin này phát hiện được một trong những
kết nối truyền thông của nó đã khôi phục trở lại. Trong bản tin trap có tham số chỉ ra
ifIndex của kết nối được khôi phục.
- authenticationFailure: thông báo rằng thiết bị gửi bản tin này đã nhận được một
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 13
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
bản tin không được chứng thực thành công (bản tin bị chứng thực không thành công
có thể thuộc nhiều giao thức khác nhau như telnet, ssh, snmp, ftp, …). Thông thường
trap loại này xảy ra là do user đăng nhập không thành công vào thiết bị.
- egpNeighborloss: thông báo rằng một trong số những “EGP neighbor” 8 của
thiết bị gửi trap đã bị coi là down và quan hệ đối tác (peer relationship) giữa 2 bên
không còn được duy trì.
- enterpriseSpecific: thông báo rằng bản tin trap này không thuộc các kiểu
generic như trên mà nó là một loại bản tin do người dùng tự định nghĩa.
Người dùng có thể tự định nghĩa thêm các loại trap để làm phong phú thêm khả
năng cảnh báo của thiết bị như: boardFailed, configChanged, powerLoss, cpuTooHigh,
v.v…. Người dùng tự quy định ý nghĩa và giá trị của các specific trap này, và dĩ nhiên
chỉ những trap receiver và trap sender hỗ trợ cùng một MIB mới có thể hiểu ý nghĩa
của specific trap. Do đó nếu bạn dùng một phần mềm trap receiver bất kỳ để nhận trap
của các trap sender bất kỳ, bạn có thể đọc và hiểu các generic trap khi chúng xảy ra;
nhưng bạn sẽ không hiểu ý nghĩa các specific trap khi chúng hiện lên màn hình vì bản
tin trap chỉ chứa những con số.
Hình 1.2. Các phương thức của SNMP
Đối với các phương thức Get/Set/Response thì SNMP Agent lắng nghe ở port
UDP 161, còn phương thức trap thì SNMP Trap Receiver lắng nghe ở port UDP 162.
1.6. Liên lạc giữa Manager mà Agent
Nhìn trên phương diện truyền thông, nhà quản lí (manager) và các tác nhân
(agent) cũng là những người sử dụng, sử dụng một giao thức ứng dụng. Giao thức
quản lý yêu cầu cơ chế vận tải để hổ trợ tương tác giữa các tác nhân và nhà quản lý.
Management trước hết phải xác định được các agent mà nó muốn liên lạc. có thể
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 14
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
xác định được ứng dụng tác nhân bằng địa chỉ IP của nó và cổng UDP được gán cho
nó. Cổng UDP 161 được dành riêng cho các agent SNMP. Management gói lệnh
SNMP vào một phong bì UDP/IP. Phong bì này chứa cổng nguồn, địa chỉ IP đích và
cổng 161. Một thực thể IP tại chổ sẽ chuyển giao khung UDP tới hệ thống bị quản lý.
Tiếp đó, một thực thể UDP tại chổ sẽ chuyển phát nó tới các agent. Tương tự như vậy,
lệnh TRAP cũng cần xác định những management mà nó cần liên hệ. Chúng sử dụng
địa chỉ IP cũng như cổng UDP dành cho mamagement SNMP, đó là cổng 162.
1.6.1. Vận chuyển thông tin giữa Manager và Agent
Việc lựa chọn cơ chế vận chuyển có tính trực giao với giao thức truyền thông đó.
SNMP chỉ đòi hỏi cơ chế truyền tải không tin cậy dữ liệu đồ (datagram) để truyền đưa
các PDU (đơn vị dữ liệu giao thức) giữa management và các agent. Ðiều này cho phép
sự ánh xạ của SNMP tới nhiều nhóm giao thức. Mô hình vận chuyển datagram giảm
được độ phức tạp của ánh xạ tầng vận chuyển. Tuy nhiên, vẩn phải nhận thức thấy sự
tham gia của một số lựa chọn tầng vận chuyển. Các tầng vận chuyển khác nhau có thể
sử dụng nhiều kỹ thuật đánh địa chỉ khác nhau. Các tầng vận chuyển khác nhau có thể
đua ra những hạn chế quy mô của PDU. Ánh xạ tầng vận chuyển có trách nhiệm phải
xử lý các vấn đề đánh địa chỉ, hạn chế quy mô PDU và một số tham số tầng vận
chuyển khác.
Trong phiên bản thứ hai của SNMP, người ta sử dụng kinh nghiệm để làm sắc
nét và đơn giản hóa quá trình ánh xạ tới các chuẩn vận chuyển khác nhau. Giao thức
quản lý được tách khỏi môi trường vận chuyển một cách trực giao, điều này cũng được
khuyến khích sử dụng cho bất cứ nhóm giao thức nào.
1.6.2. Bảo vệ thông tin liên lạc giữa Manager và Agent
Trong điều kiện mạng thiếu ổn định và thiếu độ tin cậy thì sẽ liên lạc quản lý
càng trở nên quan trọng. Làm thế nào để các management liên lạc với các agent một
cách tin cậy? Việc SNMP sử dụng cơ chế UDP để liên lạc đã có nghĩa là thiếu đi độ
tin cậy. SNMP hoàn toàn để lại cho chương trình management chịu trách nhiệm và xử
lý việc mất thông tin. Các lệnh GET, GET-NEXT, và SET đều được phúc đáp bằng
một lệnh GET-RESPONSE. Hệ thống có thể dễ dàng phát hiện ra việc bị mất một lệnh
khi không nhận được lệnh trả lại. Nó có thể lặp lại yêu cầu đó một lần nữa hoặc có
những hành động khác. Tuy nhiên, các bản tin TRAP do agent tạo ra và không được
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 15
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
phúc đáp khẳng định. Khi lệnh TRAP bị thất lạc, các chương trình agent sẽ không biết
về điều đó (tất nhiên là management cũng không hay biết về điều này). Thông thường
các bản tin TRAP mang những thông tin hết sức quan trọng cho management, do vậy
management cần chú ý và cần bảo đảm việc chuyển phát chúng một cách tin cậy.
Một câu hỏi đặt ra là làm thế nào để chuyển phát các bản tin TRAP tránh mất
mát, thất lạc? Ta có thể thiết kế cho các agent lặp lại bản tin TRAP. Biến số MIB có
thể đọc số lần lặp lại theo yêu cầu. Lệnh SET của management có thể đặt cấu hình cho
biến số này. Có một cách khác là agent có thể lặp lại lệnh TRAP cho đến khi
management đặt biến số MIB để chấm dứt sự cố. Hãy ghi nhớ rằng, cả hai phương
pháp trên đều chỉ cho ta những giải pháp từng phần. Trong trường hợp thứ nhất, số lần
lặp lại có thể không đủ để đảm bảo liên lạc một cách tin cậy. Trong trường hợp thứ
hai, một sự cố mạng có thể dẩn đến việc hàng loạt bản tin TRAP bị mất tùy thuộc vào
tốc độ mà các agent tạo ra chúng. Ðiều này làm cho sự cố mạng trở nên trầm trọng
hơn. Trong cả hai trường hợp, nếu ta cần chuyển phát những bản tin TRAP tới nhiều
management, thì có thể xảy ra tình trạng không nhất quán giữa các management hoặc
xảy ra hiện tượng thất lạc thông tin rất phức tạp. Nếu các agent phải chịu trách nhiệm
về thiết kế cho việc phục hồi những bản tin TRAP thì càng làm tăng thêm độ phức tạp
trong việc quản lý các agent trong môi trường đa nhà chế tạo.
Người ta cũng đã theo đuổi cải tiến cơ chế xử lý bản tin sự cố cho phiên bản thứ
hai của SNMP. Thứ nhất là đơn nguyên TRAP được bỏ đi và thay thế nó bằng một
lệnh
GET/RESPONSE không yêu cầu. Lệnh này do agent tạo ra và chuyển đến cho
“management bẫy” tại cổng UDP-162. Ðiều này phản ánh một quan điểm là nhà quản
lý sự cố có thể thống nhất các bản tin sự cố rồi trả lại cho các yêu cầu ảo. Bằng cách
bỏ đi một đơn thể, giao thức được đơn giản hóa. Người ta cũng bổ sung thêm một cơ
sở thông tin quản lý đặc biệt TRAP MIB để thống nhất việc xử lý sự cố, các
management nhận bản tin về các sự cố này và việc lặp lại để cải thiện độ tin cậy trong
chuyển phát thông tin.
1.7. Các cơ chế bảo mật cho SNMP
Một SNMP management station có thể quản lý/giám sát nhiều SNMP element,
thông qua hoạt động gửi request và nhận trap. Tuy nhiên một SNMP element có thể
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 16
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
được cấu hình để chỉ cho phép các SNMP management station nào đó được phép quản
lý/giám sát mình.
Các cơ chế bảo mật đơn giản này gồm có: community string, view và SNMP
access control list.
1.7.1. Community string
Community string là một chuỗi ký tự được cài đặt giống nhau trên cả SNMP
manager và SNMP agent, đóng vai trò như “mật khẩu” giữa 2 bên khi trao đổi dữ liệu.
Community string có 3 loại: Read-community, Write-Community và Trap-
Community.
Khi manager gửi GetRequest, GetNextRequest đến agent thì trong bản tin gửi đi
có chứa Read-Community. Khi agent nhận được bản tin request thì nó sẽ so sánh
Read-community do manager gửi và Read-community mà nó được cài đặt. Nếu 2
chuỗi này giống nhau, agent sẽ trả lời; nếu 2 chuỗi này khác nhau, agent sẽ không trả
lời.
- Write-Community được dùng trong bản tin SetRequest. Agent chỉ chấp nhận
thay đổi dữ liệu khi write-community 2 bên giống nhau.
- Trap-community nằm trong bản tin trap của trap sender gửi cho trap receiver.
Trap receiver chỉ nhận và lưu trữ bản tin trap chỉ khi trap-community 2 bên giống
nhau, tuy nhiên cũng có nhiều trap receiver được cấu hình nhận tất cả bản tin trap mà
không quan tâm đến trap-community.
- Community string có 3 loại như trên nhưng cùng một loại có thể có nhiều string
khác nhau. Nghĩa là một agent có thể khai báo nhiều read-community, nhiều write-
community.
Trên hầu hết hệ thống, read-community mặc định là “public”, write-community
mặc định là “private” và trap-community mặc định là “public”.
Community string chỉ là chuỗi ký tự dạng cleartext, do đó hoàn toàn có thể bị
nghe lén khi truyền trên mạng. Hơn nữa, các community mặc định thường là “public”
và “private” nên nếu người quản trị không thay đổi thì chúng có thể dễ dàng bị dò ra.
Khi community string trong mạng bị lộ, một người dùng bình thường tại một máy tính
nào đó trong mạng có thể quản lý/giám sát toàn bộ các device có cùng community mà
không được sự cho phép của người quản trị.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 17
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
1.7.2. View
Khi manager có read-community thì nó có thể đọc toàn bộ OID của agent. Tuy
nhiên agent có thể quy định chỉ cho phép đọc một số OID có liên quan nhau, tức là chỉ
đọc được một phần của MIB. Tập con của MIB này gọi là view, trên agent có thể định
nghĩa nhiều view. Ví dụ: agent có thể định nghĩa view interfaceView bao gồm các
OID liên quan đến interface, storageView bao gồm các OID liên quan đến lưu trữ, hay
AllView bao gồm tất cả các OID.
Một view phải gắn liền với một community string. Tùy vào community string
nhận được là gì mà agent xử lý trên view tương ứng. Ví dụ: agent định nghĩa read-
community “inf” trên view interfaceView, và “sto” trên storageView; khi manager gửi
request lấy OID ifNumber với community là “inf” thì sẽ được đáp ứng do ifNumber
nằm trong interfaceView; nếu manager request OID hrStorageSize với community
“inf” thì agent sẽ không trả lời do hrStorageSize không nằm trong interfaceView;
nhưng nếu manager request hrStorageSize với community “sto” thì sẽ được trả lời do
hrStorageSize nằm trong storageView.
Việc định nghĩa các view như thế nào tùy thuộc vào từng SNMP agent khác
nhau. Có nhiều hệ thống không hỗ trợ tính năng view.
1.7.3. SNMP Access Control List
Khi manager gửi không đúng community hoặc khi OID cần lấy lại không nằm
trong view cho phép thì agent sẽ không trả lời. Tuy nhiên khi community bị lộ thì một
manager nào đó vẫn request được thông tin.
Để ngăn chặn hoàn toàn các SNMP manager không được phép, người quản trị có
thể dùng đến SNMP access control list (ACL). SNMP ACL là một danh sách các địa
chỉ IP được phép quản lý/giám sát agent, nó chỉ áp dụng riêng cho giao thức SNMP và
được cài trên agent. Nếu một manager có IP không được phép trong ACL gửi request
thì agent sẽ không xử lý, dù request có community string là đúng.
Đa số các thiết bị tương thích SNMP đều cho phép thiết lập SNMP ACL.
1.8. Cấu trúc bản tin SNMP
SNMP chạy trên nền UDP. Cấu trúc của một bản tin SNMP bao gồm: version,
community và data.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 18
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Hình 1.3. Cấu trúc bảng tin SNMP
- Version: v1 = 0, v2c = 1, v2u = 2, v3 = 3.
Phần Data trong bản tin SNMP gọi là PDU (Protocol Data Unit). SNMPv1 có 5
phương thức hoạt động tương ứng 5 loại PDU. Tuy nhiên chỉ có 2 loại định dạng bản
tin là PDU và Trap-PDU; trong đó các bản tin Get, GetNext, Set, GetResponse có
cùng định dạng là PDU, còn bản tin Trap có định dạng là Trap-PDU.
1.9. Phương thức giám sát Poll và Alert
Đây là hai phương thức cơ bản của các kỹ thuật giám sát hệ thống, nhiều phần
mềm và giao thức được xây dựng dựa trên hai phương thức này, trong đó có SNMP.
Việc hiểu rõ hoạt động của Poll & Alert và ưu nhược điểm của chúng sẽ giúp chúng ta
dễ dàng tìm hiểu nguyên tắc hoạt động của các giao thức hay phần mềm giám sát.
Hoặc nếu muốn tự phát triển một cơ chế giám sát của riêng mình thì nó cũng là cơ sở
để giúp chúng ta xây dựng một nguyên tắc hoạt động đúng đắn.
1.9.1. Phương thức Poll
Nguyên tắc hoạt động: Trung tâm giám sát (manager) sẽ thường xuyên hỏi thông
tin của thiết bị cần giám sát (device). Nếu Manager không hỏi thì Device không trả lời,
nếu Manager hỏi thì Device phải trả lời. Bằng cách hỏi thường xuyên, Manager sẽ
luôn cập nhật được thông tin mới nhất từ Device. Ví dụ: Người quản lý cần theo dõi
khi nào thợ làm xong việc. Anh ta cứ thường xuyên hỏi người thợ “Anh đã làm xong
chưa ?”, và người thợ sẽ trả lời “Xong” hoặc “Chưa”.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 19
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Hình 1.4. Phương thức giám sát Poll
1.9.2. Phương thức giám sát Alert
Nguyên tắc hoạt động: Mỗi khi trong Device xảy ra một sự kiện (event) nào đó
thì Device sẽ tự động gửi thông báo cho Manager, gọi là Alert. Manager không hỏi
thông tin định kỳ từ Device. Ví dụ: Người quản lý cần theo dõi tình hình làm việc của
thợ, anh ta yêu cầu người thợ thông báo cho mình khi có vấn đề gì đó xảy ra. Người
thợ sẽ thông báo các sự kiện đại loại như “Tiến độ đã hoàn thành 50%”, “Mất điện lúc
10h”, “Có điện lại lúc 11h”, “Mới có tai nạn xảy ra”.
Hình 1.5. Phương thức giám sát Alert
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 20
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
CHƯƠNG II. CÁC YÊU CẦU CỦA QUẢN LÝ
HỆ THỐNG MẠNG VÀ PHẦN MỀM QUẢN LÝ
HỆ THỐNG MẠNG ZABBIX
2.1. Các yêu cầu quản lý hệ thống mạng
Các cơ chế quản lý mạng được nhìn nhận từ hai góc độ, góc độ mạng chỉ ra hệ
thống quản lý nằm tại các mức cao của mô hình OSI và từ phía người điều hành quản
lý hệ thống mạng. Mặc dù có rất nhiều quan điểm khác nhau về mô hình quản lý hệ
thống nhưng đều thống nhất bởi ba chức năng quản lý cơ bản gồm: giám sát, điều
khiển và đưa ra báo cáo tới người điều hành.
Chức năng giám sát có nhiệm vụ thu thập liên tục các thông tin về trạng thái
của các tài nguyên được quản lý sau đó chuyển các thông tin này dưới dạng các sự
kiện và đưa ra các cảnh báo khi các tham số của tài nguyên mạng được quản lý vượt
quá ngưỡng cho phép.
Chức năng quản lý có nhiệm vụ thực hiện các yêu cầu của người quản lý hoặc
các ứng dụng quản lý nhằm thay đổi trạng thái hay cấu hình của một tài nguyên được
quản lý nào đó.
Chức năng đưa ra báo cáo có nhiệm vụ chuyển đổi và hiển thị các báo cáo
dưới dạng mà người quản lí có thể đọc, đánh giá hoặc tìm kiếm, tra cứu thông tin được
báo cáo.
Dưới góc độ của người điều hành quản lý mạng, một số yêu cầu cơ bản thường
được đặt ra gồm:
Có thể truy nhập và cấu hình lại từ xa các tài nguyên được quản lý.
Dễ dàng trong việc cài đặt, vận hành và bảo dưỡng hệ thống quản lý cũng như
các ứng dụng của nó.
Bảo mật hoạt động quản lý và truy nhập của người sử dụng, bảo mật truyền
thông các thông tin quản lý.
Có khả năng đưa ra các báo cáo đầy đủ và rõ nghĩa về các thông tin quản lý.
Quản lý theo thời gian thực và hoạt động quản lý hàng ngày được thực hiện
một cách tự động.
Mềm dẻo trong việc nâng cấp hệ thống và có khả năng tương thích với nhiều
công nghệ khác nhau.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 21
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Có khả năng lưu trữ và khôi phục các thông tin quản lý. Kiến trúc quản lý hệ
thống mạng
2.2. Kiến trúc quản lý hệ thống mạng
2.2.1. Kiến trúc quản lý mạng
Quản lý mạng gồm một tập các chức năng để điều khiển, lập kế hoạch, liên kết,
triển khai và giám sát tài nguyên mạng. Quản lý mạng có thể được nhìn nhận như một
cấu trúc gồm nhiều lớp:
Quản lý kinh doanh: Quản lý khía cạnh kinh doanh của mạng ví dụ như: ngân
sách/tài nguyên, kế hoạch và các thỏa thuận.
Quản lý dịch vụ: Quản lý các dịch vụ cung cấp cho người sử dụng, ví dụ các
dịch vụ cung cấp bao gồm việc quản lý băng thông truy nhập, lưu trữ dữ liệu và các
ứng dụng cung cấp.
Quản lý mạng: Quản lý toàn bộ thiết bị mạng trong mạng.
Quản lý phần tử: Quản lý một tập hợp thiết bị mạng, ví dụ các bộ định tuyến
truy nhập hoặc các hệ thống quản lý thuê bao.
Quản lý phần tử mạng: Quản lý từng thiết bị đơn trong mạng, ví dụ bộ định
tuyến, chuyển mạch, Hub.
Quản lý mạng có thể chia thành hai chức năng cơ sở: truyền tải thông tin quản lý
qua hệ thống và quản lý các phần tử thông tin quản lý mạng. Các chức năng này gồm
các nhiệm vụ khác nhau như: Giám sát, cấu hình, sửa lỗi và lập kế hoạch được thực
hiện bởi nhà quản trị hoặc nhân viên quản lý mạng.
2.2.2. Cơ chế quản lý mạng
Cơ chế quản lý mạng bao gồm cả các giao thức quản lý mạng, các giao thức quản
lý mạng cung cấp các cơ chế thu thập, thay đổi và truyền các dữ liệu quản lý mạng qua
mạng.
Các cơ chế giám sát nhằm để xác định các đặc tính của thiết bị mạng, tiến trình
giám sát bao gồm thu thập được và lưu trữ các tập con của dữ liệu đó. Dữ liệu thường
được thu thập thông qua polling hoặc tiến trình giám sát gồm các giao thức quản lý
mạng.
Xử lý dữ liệu sau quá trình thu thập thông tin quản lý mạng là bước loại bỏ bớt
các thông tin dữ liệu không cần thiết đối với từng nhiệm vụ quản lý. Sự thể hiện các
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 22
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
thông tin quản lý cho người quản lý cho phép người quản lý nắm bắt hiệu quả nhất các
tính năng và đặc tính mạng cần quản lý. Một số kĩ thuật biểu diễn dữ liệu thường được
sử dụng dưới dạng ký tự, đồ thị hoặc lưu đồ (tĩnh hoặc động).
Tại thời điểm xử lý thông tin dữ liệu, rất nhiều các thông tin chưa kịp xử lý được
lưu trữ tại các vùng nhớ lưu trữ khác nhau. Các cơ chế dự phòng và cập nhật lưu trữ
luôn được xác định trước trong các cơ chế quản lý mạng nhằm tránh tối đa tổn thất dữ
liệu.
Các phân tích thời gian thực luôn yêu cầu thời gian hỏi đáp tới các thiết bị quản
lý trong khoảng thời gian ngắn. Đây là điều kiện đánh đổi giữa số lượng đặc tính và
thiết bị mạng với lượng tài nguyên (khả năng tính toán, số lượng thiết bị tính toán, bộ
nhớ, lưu trữ) cần thiết để hỗ trợ các phân tích.
Thực hiện nhiệm vụ cấu hình chính là cài đặt các tham số trong một thiết bị
mạng để điều hành và điều khiển các phần tử. Các cơ chế cấu hình bao gồm truy nhập
trực tiếp tới các thiết bị, truy nhập từ xa và lấy các file cấu hình từ các thiết bị đó. Dữ
liệu cấu hình được thông qua các cách sau:
Các câu lệnh SET của SNMP
Truy nhập qua Telnet và giao diện dòng lệnh
Truy nhập qua HTTP
Truy nhập qua kiến trúc CORBA
Sử dụng FTP/TFTP để lấy file cấu hình
2.3. Giới thiệu về phần mềm Zabbix
Zabbix là một công cụ mã nguồn mở giải quyết cho ta các vấn đề về giám sát.
Zabbix là phần mềm sử dụng các tham số của một mạng, tình trạng và tính toàn vẹn
của Server cũng như các thiết bị mạng. Zabbix sử dụng một cơ chế thống báo linh hoạt
cho phép người dùng cấu hình email hoặc sms để cảnh báo dựa trên sự kiện được ta
thiết lập sẵn. Ngoài ra Zabbix cung cấp báo cáo và dữ liệu chính xác dựa trên cơ sở dữ
liệu. Điều này khiến cho Zabbix trở nên lý tưởng hơn.
Tất cả các cấu hình của Zabbix thông qua giao diện web. Việc lên kế hoạch và
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 23
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
cấu hình một cách đúng đắn sẽ giúp cho việc giám sát trở nên dễ dàng và thuận tiện
hơn. Zabbix đóng một vai trò quan trọng trong việc theo dõi hạ tầng mạng.
2.4. Các ưu điểm của phần mền Zabbix
Giám sát cả Server và thiết bị mạng
Dễ dàng thao tác và cấu hình
Hỗ trợ máy chủ Linux, Solaris, FreeBSD …
Đáng tin cậy trong việc chứng thực người dùng
Linh hoạt trong việc phân quyền người dùng giao diện web đẹp mắt
Thông báo sự cố qua email và SMS
Biểu đổ theo dõi và báo cáo
Mã nguồn mở và chi phí thấp
2.5. Các yêu cầu để cài đặt phần mềm
Zabbix yêu cầu tối thiểu về RAM là 128, 256MB không gian trống của ổ đĩa
cứng. Tuy nhiên số lượng ổ cứng tùy thuộc vào số lượng hosts và các thông số được
giám sát. Phụ thuộc vào số lượng hosts được giám sát mà Zabbix yêu cầu tối thiểu các
tài nguyên như sau:
Bảng 2.1. Các yêu cầu để cài đặt phần mềm
Monitored Name Platform CPU/Memory Database hosts
Ubuntu PII 350MHz Small MySQL MyISAM 20 Linux 256MB
Ubuntu AMD Athlon Medium MySQL InnoDB 500 Linux 64 bit 3200+ 2GB
Ubuntu Intel Dual Core RAID10 MySQL >1000 Large Linux 64 bit 6400 4GB InnoDB or PostgreSQL
RedHat Intel Xeon Fast RAID10 MySQL Very >10000 Enterprise 2xCPU 8GB InnoDB or PostgreSQL large
2.6. Các thành phần cơ bản của Zabbix
2.6.1. Zabbix server
Đây là thành phần trung tâm của phần mềm Zabbix. Zabbix Server có thể kiểm
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 24
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
tra các dịch vụ mạng từ xa thông qua các báo cáo của Agent gửi về cho Zabbix Server
và từ đó nó sẽ lưu trữ tất cả các cấu hình cũng như là các số liệu thống kê.
2.6.2. Zabbix Proxy
Là phần tùy chọn của Zabbix. Nó có nhiệm vụ thu nhận dữ liệu, lưu trong bộ nhớ
đệm và chuyển đến Zabbix Server. Zabbix Proxy là một giải pháp lý tưởng cho việc
giám sát tập trung của các địa điểm từ xa, chi nhánh công ty, các mạng lưới không có
quản trị viên nội bộ. Zabbix Proxy cũng được sử dụng để phân phối tải của một Zabbix
Server
2.6.3. Zabbix Agent
Để giám sát chủ động các thiết bị cục bộ và các ứng dụng (ổ cứng, bộ nhớ, …)
trên hệ thống mạng. Zabbix Agent sẽ được cài lên trên Server và từ đó Agent sẽ thu
thập thông tin hoạt động từ Server mà nó đang chạy và báo cáo dữ liệu này đến Zabbix
Server để xử lý.
2.6.4. Web interface
Để dễ dàng truy cập dữ liệu theo dõi và sau đó cấu hình từ giao diện web cung
cấp. Giao diện là một phần của Zabbix Server, và thường chạy trên các máy chủ.
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 25
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
CHƯƠNG III. TRIỂN KHAI GIÁM SÁT VÀ QUẢN LÝ
HỆ THỐNG MẠNG BẰNG PHẦN MỀM ZABBIX
3.1. Triển khai mô hình và cài đặt phần mềm Zabbix
3.1.1. Mô hình triển khai
- Các thiết bị: Router, Switch, PC,…
- Các dịch vụ: Mail Server, Web Server,…
- Mô hình:
Hình 3.1. Mô hình triển khai
3.1.2. Quá trình cài đặt
Để triền khai phần mềm quản lý hệ thống mạng Zabbix nhóm đã dùng hệ điều
hành CentOS 6.5 trên máy ảo, hệ cơ sở dữ liệu MySQL, Zabbix phiên bản 2.4
Bước 1. Cài đặt hệ điều hành CentOS 6.5
Hình 3.2. Cài đặt hệ điều hành CentOS 6.5 trên máy ảo
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 26
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 2. Đăng nhập vào CentOS với User: root và Password: 123456
Hình 3.3. Giao diện đăng nhập vào CentOS 6.5
Bước 3. Cài đặt Repo trên máy ảo CentOS 6.5
Tùy theo phiên bản CentOS 64bit hay 32bit mà mình chọn lựa gói cho phù hợp
với thông số hệ điều hành.
Ở đây bản CentOS là bản 64bit.
rpm-Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-
8.noarch.rpm
Hình 3.4. Cài đặt Repo trên CentOS 6.5
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 27
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 4. Cài đặt Apache cho máy chủ
yum install httpd httpd-devel -y
Hình 3.5. Cài đặt Apache cho máy chủ
Bước 5. Cài đặt cơ sở dữ liệu MySQL-Server
Hình 3.6. Cài đặt MySQL Server
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 28
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 6. Cài đặt PHP
yum install php php-cli php-common php-devel php-pear php-gd php-mbstring
php-mysql php-xml -y
Hình 3.7. Cài đặt PHP
Bước 7. Cài đặt Repo cho Zabbix 2.4
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-
1.el6.noarch.rpm
Hình 3.8. Cài đặt Repo cho Zabbix 2.4
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 29
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 8. Cài đặt Zabbix cùng với MySQL
Ở bước này chúng ta có thể lựa chọn cài từ Source hoặc từ Pakages.
Để cài từ Source thì cần phải chọn đúng với hệ điều hành và phiên bản có hỗ trợ
đầy đủ để tải về từ trang web chính thức của Zabbix.
Hình 3.9. Chọn phiên bản phù hợp nếu cài từ Source trên website của Zabbix
Để cài từ Pakages ta dùng lệnh:
yum install zabbix-server-mysql zabbix-web-mysql -y
Hình 3.10. Cài Zabbix từ Pakages
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 30
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 9. Cài đặt Zabbix Agent
Cài đặt Zabbix Agent dùng để quản lý thông tin của chính máy chủ.
yum install zabbix-agent -y
Hình 3.11. Cài đặt Zabbix Agent để quản lý thông tin của máy chủ
Bước 10. Cấu hình Zabbix Agent cho Server
vi /etc/zabbix/zabbix_agentd.conf
Cấu hình địa chủ IP của Server để Agent có thể gửi thông tin đến máy chủ.
Hình 3.12. Cấu hình địa chỉ máy chủ cho Agent
Bước 11. Cấu hình lại thời gian cho Zabbix
ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime
vi /etc/httpd/conf.d/zabbix.conf
Hình 3.13. Cấu hình lại thời gian cho Zabbix
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 31
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 12. Cấu hình Database cho Zabbix
Mysql –u root -p
mysql> CREATE DATABASE zabbix CHARACTER SET UTF8;
mysql> GRANT ALL PRIVILEGES on zabbix.* to ‘zabbix’@’localhost’
IDENTIFIED BY ‘123456‘;
mysql> FLUSH PRIVILEGES;
mysql> quit
Bước 13: Import các Database mặc định của Zabbix
cd /usr/share/doc/zabbix-server-mysql-2.4.7/create/
mysql -u root zabbix < schema.sql
mysql -u root zabbix < images.sql
mysql -u root zabbix < data.sql
Hình 3.14. Import các Database mặc định của Zabbix
Bước 14. Cấu hình cho Zabbix Server
vi /etc/zabbix/zabbix_server.conf
Hình 3.15. Cấu hình các thông số cho Zabbix Server
Bước 15. Khởi động Zabbix Server
- Cấu hình lại tường lửa hoặc có thể tắt tường lửa
service iptables stop
- Khởi động dịch vụ Httpd:
/etc/init.d/httpd start
- Khởi động cơ sở dữ liệu MySQL
/etc/init.d/mysqld start
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 32
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Khởi động Zabbix Agent để quản lý tài nguyên máy chủ
/etc/init.d/zabbix-agent start
- Khởi động Zabbix Server
/etc/init.d/zabbix-server start
Bước 16. Tiếp tục các bước cài đặt trên giao diện Web
Giao diện cài đặt của Zabbix 2.4.
Hình 3.16. Giao diện cài đặt của Zabbix 2.4
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 33
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Kiếm tra cấu hình của Zabbix, nếu sai buộc chúng ta phải cấu hình lại.
Hình 3.17. Giao diện kiểm tra các cấu hình của Zabbix
- Khai báo cơ sở dữ liệu và tên người dùng, mật khẩu.
Hình 3.18. Giao diện khai báo cở sở dữ liệu và tài khoản mật khẩu
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 34
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Khai báo địa chỉ, cổng và tên máy chủ Zabbix.
Hình 3.19. Giao diện khai báo ip, cổng và tên máy chủ
- Kiểm tra lại thông tin trước khi tiến hành cài đặt.
Hình 3.20. Giao diện kiểm tra lại thông tin trước khi cài đặt
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 35
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Sau khi cài đặt thành công.
Hình 3.21. Giao diện sau khi cài đặt thành công
- Giao diện đăng nhập của Zabbix Server 2.4
Hình 3.22. Giao diện đăng nhập của Zabbix 2.4
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 36
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Giao diện chính của Zabbix sau khi đăng nhập thành công
Hình 3.23. Giao diện sau khi đăng nhập thành công
3.2. Các chức năng cơ bản của Zabbix Server 2.4
- Trước hết phải bật Host trong cấu hình của Zabbix lên mới có thể tiếp nhận các
thông tin từ Agent.
Hình 3.24. Khởi động Zabbix Server để tiếp nhận các thông tin từ Agent
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 37
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Tải bộ xử lý (trung bình 1 phút trên mỗi lõi)
Tải bộ xử lý (trung bình 5 phút trên mỗi lõi)
Tải bộ xử lý (trung bình 15 phút trên mỗi lõi)
Kích hoạt: Tải bộ xử lý quá cao trên máy chủ Zabbix (> 5) Hình 3.25. Giao diện thông tin CPU của máy chủ
Bộ nhớ sẵn có
Hình 3.26. Giao diện thông tin RAM của máy chủ
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 38
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Các giá trị được xử lý bởi máy chủ Zabbix mỗi giây Hàng đợi Zabbix
Hình 3.27. Giao diện thông tin hiệu năng của máy chủ
3.3. Cấu hình Zabbix Agent để quản lý máy khách Windows
Hình 3.28. Cài đặt Zabbix Agent trên máy Windows
Như vậy là khi dịch vụ này được khởi động, máy chủ Zabbix có thể nhận được
các thông tin từ máy khách đã được cài đặt và cấu hình Zabbix Agent.
1. Giám sát máy Client Agent từ xa
- Đầu tiên ta xem địa chỉ IP của máy cần giám sát
Hình 3.29. Địa chỉ của máy cần giám sát
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 39
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Trên máy Zabbix Server ta vào Configuration -> Hosts
Hình 3.30. Giao diện Configuration của Zabbix Server
Tiếp theo ta sẽ tạo 1 host mới để giám sát
- Điền đầy đủ thông tin của máy cần giám sát như: Host Name, Group, IP
address,…..
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 40
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Vào tab Templates thêm những thuộc tính
Hình 3.31. Tạo thành công 1 host
- Việc tiếp nhận máy client đã thành công
Hình 3.32. Tiếp nhận máy Client của Zabbix Server
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 41
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Tải bộ xử lý (trung bình 1 phút trên mỗi lõi)
Tải bộ xử lý (trung bình 5 phút trên mỗi lõi)
Tải bộ xử lý (trung bình 15 phút trên mỗi lõi)
Kích hoạt: Tải bộ xử lý quá cao trên máy Zabbix Client (> 5) Hình 3.33. Giao diện thông tin CPU của máy trạm
Bộ nhớ trống
Thiếu bộ nhớ trống trên máy chủ Zabbix Client (<10000)
Hình 3.34. Giao diện thông tin RAM của máy trạm
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 42
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
- Giám sát Router, Switch (gói ICMP)
Thời gian đáp ứng ICMP
Thời gian đáp ứng quá cao trên cisco-sw1 (>0.15)
Hình 3.35. Giao diện thông tin ICMP giữa máy chủ và Router
3.4. Triển khai giám sát Webserver trên máy Zabbix Client
Bước 1. Tạo 1 ứng dụng trong user Zabbix Client
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 43
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Hình 3.36. Tạo ứng dụng trong user Zabbix Client
Bước 2. Đặt tên cho ứng dụng
Hình 3.37. Đặt tên cho ứng dụng
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 44
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 3. Tạo web cho máy Zabbix Client
Hình 3.38. Tạo web cho máy Zabbix Client
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 45
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Bước 4. Điền các thông tin để tạo một Web
- Vào mục Steps để thêm các chế độ quản lý
Hình 3.39. Điền các thông tin tạo Web
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 46
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Hình 3.40. Tạo xong web cho máy Zabbix Client
Bước 5. Tiến hành giám sát Monitoring Web
Hình 3.41. Giao diện giám sát Web của máy Zabbix Server
Tốc độ download speed của bước “thinh2” của kịch bản “web1”
Hình 3.42. Giao diện thông tin tốc độ Download của Web
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 47
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
Thời gian đáp ứng của bước “thinh2” của kịch bản “web1”
Hình 3.43. Giao diện thông tin Thời gian đáp ứng của Web
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 48
Giám sát hệ thống mạng bằng phần mềm Zabbix
GVHD: Ths. Đỗ Công Đức
KẾT LUẬN
1. Kết quả đạt được
- Phần mềm zabbix giám sát dựa trên cơ chế agent/server. với cơ chế này khả
năng giám sát toàn diện hơn nhờ có agent.
- Hệ thống có cấu trúc mở cho phép phát triển, tùy biến, tích hợp với các hệ
thống khác một cách linh hoạt, dễ dàng.
- Hệ thống cho phép giám sát trạng thái, các thong số thống khê của thiết bị cũng
như các dịch vụ theo thời gian.
- Tuy nhiên nhóm đã cố gắng hết sức chỉ dừng ở mức độ theo dõi, giám sát máy
chủ như giám sát tài nguyên máy, dung lượng traffic.
2. Ưu điểm - khuyết điểm
Ưu điểm
- Hiển thị tham số thống kê: CPU, RAM, không gian lưu trữ, các tiến trình, lưu
lượng trên các interface,.... của thiết bị theo thời gian, trực quan.
- Giám sát được hầu hết các thiết bị mạng, các ứng dụng dịch vụ (SMTP, POP3,
HTTP, FTP,....)
- Phát triển sự cố, phát triển tấn công nhanh chống đưa ra cảnh báo cho người
quản trị mạng.
Khuyết điểm:
- Cài đặt phức tạp, khó khăn.
3. Hướng phát triển
- Nghiên cứu sâu hơn về hệ thống giám sát mạng Zabbix và các công cụ hỗ trợ
giám sát mạng.
- Phát triển các chức năng trên Zabbix như: Chức năng cảnh báo thông qua SMS,
Mail,...
SVTH: Võ Tiến Thịnh – Lớp CCMM08A
Trang 49
TÀI LIỆU THAM KHẢO
Tài liệu Internet:
[1] Bộ tài liệu SNMP Toàn tập gồm 5 chương của tác giả Diệp Thanh Nguyên:
https://sites.google.com/site/snmptoantap
[2] Trang web chính thức của phần mềm Zabbix:
http://www.zabbix.com
[3] Hướng dẫn cài đặt phiên bản 2.4 của Zabbix:
https://www.zabbix.com/documentation/2.4
[4] Các phiên bản Zabbix cho các hệ điều hành tương ứng:
http://www.zabbix.com/download.php
[5] Một số thông tin về Zabbix của Wikipedia:
https://en.wikipedia.org/wiki/Zabbix
[6] Một số thông tin về Trung tâm Internet Việt Nam (VNNIC)
vii
http://vnnic.vn