Hình 2.9 Cho thấy các khối cơ sở hạ tầng Cacti:
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Người dùng (người quản trị mạng) làm việc với Cacti thông qua trình duyệt web (Browser). Với trình duyệt web, người quản trị có thể khai báo các loại thiết bị trong hệ thống mạng, thiết lập các thông số về tất cả các thiết bị cần giám sát, quản lý. Các dữ liệu quản trị sẽ được lưu trữ trong các bảng dữ liệu MySQL, kết quả các dữ liệu được minh họa hiển thị dưới dạng các sơ đồ.
Những thông tin mà Cacti thu thập được của người dùng thông qua các truy vấn được lưu trữ lại trong cơ sở dữ liệu MySQL để duy trì hoạt động cho những lần sau.
Từ yêu cầu của người dùng, Cacti sẽ xử lý các dữ liệu thông qua các truy vấn từ Poller. Poller liên tục lấy dữ liệu từ các thiết bị cần được giám sát như: Server, router, HDD, Ram….Các dữ liệu thu thập được sẽ được lưu trữ bằng cơ sở dữ liệu xoay vòng RRD. Cacti sẽ sử dụng những dữ liệu RRD để tổ hợp và biểu diễn dữ liệu dưới dạng đồ thị.
Các thành phần cài đặt chính để Cacti hoạt động là các gói phần mềm: RRDtool, MySQL, Webserver, PHP, Net-snmp.
RRDtool: là một cơ sở dữ liệu xoay vòng dùng để lưu lại dữ liệu thu thập được từ các truy vấn hỗ trợ cho việc xuất dữ liệu đồ họa.
MySQL: gói này được cài đặt giống như cơ sở dữ liệu riêng của Cacti để Cacti tùy ý sử dụng. Là cơ sở dữ liệu lưu lại dữ liệu về người dùng, mật khẩu.. vào kho MySQL.
Webserver: Cacti được xây dựng trên nền web nên bất kỳ web server hỗ trợ PHP cũng phải cài đặt để Cacti giao tiếp như Httpd của Apache hay của Microsoft được khuyên dùng vì tính năng ổn định và phổ biến.
PHP: Cacti được lập trình dựa trên ngôn ngữ PHP, do vậy muốn để Cacti hoạt động được trên hệ thống bắt buộc phải cài đặt gói PHP.
Net- snmp: gói phần mềm hỗ trợ việc sử dụng giao thức SNMP có thể được hoạt động trên IPv4, IPV6..
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 2.10 Các thành phần của hệ quản trị Cacti
Cacti là hệ quản trị mạng mã nguồn mở dựa trên nền Web, cung cấp các tính năng phong phú như biểu đồ nhúng, mẫu thiết bị, tích hợp và phát triển trên các phần mềm cơ bản (mysql, php, rrdtool, net-snmp). RRDtool, và net-snmp) dễ cài đặt và dễ dàng sử dụng các menu trong Cacti. Ngoài ra Cacti hỗ trợ thêm plugin sử dụng như một công cụ để nâng cao hiệu suất tổng thể của hệ thống cũng như các ứng dụng đặc thù. Điều này là không thể hoặc rất khó khăn đối với các hệ quản trị mạng thương mại.
2.3.2 Hoạt động của Cacti
Cacti là một phần mềm mã nguồn mở hỗ trợ việc giám sát các lưu lượng mạng qua các switch, router và lưu lượng các thiết bị kết nối trong mạng: nhiệt độ CPU, HDD, RAM… Hoạt động Cacti có thể được chia thành 3 nhiệm vụ chính như sau:
Hình 2.11 Hoạt động của của hệ quản trị Cacti + Thu thập dữ liệu
Nhiệm vụ đầu tiên là để lấy dữ liệu. Cacti sẽ thực hiện bằng cách sử dụng bộ quét thiết bị. Tần số quét có thể được thực hiện từ lịch của hệ điều hành.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Trong hệ thống mạng hiện tại, làm việc với rất nhiều thiết bị các loại khác nhau, ví dụ như máy chủ, thiết bị mạng…Để lấy dữ liệu từ mục tiêu ở xa, Cacti sẽ chủ yếu sử dụng SNMP. Do đó, tất cả các thiết bị có khả năng sử dụng giao thức SNMP đều có thể được quản trị và theo dõi bởi phần mềm Cacti.
+ Lưu trữ dữ liệu
Sau khi thu thập được dữ liệu, Để có thể tạo ra những đồ thị về trạng thái hoạt động của các thiết bị cần giám sát Cacti sử dụng RRDTool (Round Robin Database Tool) để lưu trữ dữ liệu. RRDTool là một hệ thống lưu trữ dữ liệu và hiển thị dữ liệu theo chuỗi thời gian. Nó lưu trữ các dữ liệu một cách rất nhỏ gọn mà độ lớn của tệp sẽ không thay đổi theo thời gian, dựa trên dữ liệu của RRDTool, RDDTool hỗ trợ trong hệ thống đồ họa, tạo ra các sơ đồ thể hiện dữ liệu mà nó thu thập được.
+ Trình bày dữ liệu
Một trong những tính năng được đánh giá cao nhất của RRDTool là tích hợp chức năng đồ họa. Điều này càng hữu ích khi kết hợp với máy chủ web.
Như vậy, dữ liệu được thể hiện qua các thông số của hệ thống và khoảng thời gian dữ liệu được thu thập. Hình ảnh của các dữ liệu này thường được minh họa thể hiện theo những cách rất khác nhau trên cơ sở đó người quản trị có thể đánh giá được ngưỡng của thiết bị.
RRDTool là một công cụ mạnh đóng vai trò rất quan trọng trong hệ thống quản trị mạng Cacti.
Trong cấu hình mặc định Cacti chỉ hỗ trợ 2 menu tính năng chính là Console và Graph. Trong đó, phần Console cho phép điều chỉnh các thông số như chọn thiết bị cần giám sát lưu lượng và hiển thị đồ thị lưu lượng trong phần Graph. Một đặc điểm quan trọng mà Cacti là cho phép tích hợp nhiều thành phần khác vào nó. Cacti có khả năng tích hợp thêm các chức năng của người sử
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
dụng (Plugin). Plugin là một dạng phần mềm có thể thêm các tính năng vào một ứng dụng có sẵn. Ứng dụng Plugin là khả năng tùy biến, thay đổi một cách linh hoạt sử dụng các trình duyệt web để thêm các công cụ tìm kiếm, diệt virus. Các plugin thường gặp là :Adobe Flash Player, java plugin. Đây là một đặc điềm quan trọng cho việc thực hiện ý tưởng trong luận văn này là tạo nên một hệ thống tích hợp hỗ trợ trong việc giám sát và quản lý hệ thống mạng.
2.3.3 Lƣu trữ và xử lý dữ liệu trong hệ thống quản trị mạng Cacti
Nhu cầu xây dựng hệ thống quản trị mạng cho phép giám sát theo thời gian thực cũng như phân tích tốc độ mạng cao là cần thiết. Để tăng độ chính xác của các phép đo lường, quản trị mạng thường làm tăng tần số lấy mẫu. Hậu quả của xu hướng này là hệ thống giám sát sản xuất một số lượng dữ liệu lớn cần được lưu trữ và phân tích trong thời gian rất ngắn. Cơ sở dữ liệu quan hệ không thích hợp cho việc lưu trữ và xử lý dữ liệu đo lường phục vụ quản trị mạng vì các lý do sau:
- Tại mỗi khoảng thời gian đo lường, các bảng sẽ cập nhập dữ liệu mới và như vậy làm tăng số bản ghi. Hậu quả là bảng dữ liệu cũng như các không gian thực được lưu trên đĩa tăng cùng với số phép đo.
- Ngay sau khi chỉ số bảng trở nên đủ lớn sẽ cản trở việc lưu trữ xuống RAM và việc lấy dữ liệu sẽ trở nên chậm chạp đáng kể, đặc biệt đối với các ứng dụng có dữ liệu ở phần đầu cơ sở dữ liệu. Để giải quyết những vấn đề này với cơ sở dữ liệu quan hệ, cơ sở dữ liệu chuỗi thời gian đã được tạo ra. Cơ sở dữ liệu xoay vòng (Round-Robin, Database) RRD là một bổ sung tuyệt vời để cơ sở dữ liệu quan hệ lưu trữ chuỗi thời gian. Nó thực hiện một bộ đệm quay vòng cố định dựa trên tệp tin, nơi dữ liệu được lưu trữ theo dấu thời gian của dữ liệu. Khi cơ sở dữ liệu được tạo ra, phải xác định thời gian tồn tại của dữ liệu cũng như các tần số (tên bước của RRD) dữ liệu được lưu trữ. Ví dụ, cứ 5 phút thực hiện một phép đo và lưu giá trị đo lâu nhất là 30 ngày. Hình 2.12 mô tả nguyên lý của một cơ sở dữ liệu RRD. Vì tất cả các thông tin được quy định tại thời điểm tạo cơ sở dữ liệu, các file RRD không phát triển theo thời gian, kích thước của chúng là tĩnh và bằng bộ đệm quay vòng của mỗi cơ sở dữ liệu RRD. Có thể lưu trữ nhiều chuỗi thời gian, không nhất thiết tất cả chia sẻ cùng thông số thời gian
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
và tần số. Thường cơ sở dữ liệu RRD có kích thước nhỏ (64 KB hoặc ít hơn) và được lưu trữ như các tập tin trên đĩa.
Các tập tin cơ sở dữ liệu có thể được thao tác bằng cách sử dụng công cụ dòng lệnh có tên rrdtool, (ví dụ như thông qua ngôn ngữ truy vấn) điển hình của cơ sở dữ liệu quan hệ. Từ các dữ liệu thu thập được trong RRD, người quản trị có thể thiết đặt để tính toán các giá trị AVERAGE, MIN, MAX, and LAST trong những khoảng thời gian nhất định và lưu vào cơ sở dữ liệu lưu trữ (Round Robin Archives) RRA.
Hình 2.12 Nguyên lý của cơ sở dữ liệu RRD (RRA)
Trong một hệ thống, có thể có nhiều cơ sở dữ liệu RRA, người quản trị có thể thiết đặt để tổ hợp giá trị AVERAGE, MIN, MAX, and LAST của các thông số trên mạng với các khoảng thời gian và số khoảng cho từng cơ sở dữ liệu lưu trữ RRA.
Cả hai rrdtool và thư viện librrdtool đã được thiết kế như là công cụ để có thể truy cập từ của sổ dòng lệnh do đó mọi thứ được quản lý tập trung.
Trong hệ quản trị mạng mã nguồn mở Cacti, ngoài việc sử dụng cơ sở dữ liệu RRD để lưu trữ dữ liệu thu thập và tổ hợp theo chuỗi thời gian, các nhà công nghệ còn phát triển cơ sở dữ liệu RRD để biểu diễn dữ liệu dưới dạng đồ thị. Hình 2.13 minh họa nguyên lý hiển thị kết quả các thông số mạng từ RRD.[6]
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 2.13 Biểu diễn đồ thị trong RRD.
Hệ thống giám sát mạng quy mô lớn yêu cầu lưu trữ và tổ hợp dữ liệu đo lường hiệu quả cơ sở dữ liệu quan hệ và cơ sở dữ liệu xoay vòng RRD. Có những hạn chế khi xử lý một lượng lớn số chuỗi thời gian. Thời gian truy cập dữ liệu làm tăng đáng kể khi tập số dữ liệu, số phép đo lường lớn. Chính vì vậy hệ thống quản trị và theo dõi mạng buộc phải giảm số các thông số đo lường số liệu và tần suất lấy thông số để thời gian truy cập dữ liệu giới hạn trong phạm vi chấp nhận được. Có thể khai thác giải pháp nén cơ sở dữ liệu chuỗi thời gian và cải tiến RRD để có thể lưu trữ và tổ hợp dữ liệu trong thời gian thực với mạng quy mô lớn. Tuy nhiên, các giải pháp cải tiến nhằm nâng cao hiệu năng quản trị nằm ngoài phạm vi nghiên cứu của đề tài luận văn.
2.4 Lựa chọn công cụ thử nghiệm
Hiện nay có rất nhiều mô hình và công cụ quản trị mạng, tuy nhiên để đánh giá một công cụ nào đó là tối ưu nhất thì phải xét trên nhiều khía cạnh cụ thể.
Để một công cụ quản trị mạng tối ưu nhất được sử dụng thì việc đầu tiên là tính năng thân thiện dễ sử dụng và dễ điều khiển, sau đó đến vấn đề bảo mật thông tin, tính hiệu quả kinh tế.
Tính năng thân thiện dễ sử dụng thì mô hình quản trị mạng tích hợp dựa trên nền web được đánh giá là dễ dùng nhất và thuận tiện nhất vì ở bất kỳ đâu trong hệ thống mạng cũng có thể truy nhập và điều khiển các chức năng mạng như đang ngồi tại máy quản trị mạng.
Hiệu quả kinh tế là phần mềm mã nguồn mở không tốn chi phí khi nâng cấp, cài đặt như các phần mềm khác.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Có thể nói trên thế giới hiện nay có rất nhiều thiết bị mạng cũng như các phần mềm hỗ trợ sử dụng cho giao thức SNMP.
Bảng sau đây so sánh một số tính năng chủ yếu của một hệ mã nguồn đóng SolarWinds và hai hệ quản trị mạng mã nguồn mở được sử dụng rộng rãi nhất là Nagios và Cacti.
Các tiêu chí (Tính năng)
SolarWinds Nagios Cacti
Cài đặt, cấu hình
Cấu hình đơn giản, cài đặt nhanh chóng qua IIS.
Cài đặt phức tạp và tốn nhiều thời gian. Thường phải có phẩn mềm thêm cài đặt trên máy tính cần quản trị
Cài đặt đơn giản hơn Nagios, cấu hình qua giao diện Web. Sử dụng trực tiếp SNMPnet của Window hay Linux Khả năng mở
rộng Có khả năng mở rộng giám sát cho bất kì kích thước nào của hệ thống mạng Có khả năng giám sát cho những hệ thống lớn, giới hạn ở khoảng 100.000 node Có khả năng giám sát cho những hệ thống trung bình, giới hạn ở khoảng 10.000 node Quản lý tập trung.
Hỗ trợ theo dõi toàn bộ hệ thống một cách tập trung trực quan, chi tiết qua giao diện web
Hỗ trợ theo dõi toàn bộ hệ thống một cách tập trung
trực quan
Hỗ trợ theo dõi toàn bộ hệ thống một cách tập trung
trực quan Thông tin hiển
thị. Thông tin hiển thị tương đối rõ ràng, đầy đủ cho người quản trị.
Các thông tin hiển
thị vẫn còn hạn chế Các thông tin hiển thị chi tiết, có thể hiển thị kết quả dưới dạng đồ họa lấy từ RRD Độ ổn định khi hoạt động của công cụ. Hoạt động ổn định cho các hệ thống lớn đến rất lớn, không phụ thuộc vào kích cỡ của mạng Hoạt động ổn định khi giám sát những hệ thống mạng lớn. Hoạt động ổn định khi giám sát những hệ thống mạng trung bình. Tính chính xác.
Cung cấp thông tin chính xác cho người quản trị biết khi có sự cố xảy ra.
Cung cấp thông tin chính xác cho người quản trị biết khi có sự cố xảy ra.
Cung cấp thông tin chính xác cho người quản trị biết khi có sự cố xảy ra.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Khả năng giám sát với các loại thiết bị và dịch vụ. Có khả năng giám sát nhiều loại thiết bị mới hơn như Access Point… mà Nagios chưa làm được. Giám sát hầu hết các thiết bị và dịch vụ phổ biến Giám sát hầu hết các thiết bị phổ biến Khả năng cảnh báo SNMP, Orion NPM thu thập thông tin trong một cơ sở dữ liệu SQL và report lên giao diện web.
Cung cấp các cảnh báo cho người dùng thông qua Email, SMS, syslog.
Cung cấp các cảnh báo cho người dùng thông qua Email, SMS, nếu bổ sung PLUGIN.
Giao diện
quản lí. Cung cấp thông tin giám sát qua giao diện web rất trực quan.
Cung cấp thông tin giám sát qua giao diện web rất trực quan.
Cung cấp thông tin giám sát qua giao diện web rất trực quan. Bảo trì, sửa chữa. Đơn giản vì nó hỗ trợ cấu hình toàn bộ qua giao diện web.
Rất phức tạp vì Nagios không hỗ trợ cấu hình qua giao diện web.
Hỗ trợ cấu hình qua giao diện web. Chi phí đầu tư Phải đăng kí và trả
phí để sử dụng. Hoàn toàn miễn phí đối với phiên bản mã nguồn mở.
Hoàn toàn miễn phí đối với phiên bản mã nguồn mở.
Từ bảng trên cho ta thấy:
Mỗi phần mềm có thể phục vụ cho một hay nhiều hệ điều hành và có nhiều phiên bản với những ưu và nhược điểm khác nhau, có thể sử dụng để duy trì hệ thống mạng ổn định, hoạt động có hiệu quả, giảm thiểu các lỗi hệ thống. Người quản trị mạng có thể liên tục nắm bắt được tình hình hoạt động của các thiết bị, hiệu suất làm việc, băng thông sử dụng trên mạng và các thông số kỹ thuật khác...Do đó, để lựa chọn một phần mềm phù hợp nhằm thực hiện việc thử nghiệm trên mô hình quản trị mạng SNMP là rất khó khăn.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hệ quản trị mạng mã nguồn đóng (SolarWinds) có một số tính năng trội hơn so với Hệ quản trị mạng mã nguồn mở Nagios, Cacti nhưng phải đầu tư