TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ N ỘI
VIỆN CÔNG NGH Ệ THÔNG TIN & TRUYỀN THÔNG
BÁO CÁO Đề tài:
Sử dụng phần mềm Cacti để giám sát, quản trị một hệ thống mạng. ẫ n : ThS Bành Quỳnh Mai. Giảng viên hướ ng ng d ẫ Sinh viên th ự c hiện : Đào Tất Luân - 20071831
Nguyễn Lê Hải - 20071010 n thông và m ạ ng máy tính-K52. Lớ p : Truyề
Hà nộ nội 5/2011 Trang 1
MỤC LỤC CHƢƠNG 1: TỔNG TỔNG QUAN VỀ VỀ GIAO THỨ THỨ C SNMP .................................................... .......................... .................................................. ........................ 3 1.1/ Giám sát thiế thi ết bị bị mạng. ................................................................................................................. 3 1.2/ Hai 1.2/ Hai phƣơng thức thức giám sát Poll và Alert. ................................................... ......................... .................................................... ..................................... ........... 5 1.2.1. Phƣơng thức thức Poll................................................. ....................... .................................................... ................................................... ......................................... ................ 5 1.2.2. Phƣơng thức thức Alert. Alert. .................................................. ......................... ................................................... .................................................... ..................................... ........... 6 1.2.3. So sánh 2 phƣơng thức thức Poll và Alert Alert.................................................. ........................ .................................................... ..................................... ........... 6 1.3/ Giớ Giớ i thiệ thiệu giao thứ thức SNMP. .................................................... .......................... .................................................... ................................................... ............................ ... 8 1.3.1. Các phiên bả bản củ của SNMP. .................................................... .......................... ................................................... .................................................. ......................... 8 1.3.2. Thành phầ phần củ của hệ hệ thố thống sử sử dụng SNMP. .................................................. ........................ ................................................... ............................ ... 9 1.3.3. Các phƣơng Các phƣơng thức thức củ của SNMP ................................................................................................ 14 CHƢƠNG 2: GIỚI GIỚI THIỆ THIỆU VỀ VỀ CACTI CACTI ................................................. ....................... ................................................... ................................................ ....................... 16 2.1. Giớ Giớ i thiệ thiệu RRDtool RRDtool .................................................... .......................... .................................................... ................................................... ....................................... .............. 16 2.2. Giớ Giớ i thiệ thiệu về về Cacti ...................................................................................................................... 17 động củ 2.2.1. Hoạt Hoạt động của Cacti. Cacti. ................................................... .......................... ................................................... .................................................... ............................... ..... 17 2.2.2. Cài đặt đặt Cacti (trên (trên Ubuntu).............................. Ubuntu).............................. ................................................... .......................... ........................................... .................. 18 2.2.3 Sử Sử dụng Cacti để quả quản lý mộ một số số thiế thiết bị bị ................................................................................ 26 CHƢƠNG 3: DANH MỤC MỤC TÀI LIỆ LIỆU THAM KHẢ KHẢO .......................................................................... 31
Trang 2
MỤC LỤC CHƢƠNG 1: TỔNG TỔNG QUAN VỀ VỀ GIAO THỨ THỨ C SNMP .................................................... .......................... .................................................. ........................ 3 1.1/ Giám sát thiế thi ết bị bị mạng. ................................................................................................................. 3 1.2/ Hai 1.2/ Hai phƣơng thức thức giám sát Poll và Alert. ................................................... ......................... .................................................... ..................................... ........... 5 1.2.1. Phƣơng thức thức Poll................................................. ....................... .................................................... ................................................... ......................................... ................ 5 1.2.2. Phƣơng thức thức Alert. Alert. .................................................. ......................... ................................................... .................................................... ..................................... ........... 6 1.2.3. So sánh 2 phƣơng thức thức Poll và Alert Alert.................................................. ........................ .................................................... ..................................... ........... 6 1.3/ Giớ Giớ i thiệ thiệu giao thứ thức SNMP. .................................................... .......................... .................................................... ................................................... ............................ ... 8 1.3.1. Các phiên bả bản củ của SNMP. .................................................... .......................... ................................................... .................................................. ......................... 8 1.3.2. Thành phầ phần củ của hệ hệ thố thống sử sử dụng SNMP. .................................................. ........................ ................................................... ............................ ... 9 1.3.3. Các phƣơng Các phƣơng thức thức củ của SNMP ................................................................................................ 14 CHƢƠNG 2: GIỚI GIỚI THIỆ THIỆU VỀ VỀ CACTI CACTI ................................................. ....................... ................................................... ................................................ ....................... 16 2.1. Giớ Giớ i thiệ thiệu RRDtool RRDtool .................................................... .......................... .................................................... ................................................... ....................................... .............. 16 2.2. Giớ Giớ i thiệ thiệu về về Cacti ...................................................................................................................... 17 động củ 2.2.1. Hoạt Hoạt động của Cacti. Cacti. ................................................... .......................... ................................................... .................................................... ............................... ..... 17 2.2.2. Cài đặt đặt Cacti (trên (trên Ubuntu).............................. Ubuntu).............................. ................................................... .......................... ........................................... .................. 18 2.2.3 Sử Sử dụng Cacti để quả quản lý mộ một số số thiế thiết bị bị ................................................................................ 26 CHƢƠNG 3: DANH MỤC MỤC TÀI LIỆ LIỆU THAM KHẢ KHẢO .......................................................................... 31
Trang 2
CHƢƠNG 1: TỔNG QUAN VỀ GIAO THỨ C SNMP 1.1/ Giám sát thi ết bị mạng. Mở đầ ở đầu, u, em sẽ sẽ đề cập đến đến 3 bài toán thuộ thuộc hàng phổ phổ biế biến nhấ nhất trong các ứng dụ d ụng của SNMP.
Bài toán thứ th ứ nh nhấất : Giám sát tài nguyên máy chủ ch ủ điều hành (HĐH) khác nhau. Làm thế + Giả Giả sử bạn có hàng ngàn máy chủ ch ủ chạ chạy các hệ hệ điều nào có thể thể giám sát tài nguyên củ c ủa tất cả c ả máy chủ chủ hàng ngày, hàng giờ giờ để để kịp thờ thờ i phát hiệ hiện các máy chủ chủ sắp bị quá tả tải ? Giám sát tài nguyên máy chủ ch ủ nghĩa là theo dõi tỷ lệ chiế chiếm dụng dụng CPU, dung lƣợ ng ng còn lạ lại củ của ổ cứng, tỷ tỷ lệ sử dụng bộ bộ nhớ nhớ RAM, RAM, …. + Bạn không thể thể kết nối vào từng từng máy để xem vì số số lƣợ ng ng máy nhiề nhiều và vì các HĐH khác nhau có cách thứ th ức kiể kiểm tra khác nhau. + Để giả giải quyế quyết vấn đề này bạ bạn có thể thể dùng mộ một ứng dụng SNMP giám sát đƣợ c máy ều HĐH khác nhau. Ứ ng chủ chủ, nó sẽ sẽ lấy đƣợ c thông tin từ từ nhi nhiều ng dụ dụng này có thể thể trông giố giống nhƣ hình dƣới đây :
Bài toán thứ th ứ hai : Giám sát lƣu lƣợ ng ng trên các port củ c ủa switch, router + Bạ Bạn có hàng ngàn thiế thiết bị bị mạng (network devices) củ c ủa nhiề nhiều hãng khác nhau, mỗ mỗi thiế thiết truyề n qua tấ bị có nhiề nhiều port. Làm thế thế nào để giám sát lƣu lƣợng đang truyền tất cả các port củ c ủa các thiế thiết bị bị suố suốt 24/24, kị kịp thờ thờ i phát hiệ hiện các port sắ sắp quá tả tải ? + Bạn Bạn cũng không thể kết nố nối vào từ từng thiế thiết bị bị để gõ lệ lệnh lấ lấy thông tin vì thiế thiết bị bị của các hãng khác nhau có lệ l ệnh khác nhau. Trang 3
+ Để giải quyết vấn đề này bạn có thể dùng một ứng dụng SNMP giám sát lƣu lƣợ ng, nó sẽ lấy đƣợ c thông tin lƣu lƣợng đang truyền qua các thiết bị của nhiều hãng khác nhau. Ứ ng dụng này có thể trông giống nhƣ hình dƣới đây :
Bài toán thứ ba : Hệ thống tự động cảnh báo sự cố tức thờ i + Bạn có hàng ngàn thiết bị mạng và chúng có thể gặp nhiều vấn đề trong quá trình hoạt động nhƣ : một port nào đó bị mất tín hiệu (port down), có ai đó đã cố kết nối (login) vào thiết bị nhƣng nhập sai username và password, thiết bị vừa mớ i bị khởi động lại (restart), … Làm thế nào để ngƣờ i quản trị biết đƣợ c sự kiện khi nó vừa mớ i xảy ra ? + Vấn đề này khác vớ i hai vấn đề ở trên. Ở trên là làm thế nào cập nhật liên tục một số thông tin nào đó (biết trƣớ c sẽ lấy cái gì), còn ở đây là làm thế nào biết đƣợ c cái gì xảy ra (chƣa biết cái gì sẽ đến). + Để giải quyết bài toán này bạn có thể dùng ứng dụng thu thập sự kiện (event) và cảnh báo (warning) bằng SNMP, nó sẽ nhận cảnh báo từ tất cả các thiết bị và hiện nó lên màn hình hoặc gửi email cho ngƣờ i quản trị. Ứ ng dụng này có thể trông giống nhƣ hình dƣớ i đây:
Trang 4
1.2/ Hai phƣơng thứ c giám sát Poll và Alert. Trƣớ c khi tìm hiểu SNMP, em muốn trình bày hai phƣơng thức giám sát Poll và Alert. Đây là 2 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 2 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 bạn 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 khác.
1.2.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”.
Hình minh họa cơ chế Poll
Trang 5
1.2.2. Phƣơng thứ c 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”. Device chỉ gửi những thông báo mang tính sự kiện chứ không gửi những thông tin thƣờ ng xuyên thay đổi, nó cũng sẽ không gửi Alert nếu chẳng có sự kiện gì xảy ra. Chẳng hạn khi một port down/up thì Device sẽ gửi cảnh báo, còn tổng số byte truyền qua port đó sẽ không đƣợ c Device gửi đi vì đó là thông tin thƣờ ng xuyên thay đổi. Muốn lấy những thông tin thƣờ ng xuyên thay đổi thì Manager phải chủ động đi hỏi Device, tức là phải thực hiện phƣơng thức Poll. 1.2.3. So sánh 2 phƣơng thứ c Poll và Alert Hai phƣơng thức Poll và Alert là hoàn toàn khác nhau về cơ chế. Một ứng dụng giám sát có thể sử dụng Poll hoặc Alert, hoặc cả hai, tùy vào yêu cầu cụ thể trong thực tế. Bảng sau so sánh những điểm khác biệt của 2 phƣơng thức : Poll Có thể chủ động lấy những thông tin cần thiết từ các đối tƣợ ng mình quan tâm, không cần lấy những thông tin không cần thiết từ những nguồn không quan tâm. Có thể lập bảng trạng thái tất cả các thông tin của Device sau khi poll qua một lƣợ t các thông tin đó.Ví dụ Device có một port down và Manager đƣợ c khởi động sau đó, thì Manager sẽ biết đƣợc port đang down sau khi poll qua một lƣợ t tất cả các port. Trong trƣờ ng hợp đƣờ ng truyền giữa Manager và Device xảy ra gián đoạn và Device có sự thay đổi, thì Manager sẽ không thể cập nhật. Tuy nhiên khi đƣờ ng truyền thông suốt trở
Alert Tất cả những event xảy ra đều đƣợ c gửi về Manager. Manager phải có cơ chế lọc những event cần thiết, hoặc Device phải thiết lập đƣợc cơ chế chỉ gửi những event cần thiết. Nếu không có event gì xảy ra thì Manager không biết đƣợ c trạng thái của Device.Ví dụ Device có một port down và Manager đƣợ c khởi động sau đó,thì Manager sẽ không thể biết đƣợc port đang down. Khi đƣờ ng truyền gián đoạn và Device có sự thay đổi thì nó vẫn gửi Alert cho Manager, nhƣng Alert này sẽ không thể đến đƣợ c Manager. Sau đó mặc dù đƣờ ng truyền có thông Trang 6
lại thì Manager sẽ cập nhật đƣợ c thông tin mớ i nhất do nó luôn luôn poll định kỳ. Chỉ cần cài đặt tại Manager để trỏ đến tất cả các Device. Có thể dễ dàng thay đổi một Manager khác. Nếu tần suất poll thấp, thờ i gian chờ giữa 2 chu kỳ poll (polling interval) dài sẽ làm Manager chậm cập nhật các thay đổi của Device. Nghĩa là nếu thông tin Device đã thay đổi nhƣng vẫn chƣa đến lƣợ t poll kế tiếp thì Manager vẫn giữ những thông tin cũ. Có thể bỏ sót các sự kiện : khi Device có thay đổi, sau đó thay đổi trở lại nhƣ ban đầu trƣớc khi đến lƣợ t poll kế tiếp thì Manager sẽ không phát hiện đƣợ c.
suốt trở lại thì Manager vẫn không thể biết đƣợ c những gì đã xảy ra. Phải cài đặt tại từng Device để trỏ đến Manager. Khi thay đổi Manager thì phải cài đặt lại trên tất cả Device để trỏ về Manager mớ i. Ngay khi có sự kiện xảy ra thì Device sẽ gửi Alert đến Manager, do đó Manager luôn luôn có thông tin mớ i nhất tức thờ i.
Manager sẽ đƣợ c thông báo mỗi khi có sự kiện xảy ra ở Device, do đó Manager không bỏ sót bất kỳ sự kiện nào.
Poll hay Alert ?
Hai phƣơng thức Poll và Alert có điể m thuận lợ i và bất lợi ngƣợc nhau, do đó nhiều trƣờ ng hợ p ta nên sử dụng kết hợ p cả Poll lẫn Alert để đạt đƣợ c hiệu quả kết hợ p của cả hai. Các ví dụ ứng dụng cơ chế Poll & Alert : + Giao thức Syslog : mỗi khi có sự kiện xảy ra thì thiết bị sẽ gửi bản tin syslog đến Syslog Server. + Phần mềm NetworkView, giám sát tình trạng các server bằng cách ping liên tục. + Giao thức STP, phát hiện loop trong mạng bằng cách gửi nhận các gói BPDU và gửi bản tin Topology change mỗi khi phát hiện thay đổi. + Trong quản lý ngƣờ i ta luôn thực hiện song song chế độ kiểm tra và báo cáo, thƣờ ng xuyên kiểm tra để phát hiện vấn đề và báo cáo ngay khi xảy ra vấn đề.
Trang 7
1.3/ Giớ i thiệu giao thứ c SNMP. SNMP (Simple Network Management Protocol) là một tập hợ p các giao thức không chỉ cho phép kiểm tra nhằm đảm bảo các thiết bị mạng nhƣ router, switch hay server đang vận hành mà còn vận hành một cách tối ƣu, ngoài ra SNMP còn cho phép quản lý các thiết bị mạng từ xa. Ví dụ chúng ta có thể dùng SNMP để tắt một interface nào đó trên router của mình, theo dõi hoạt động của card Ethernet, hoặc kiểm soát nhiệt độ trên switch và cảnh báo khi nhiệt độ quá cao. SNMP thƣờ ng tích hợp vào trong router, nhƣng khác vớ i SGMP( Simple Gateway Management Protocol) đƣợ c dùng chủ yếu cho các router Internet, SNMP có thể dùng để quản lý các hệ thống Unix, Window, máy in, nguồn điện… Nói chung, tất cả các thiết bị có thể chạy các phần mềm cho phép lấy đƣợc thông tin SNMP đều có thể quản lý đƣợ c. Không chỉ các thiết bị vật lý mớ i quản lý đƣợ c mà cả những phần mềm nhƣ web server, database.
1.3.1. Các phiên b ản của SNMP. + SNMP version 1: chuẩn của giao thức SNMP đƣợc định ngh ĩ a trong RFC 1157 và là một chuẩn đầy đủ của IETF. Vấn đề bảo mật của SNMP v1 dựa trên nguyên tắc cộng đồng, không có nhiều password, chuổi văn bản thuần và cho phép bất kỳ một ứng dụng nào đó dựa trên SNMP có thể hiểu các hiểu các chuổi này để có thể truy cập vào các thiết bị quản lý. Có 3 tiêu chuẩn trong: read-only, read-write và trap. + SNMP version 2: phiên bản này dựa trên các chuổi “community”. Do đó phiên bản này đƣợ c gọi là SNMPv2c, đƣợc định nghĩa trong RFC 1905, 1906, 1907, và đây chỉ là bản thử nghiệm của IETF. Mạc dù chỉ là thử nghiệm nhƣng nhiều nhà sản xuất đã đƣa nó vào thực nghiệm. + SNMP version 3: là phiên bản tiếp theo đƣợc IETF đƣa ra bản đầy đủ. Nó đƣợ c khuyến nghị làm bản chuẩn, đƣợc định nghĩa trong RFC 1905, RFC 1906, RFC 1907, RFC 2571, RFC 2572, RFC 2573, RFC 2574 và RFC 2575. Nó hổ trợ các loại truyền thông riêng tƣ và có xác nhận giữa các thực thể. 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.
Trang 8
1.3.2. Thành phần của hệ thống sử dụng SNMP. Theo RFC1157, kiến trúc của SNMP bao gồm 2 thành phần : các trạm quản lý mạng (network management station) và các thành tố mạng (network element) Network management station: thƣờ ng là một máy tính chạy phần mềm quản lý SNMP (SNMP Manag ement application), dùng để giám sát và điều khiển tập trung các network element.
Hệ thống sử dụng SNMP
Network element : là các thiết bị, máy tính, hoặc phần mềm tƣơng thích SNMP và đƣợ c quản lý bởi network management station. Nhƣ vậy element bao gồm device, host và application. Một management station có thể quản lý nhiều element, một element cũng có thể đƣợ c quản lý bở i nhiều management station. Vậy nếu một element đƣợ c quản lý bở i 2 station thì điều gì sẽ xảy ra ? Nếu station lấy thông tin từ element thì cả 2 station sẽ có thông tin giống nhau. Nếu 2 station tác động đến cùng một element thì element sẽ đáp ứng cả 2 tác động theo thứ tự cái nào đến trƣớ c. Ngoài ra còn có khái niệm SNMP agent. SNMP agent là một tiến trình (process) chạy trên network element, có nhiệm vụ cung cấp thông tin của element cho station, nhờ đó station có thể quản lý đƣợ c element. Chính xác hơn là application chạ y trên station và agent chạy trên element mớ i là 2 tiến trình SNMP trực tiếp liên hệ vớ i nhau. Các ví dụ minh họa sau đây sẽ làm rõ hơn các khái niệm này : + Để dùng một máy chủ (= station) quản lý các máy con (= element) chạy HĐH Windows thông qua SNMP thì bạn phải: cài đặt một phần mềm quản lý SNMP (= application) trên máy chủ, bật SNMP service (= agent) trên máy con.
Trang 9
+ Để dùng một máy chủ (= station) giám sát lƣu lƣợ ng của một router (= element) thì bạn phải: cài phần mềm quản lý SNMP (= application) trên máy chủ, bật tính năng SNMP (= agent) trên router.
a/ Object ID Một thiết bị hỗ trợ SNMP có thể cung cấp nhiều thông tin khác nhau, mỗi thông tin đó gọi là một object.Ví dụ : + Máy tính có thể cung cấp các thông tin: tổng số ổ cứng, tổng số port nối mạng, tổng số byte đã truyền/nhận, tên máy tính, tên các process đang chạy, …. + Router có thể cung cấp các thông tin: tổng số card, tổng số port, tổng số byte đã truyền/nhận, tên router, tình trạng các port của router, …. Mỗi object có một tên gọi và một mã số để nhận dạng object đó, mã số gọi là Object ID (OID). VD : + Tên thiết bị đƣợ c gọi là sysName, OID là 1.3.6.1.2.1.1.5 + Tổng số port giao tiếp (interface) đƣợ c gọi là ifNumber, OID là 1.3.6.1.2.1.2.1. + Địa chỉ Mac Address của một port đƣợ c gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6. + Số byte đã nhận trên một port đƣợ c gọi là ifInOctets, OID là 1.3.6.1.2.1.2.2.1.10. Một object chỉ có một OID, chẳng hạn tên của thiết bị là một object. Tuy nhiên nếu một thiết bị lại có nhiều tên thì làm thế nào để phân biệt ? Lúc này ngƣờ i ta dùng thêm 1 chỉ số gọi là “scalar instance index” (cũng có thể gọi là “sub-id”) đặt ngay sau OID. Ví dụ : Trang 10
+ Tên thiết bị đƣợ c gọi là sysName, OID là 1.3.6.1.2.1.1.5; nếu thiết bị có 2 tên thì chúng sẽ đƣợ c gọi là sysName.0 & sysName.1 và có OID lần lƣợ t là 1.3.6.1.2.1.1.5.0 & 1.3.6.1.2.1.1.5.1. + Địa chỉ Mac address đƣợ c gọi là ifPhysAddress, OID là 1.3.6.1.2.1.2.2.1.6; nếu thiết bị có 2 mac address thì chúng sẽ đƣợ c gọi là ifPhysAddress.0 & ifPhysAddress.1 và có OID lần lƣợ t là 1.3.6.1.2.1.2.2.1.6.0 & 1.3.6.1.2.1.2.2.1.6.1. + Tổng số port đƣợ c gọi là ifNumber, giá trị này chỉ có 1 (duy nhất) nên OID của nó không có phân cấp con và vẫn là 1.3.6.1.2.1.2.1. Sub-id không nhất thiết phải liên tục hay bắt đầu từ 0. Ví dụ một thiết bị có 2 mac address thì có thể chúng đƣợ c gọi là ifPhysAddress.23 và ifPhysAddress.125645. OID của các object phổ biến có thể đƣợ c chuẩn hóa, OID của các object do bạn tạo ra thì bạn phải tự mô tả chúng. Để lấy một thông tin có OID đã chuẩn hóa thì SNMP application phải gửi một bản tin SNMP có chứa OID của object đó cho SNMP agent, SNMP agent khi nhận đƣợ c thì nó phải trả lờ i bằng thông tin ứng với OID đó. Ví dụ : Muốn lấy tên của một PC chạy Windows, tên của một PC chạy Linux hoặc tên của một router thì SNMP application chỉ cần gửi bản tin có chứa OID là 1.3.6.1.2.1.1.5.0. Khi SNMP agent chạy trên PC Windows, PC Linux hay router nhận đƣợ c bản tin có chứa OID 1.3.6.1.2.1.1.5.0, agent lập tức hiểu rằng đây là bản tin hỏi sysName.0, và agent sẽ trả lờ i bằng tên của hệ thống. Nếu SNMP agent nhận đƣợ c một OID mà nó không hiểu (không hỗ trợ ) thì nó sẽ không trả lờ i.
Trang 11
Một trong các ƣu điểm của SNMP là nó đƣợ c thiết kế để chạy độc lập vớ i các thiết bị khác nhau. Chính nhờ việc chuẩn hóa OID mà ta có thể dùng một SNMP application để lấy thông tin các loại device của các hãng khác nhau.
b/ Object access Mỗi object có quyền truy cập là READ_ONLY hoặc READ_WRITE. Mọi object đều có thể đọc đƣợc nhƣng chỉ những object có quyền READ_WRITE mớ i có thể thay đổi đƣợ c giá trị. Ví dụ: Tên của một thiết bị (sysName) là READ_WRITE, ta có thể thay đổi tên của thiết bị thông qua giao thức SNMP. Tổng số port của thiết bị (ifNumber) là READ_ONLY, dĩ nhiên ta không thể thay đổi số port của nó.
c/ Management Information Base MIB (cơ sở thông tin quản lý) là một cấu trúc dữ liệu gồm các đối tƣợng đƣợ c quản lý (managed object), đƣợ c dùng cho việc quản lý các thiết bị chạy trên nền TCP/IP. MIB là kiến trúc chung mà các giao thức quản lý trên TCP/IP nên tuân theo, trong đó có SNMP. MIB đƣợ c thể hiện thành 1 file (MIB file), và có thể biểu diễn thành 1 cây (MIB tree). MIB có thể đƣợ c chuẩn hóa hoặc tự tạo.
Hình minh họa MIB tree Trang 12
Một node trong cây là một object, có thể đƣợ c gọi bằng tên hoặc id. Ví dụ : + Node iso.org.dod.internet.mgmt.mib-2.system có OID là 1.3.6.1.2.1.1, chứa tất cả các object lien quan đến thông tin của một hệ thống nhƣ tên của thiết bị (iso.org.dod.internet.mgmt.mib-2.system.sysName hay 1.3.6.1.2.1.1.5). + Các OID của các hãng tự thiết kế nằm dƣớ i iso.org.dod.internet.private.enterprise. Ví dụ : Cisco nằm dƣớ i iso.org.dod.internet.private.enterprise.cisco hay 1.3.6.1.4.1.9, Microsoft nằm dƣớ i iso.org.dod.internet.private.enterprise.microsoft hay 1.3.6.1.4.1.311. Số 9 (Cisco) hay 311 (Microsoft) là số dành riêng cho các công ty do IANA cấp 5. Nếu Cisco hay Microsoft chế tạo ra một thiết bị nào đó, thì thiết bị này có thể hỗ trợ các MIB chuẩn đã đƣợc định nghĩa sẵn (nhƣ mib-2) hay hỗ trợ MIB đƣợ c thiết kế riêng. Các MIB đƣợ c công ty nào thiết kế riêng thì phải nằm bên dƣớ i OID của công ty đó. Các objectID trong MIB đƣợ c sắp xếp thứ tự nhƣng không phải là liên tục, khi biết một OID thì không chắc chắn có thể xác định đƣợ c OID tiếp theo trong MIB. Ví dụ trong chuẩn mib-2 thì object ifSpecific và object atIfIndex nằm kề nhau nhƣng OID lần lƣợ t là 1.3.6.1.2.1.2.2.1.22 và 1.3.6.1.2.1.3.1.1.1. Muốn hiểu đƣợ c một OID nào đó thì bạn cần có file MIB mô tả OID đó. Một MIB file không nhất thiết phải chứa toàn bộ cây ở trên mà có thể chỉ chứa mô tả cho một nhánh con. Bất cứ nhánh con nào và tất cả lá của nó đều có thể gọi là một mib. Một manager có thể quản lý đƣợ c một device chỉ khi ứng dụng SNMP manager và ứng dụng SNMP agent cùng hỗ trợ một MIB. Các ứng dụng này cũng có thể hỗ trợ cùng lúc nhiều MIB.
Trang 13
1.3.3. 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 :
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 giá trị cho object nào. OID trong Trap chỉ ra nó báo sự kiện xảy ra đối vớ i object nào.
Trang 14
a/ 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 Device 1 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.
b/ 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.
c/ 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à 2 Chỉ những object có quyền READ_WRITE mớ i có thể thay đổi đƣợ c giá trị.
d/ 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 đó.
Trang 15
e/ 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. Đố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.
CHƢƠNG 2: GIỚ I THIỆU VỀ CACTI 2.1. Giớ i thiệu RRDtool RRDtool (round-robin database tool) là một hệ thống ghi và vẽ dữ liệu hiệu năng cao, đƣợ c thiết kết để xử lý dƣ liệu theo chuỗi thời gian, nhƣ là băng thông, nhiệt độ phòng, CPU load, server load, và để giám sát các thiết bị nhƣ là router, UPS, vv. là một giải pháp mã nguồn mở. Nó cho phép ngƣờ i quản trị ghi và phân tích dữ liệu thu thập đƣợ c từ tất cả các nguồn dữ liệu.Việc phân tích dữ liệu của RRDtool phụ thuộc vào khả năng tạo ra các đồ thị hiển thị các giá trị thu thập đƣợ c trong một khoảng thời gian định kì. RRDtool đƣợ c viết bở i ngôn ngữ C và lƣu trữ dữ liệu của nó trong file .rrd. Số lƣợ ng bản ghi trong một file .rrd đơn k hông bao giờ tăng, nghĩa là các bản ghi cũ sẽ thƣờng xuyên đƣợ c loại bỏ. Các bƣớ c trong quá trình hoạt động của RRDTool:
Trang 16
+ Thu thập dữ liệu : Dữ liệu thu thập đƣợ c trong một khoảng thờ i gian cố đinh sẽ đƣợc lƣu trong một cơ sở dữ liệu vòng. + Hợ p nhất dữ liệu: Việc quản lý dữ liệu của nhiều thiết trong một khoảng thờ i gian lớ n (ví dụ một tháng) sẽ gây khó khăn cho ngƣờ i quản trị. RRDTool cung cấp cho ngƣờ i quản trị một số hàm chức năng : xác định max, min, average của dữ liệu. + Lƣu trữ vòng dữ liệu hợ p nhất. + Dữ liệu chƣa biết : Khi dữ liệu không tồn tại do thiết bị hỏng hoặc nguyên nhân khác, RRDTool sẽ lƣu trữ file rrd vớ i giá trị dữ liệu *UNKNOWN*. + Vẽ đồ thị : Cho phép ngƣờ i quản trị tạo ra các báo cáo ở dạng đồ thị dựa trên dữ liệu đƣợ c lƣu trữ trong cơ sở dữ liệu.
2.2. Giớ i thiệu về Cacti Cacti là một công cụ mã nguồn mở , giám sát mạng và tạo biểu đồ đƣợ c viết băng php/mysql. Nó sử dụng RRDTook engine để lƣu trữ dữ liệu,tạo đồ thị, và thu thập các dữ liệu định kì thông qua NET-SNMP (Một bộ phần mềm sử dụng và thực thi giao thức SNMP).
2.2.1. Hoạt động của Cacti.
Hoạt động của Cacti gồm 3 tác vụ : + Truy hồi dữ liêu (data retrieval ) : Cacti truy hồi dữ liêu thông qua poller và sử dụng SNMP để truy hồi dữ liệu các thiết bị từ xa (Các thiêt bị này phải hỗ trợ SNMP). + Lƣu trữ dữ liệu (data storage) : sử dụng RRDTool để lƣu trữ dữ liệu + Hiển thị dữ liêu (data presentation) : Cacti sẽ sử dụng chức năng tạo đồ thị để thực thi báo cáo dựa trên dữ liệu chuỗi thờ i gian thu thập đƣợ c từ các thiết bị ở xa. Trang 17
2.2.2. Cài đặt Cacti (trên Ubuntu) Ta cần cài đặt một số gói sau trƣớc khi cài đặt Cacti: + RRDTool1.0.49 or higher. + NET-SNMP. + MySQL4.1.x or higher. + PHP 4.3.6 or higher. + Apache/IIS or any other web server.
Apache $ apt-get install apache2
PHP $ apt-get install php5 libapache2-mod-php5
Trang 18
Vào thƣ mục /var/www tạo file info.php (để kiểm tra các gói trên đã cài thành công hay chƣa) nhƣ sau:
MySQL $ apt-get install mysql-server-5.0 php5-mysql
Sau đó tạo passwork mớ i cho tài khoản “root” (mặc định ban đầu là trống) :
Trang 19
Net-SNMP $ apt-get install snmp php5-snmp $ apt-get install snmpd php5-snmp
RRDTool $ apt-get intall rrdtool Sau đó khởi động lại Apache2 Server bằng lệnh: $/etc/init.d/apache2 restart.
Sau khi cài đặt các gói yêu cầu nhƣ trên để kiểm tra việc cài đặt đã thành công hay chƣa ta gõ vào thanh URL địa chỉ sau: http://localhost/info.php Kết quả:
Trang 20
Tiến hành cài đặt Cacti sau khi đã cài thành công các gói trên: $ apt-get install cacti
Trang 21
Điền passwork cho database’s administrative user:
Lựa chọn Webserver là Apache2:
Trang 22
Gõ địa chỉ sau vào thanh URL để hoàn tất việc cài đặt Cacti: http://localhost/cacti
Kết quả:
Trang 23
Ấn Finish để hoàn thành việc cài đặt.
Trang 24
Màn hình đăng nhập:
Sau khi đăng nhập thành công giao diện chƣơng trình sẽ nhƣ sau:
Nhƣ vậy việc cài đặt đã thành công!
Trang 25
2.2.3 Sử dụng Cacti để quản lý một số thiết bị a/ Topo quản trị:
Trong đó : + localhost đƣợc cài đặt Cacti (phần mềm quản lý SNMP). + các thiệt bị còn lại đƣợ c bật SNMP service và đƣợ c quản lý bở i localhost
b/ Add Devices trong Cacti:
Trang 26
c/ Cài đặt các Plugin trong Cacti:
d/ Đồ thị: Các thông tin về bộ nhớ, CPU, ngƣời dùng đăng nhập, lƣu lƣợ ng vào ra trên các cổng của Router…đƣợ c biểu diễn dƣớ i dạng các đồ thị nhƣ sau:
Trang 27
Có thể xem trực tiếp các thông tin cần xử lý trên các devices thông qua Realtime:
Trang 28
e/ Gử i cảnh báo tớ i Mail: *)Postfix và mailutils để cấu hình mail cảnh báo về hòm thƣ của admin trên server. +)Cài đặt Postfix và mailutils: $apt-get install postfix (Trong quá trình cài đặt nó sẽ hỏi server name, ta đặt là localhost) $apt-get install mailutils +)Sau khi cài đặt xong 2 gói, ta vào giao diện cacti, vào phần setting chỉnh Mail/DNS: cổng gửi là SMTP 25, server localhost, ngƣờ i gửi là system@localhost, ngƣờ i nhận là luandt@localhost.
Trang 29
+)Chỉnh Email của admin để các cảnh báo của thold và nectar gửi tới đó, ở đây admin email là luandt@localhost, chỉnh ở trong admin của user management:
*)Các thông tin đồ thị đƣợ c gửi định kì tớ i Mail quản trị hàng ngày thông qua Nectar:
Khi có một sự kiện bất thƣờ ng xảy ra (thiết bị up/down , ngƣời dung đăng nhập sai, CPU, bộ nhớ sử dụng quá ngƣỡng cho phép….)trên các devices nó cũng sẽ gửi cảnh báo đến Mail quản trị qua thold: Trang 30