Đồ án Giám sát hệ thống mạng bằng phần mềm Zabbix

pdf 57 trang thiennha21 14/04/2022 9301
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Giám sát hệ thống mạng bằng phần mềm Zabbix", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfdo_an_giam_sat_he_thong_mang_bang_phan_mem_zabbix.pdf

Nội dung text: Đồ án Giám sát hệ thống mạng bằng phần mềm Zabbix

  1. 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
  2. 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. Đà Nẵng, ngày 08 tháng 06 năm 2017 i
  3. 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 1.6.2. Bảo vệ thông tin liên lạc giữa Manager và Agent 15 ii
  4. 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 TÀI LIỆU THAM KHẢO vii iii
  5. 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 Hình 3.27. Giao diện thông tin hiệu năng của máy chủ 39 iv
  6. 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 Hình 3.43. Giao diện thông tin Thời gian đáp ứng của Web 48 v
  7. DANH MỤC BẢNG BIỂU Bảng 1.1. Các phương thức của SNMP 11 Bảng 2.1. Các yêu cầu để cài đặt phần mềm 24 vi
  8. 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
  9. 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: [2] Trang web chính thức của phần mềm Zabbix: [3] Một số thông tin về Zabbix của Wikipedia: SVTH: Võ Tiến Thịnh – Lớp CCMM08A Trang 2
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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 Phương thức Mô tả 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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 Large >1000 Linux 64 bit 6400 4GB InnoDB or PostgreSQL Very RedHat Intel Xeon Fast RAID10 MySQL >10000 large Enterprise 2xCPU 8GB InnoDB or PostgreSQL 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
  32. 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
  33. 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
  34. 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 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
  35. 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
  36. 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 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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: [2] Trang web chính thức của phần mềm Zabbix: [3] Hướng dẫn cài đặt phiên bản 2.4 của Zabbix: [4] Các phiên bản Zabbix cho các hệ điều hành tương ứng: [5] Một số thông tin về Zabbix của Wikipedia: [6] Một số thông tin về Trung tâm Internet Việt Nam (VNNIC) vii